> ## Documentation Index
> Fetch the complete documentation index at: https://docs.so-me.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Clés d'API et authentification

> Créez une clé d'API et envoyez-la dans l'en-tête X-API-Key depuis l'API REST, la CLI ou le serveur MCP. Les clients MCP peuvent aussi se connecter avec OAuth (PKCE).

## Authentification par clé d'API

Les requêtes de l'API REST utilisent une clé d'API transmise dans l'en-tête `X-API-Key`. Les clients MCP peuvent utiliser une clé d'API ou un OAuth avec PKCE approuvé par l'utilisateur.

Les agents IA peuvent commencer par [Auth.md](https://so-me.studio/auth.md) pour la découverte OAuth, l'enregistrement du client, le consentement de l'utilisateur, l'actualisation des jetons et la création d'une clé d'API pour la CLI.

```bash theme={null}
X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
```

## Générer une clé d'API

**1. Connectez-vous à votre tableau de bord**

Rendez-vous sur [Social media studio](https://so-me.studio) et connectez-vous.

**2. Ouvrez les paramètres de l'API**

Allez dans **Paramètres** > onglet **API**.

**3. Créez une nouvelle clé**

Cliquez sur **Nouvelle clé API** et donnez-lui un nom.

**4. Choisissez l'accès**

Gardez **Accès complet**, ou sélectionnez **Restreint** et définissez chaque ressource sur **Aucun accès**, **Lecture** ou **Lecture et écriture**. Voir [Scopes](#scopes).

**5. Copiez la clé**

Cliquez sur **Créer** et copiez la clé.

> [!WARNING]
>
> La clé complète n'est affichée qu'une seule fois. Conservez-la en lieu sûr. Si vous la perdez, révoquez-la et créez-en une nouvelle.

## Autorisations

Seuls les **propriétaires** de l'espace de travail peuvent créer, lister et révoquer des clés d'API. Une clé agit au nom de l'espace de travail dans lequel elle a été créée, et uniquement sur les données de cet espace de travail. Si un propriétaire quitte l'espace de travail ou que ses accès changent, révoquez et recréez les clés qu'il avait créées.

## Scopes

Une clé a un **accès complet**, sauf si vous lui donnez des scopes lors de sa création. Toutes les clés créées avant l'existence des scopes conservent un accès complet.

Une clé limitée à certains scopes ne peut appeler que les endpoints couverts par ses scopes. Tout autre endpoint renvoie `403 Forbidden`, avec le scope manquant dans le message.

* Un endpoint `GET` exige `<resource>:read`.
* Un endpoint `POST`, `PUT`, `PATCH` ou `DELETE` exige `<resource>:write`.
* `<resource>:write` inclut `<resource>:read`.

| Ressource | Scopes | Endpoints |
| - | - | - |
| `accounts` | `accounts:read`, `accounts:write` | `/v1/accounts` |
| `posts` | `posts:read`, `posts:write` | `/v1/posts`, `/v1/drafts`, `/v1/approvals` |
| `media` | `media:read`, `media:write` | `/v1/media` |
| `analytics` | `analytics:read` | `/v1/analytics` |
| `inbox` | `inbox:read`, `inbox:write` | `/v1/inbox` |
| `ai` | `ai:read`, `ai:write` | `/v1/ai` |
| `biolinks` | `biolinks:read`, `biolinks:write` | `/v1/biolinks` |
| `teams` | `teams:read`, `teams:write` | `/v1/teams` |
| `settings` | `settings:read`, `settings:write` | `/v1/settings` (voir les exceptions ci-dessous) |
| `webhooks` | `webhooks:read`, `webhooks:write` | `/v1/webhooks` |
| `support` | `support:read`, `support:write` | `/v1/support` |
| `templates` | `templates:read` | `/v1/templates` |
| `whatsapp` | `whatsapp:read`, `whatsapp:write` | `/v1/whatsapp` |

Exceptions :

* `POST /v1/media/validate` n'exige que `media:read`, car il ne modifie rien.
* `POST /v1/templates/{id}/render` n'exige que `templates:read`.
* Ces endpoints exigent une clé à accès complet : `PATCH /v1/settings/profile`, tout `/v1/settings/api-keys` et tout `/v1/settings/tenants`. Une clé limitée à certains scopes ne peut ni créer de nouvelle clé ni accéder à d'autres espaces de travail.
* Le serveur MCP n'accepte pas les clés limitées à certains scopes. Utilisez une clé à accès complet ou connectez-vous avec OAuth.
* `teams:write` ne permet pas d'inviter ou de promouvoir des propriétaires. Seule une clé à accès complet peut attribuer le rôle `owner`.
* Une clé limitée à certains scopes ne peut s'abonner qu'aux événements webhook qu'elle peut lire, les lister et les relancer. Par exemple, les événements `inbox` exigent `inbox:read`, et les événements `post`, `draft` et `approval` exigent `posts:read`. Les événements `knowledge`, `organization`, `account`, `auth`, `api_key`, `integration`, `subscription`, `referral`, `mcp` et `quota` exigent une clé à accès complet.

Pour créer une clé limitée à certains scopes via l'API, envoyez `scopes` à `POST /v1/settings/api-keys` avec une clé à accès complet :

```bash theme={null}
curl https://api.so-me.studio/v1/settings/api-keys \
  -H "X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"name": "Zapier", "scopes": ["accounts:read", "posts:write", "media:write"]}'
```

Omettez `scopes` pour obtenir une clé à accès complet. Vous ne pouvez pas modifier les scopes d'une clé : révoquez-la et créez-en une nouvelle.

## Utiliser votre clé d'API

### API REST

Transmettez la clé dans l'en-tête `X-API-Key` :

```bash theme={null}
curl https://api.so-me.studio/v1/posts \
  -H "X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
```

### Serveur MCP

Le serveur MCP utilise la même clé d'API. Il n'accepte que les clés à accès complet. Transmettez la clé dans l'en-tête `X-API-Key` de votre configuration MCP :

```json theme={null}
{
  "mcpServers": {
    "so-me-studio": {
      "url": "https://api.so-me.studio/mcp",
      "headers": {
        "X-API-Key": "sk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}
```

## Forfaits requis

L'accès à l'API REST, à la CLI et au MCP est disponible avec les forfaits **Standard**, **Advanced** et **Lifetime**. Le forfait **Lite** n'inclut pas l'accès à l'API, à la CLI ni au MCP.

| Forfait | Accès à l'API |
| - | - |
| Lite | Non |
| Standard | Oui |
| Advanced | Oui |
| Lifetime | Oui |

Pour le détail complet des forfaits, consultez la [présentation de la facturation](/fr/billing/overview.md).

## Limitation de débit

Les requêtes API sont limitées par espace de travail, la limite exacte dépendant de votre forfait. Lorsque vous dépassez la limite, vous recevez une réponse `429 Too Many Requests` : attendez la réinitialisation de la fenêtre, puis réessayez.

Les appels d'outils MCP consomment également des crédits selon votre forfait. Consultez votre utilisation dans **Paramètres** > **API**, et reportez-vous à [Crédits IA](/fr/get-started/ai-credits.md) pour comprendre leur fonctionnement.

> [!NOTE]
>
> Les forfaits supérieurs bénéficient de limites de débit et de quotas d'utilisation mensuelle de l'API plus élevés. Consultez la [présentation de la facturation](/fr/billing/overview.md) pour les limites applicables à votre forfait.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.