# FitTrack Garmin Sync Backend This project provides a backend service for synchronizing fitness data from Garmin Connect. ## Getting Started ... ## Garmin Authentication To enable Garmin synchronization, you need to link your Garmin Connect account with this service. This is done via a dedicated login endpoint. ### 1. Link your Garmin Account Send a `POST` request to the `/api/garmin/login` endpoint with your Garmin Connect username (email) and password. **Endpoint**: `POST /api/garmin/login` **Request Body (JSON)**: ```json { "username": "your_garmin_email@example.com", "password": "your_garmin_password" } ``` **Example using `curl`**: ```bash curl -X POST \ http://localhost:8000/api/garmin/login \ -H 'Content-Type: application/json' \ -d { "username": "your_garmin_email@example.com", "password": "your_garmin_password" } ``` **Success Response (200 OK)**: ```json { "message": "Garmin account linked successfully." } ``` **Error Response (401 Unauthorized)**: ```json { "detail": "Invalid Garmin credentials provided." } ``` Upon successful login, your Garmin credentials and authentication tokens will be stored in the system. The system will handle token refreshes automatically to maintain continuous synchronization. ### 2. Subsequent Synchronization Once linked, other Garmin synchronization endpoints (e.g., for activities, health metrics) will automatically use the stored and refreshed credentials to access your Garmin data. **These subsequent synchronization calls do not require any additional authentication headers from the client.**