# Strava

## Strava – Connector Configuration

### Step 1: Create a Strava Account & Access API Settings

* Sign in to your Strava account at [Strava](https://www.strava.com/)
* Navigate to [Strava API Settings](https://www.strava.com/settings/api)
* You need an existing Strava athlete account to create API applications

> ⚠️ **Note**: API applications are tied to your Strava athlete account.

***

### Step 2: Create Your API Application

1. **Create a new application**:
   * Click **"Create & Manage Your App"**
   * Fill in the application details:
     * **Application Name** (e.g., "My Fitness Integration")
     * **Category** - Select the most appropriate category for your app
     * **Club** - Optional, select a club if applicable
     * **Website** - Your application's website URL
     * **Application Description** - Describe what your integration does
2. **Application Icon**:
   * Upload an icon for your application (optional but recommended)
   * Supported formats: PNG, JPG (recommended size: 124x124 pixels)

***

### Step 3: Configure OAuth Settings

1. **Authorization Callback Domain**:
   * Enter your callback domain in the **"Authorization Callback Domain"** field
   * For Appmixer, use your API domain without the full path:

```
[YOUR_API_DOMAIN]
```

Example:

```
api.appmixer.com
```

2. **OAuth Redirect URI**:
   * Strava will construct the full callback URL
   * The complete redirect URI will be:

```http
https://[YOUR_API_DOMAIN]/auth/strava/callback
```

Example:

```http
https://api.appmixer.com/auth/strava/callback
```

***

### Step 4: Copy Your Credentials

After creating your application, you'll see your API credentials:

* **Client ID** - Your application's unique identifier
* **Client Secret** - Your application's secret key

⚠️ **Important**: Keep your Client Secret secure and never expose it in client-side code!

***

### Step 5: Understand Strava Scopes

Strava uses the following OAuth scopes:

* **read** - Read public profile information
* **read\_all** - Read all profile information (including private activities)
* **profile:read\_all** - Read all profile information
* **profile:write** - Update profile information
* **activity:read** - Read public activities
* **activity:read\_all** - Read all activities (including private)
* **activity:write** - Create and update activities

> ⚠️ **Note**: Strava has strict guidelines about data usage. Ensure you comply with their [API Agreement](https://developers.strava.com/docs/getting-started/#account).

***

### Step 6: Connector Configuration

1. Go to the Appmixer BackOffice -> Configuration.
2. Add new configuration: `acme:strava`.
3. Add your `clientId` and `clientSecret` keys with values.

![alt text](https://802996127-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIAGKHlIqVKJe9agnFr14%2Fuploads%2Fgit-blob-9466fdb631b039ccdc5390d36a49b824edee9e2c%2Fstrava1.png?alt=media)

![alt text](https://802996127-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIAGKHlIqVKJe9agnFr14%2Fuploads%2Fgit-blob-5ba40443b2f3acb054a14c27a6d937a4962c2214%2Fstrava2.png?alt=media)

***

### Step 7: Rate Limits

**Rate Limits**:

* **Default**: 100 requests per 15 minutes, 1000 requests per day
* **Higher limits**: Available upon request for approved applications
* Rate limit headers are included in API responses

***

### Step 8: Going Live & App Review

**For Public Applications**:

1. **Submit for Review**:
   * Applications requesting higher rate limits need approval
   * Provide detailed information about your use case
   * Include screenshots and documentation
2. **Compliance Requirements**:
   * Follow Strava's [API Agreement](https://developers.strava.com/docs/getting-started/#account)
   * Implement proper data handling and privacy measures
   * Display Strava attribution where required

***

### Useful Links

* [Strava Developers Documentation](https://developers.strava.com/)
* [API Reference](https://developers.strava.com/docs/reference/)
* [OAuth Guide](https://developers.strava.com/docs/authentication/)
* [Webhook Documentation](https://developers.strava.com/docs/webhooks/)
* [Rate Limits](https://developers.strava.com/docs/rate-limits/)
* [API Agreement](https://developers.strava.com/docs/getting-started/#account)

***
