# 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](/files/OwTVkZvktNBT48RS5aum)

![alt text](/files/aXNTuY6oydAJ7C4adfHG)

***

### 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)

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.appmixer.com/connector-configuration/strava.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
