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

# API-Schlüssel und Authentifizierung

> Erstelle einen API-Schlüssel und sende ihn als Header X-API-Key aus der REST API, der CLI oder dem MCP-Server. MCP-Clients können sich auch per OAuth (PKCE) verbinden.

## Authentifizierung per API-Schlüssel

Anfragen an die REST API verwenden einen API-Schlüssel, der im Header `X-API-Key` übergeben wird. MCP-Clients können einen API-Schlüssel oder eine vom Nutzer freigegebene OAuth-Anmeldung mit PKCE verwenden.

KI-Agenten können mit [Auth.md](https://so-me.studio/auth.md) starten: OAuth-Discovery, Client-Registrierung, Nutzerzustimmung, Token-Erneuerung und das Einrichten von CLI-API-Schlüsseln.

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

## API-Schlüssel erstellen

**1. Im Dashboard anmelden**

Gehe zu [Social media studio](https://so-me.studio/de) und melde dich an.

**2. API-Einstellungen öffnen**

Navigiere zu **Einstellungen** > Tab **API**.

**3. Neuen Schlüssel erstellen**

Klicke auf **Neuer API-Schlüssel** und vergib einen Namen.

**4. Zugriff festlegen**

Behalte **Vollzugriff** oder wähle **Eingeschränkt** und setze jede Ressource auf **Kein Zugriff**, **Lesen** oder **Lesen und schreiben**. Siehe [Scopes](#scopes).

**5. Schlüssel kopieren**

Klicke auf **Erstellen** und kopiere den Schlüssel.

> [!WARNING]
>
> Der vollständige Schlüssel wird nur einmal angezeigt. Bewahre ihn sicher auf. Wenn du ihn verlierst, widerrufe den Schlüssel und erstelle einen neuen.

## Berechtigungen

Nur **Inhaber** eines Workspace können API-Schlüssel erstellen, auflisten und widerrufen. Ein Schlüssel handelt im Namen des Workspace, in dem er erstellt wurde, und ist auf dessen Daten beschränkt. Wenn ein Inhaber den Workspace verlässt oder sich sein Zugriff ändert, widerrufe die von ihm erstellten Schlüssel und stelle sie neu aus.

## Scopes

Ein Schlüssel hat **Vollzugriff**, es sei denn, du vergibst beim Erstellen Scopes. Jeder Schlüssel, der vor der Einführung von Scopes erstellt wurde, behält den Vollzugriff.

Ein Schlüssel mit Scopes kann nur die Endpunkte aufrufen, die seine Scopes abdecken. Jeder andere Endpunkt liefert `403 Forbidden`, wobei der fehlende Scope in der Meldung steht.

* Ein `GET`-Endpunkt benötigt `<resource>:read`.
* Ein `POST`-, `PUT`-, `PATCH`- oder `DELETE`-Endpunkt benötigt `<resource>:write`.
* `<resource>:write` schließt `<resource>:read` ein.

| Ressource | Scopes | Endpunkte |
| - | - | - |
| `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` (siehe die Ausnahmen unten) |
| `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` |

Ausnahmen:

* `POST /v1/media/validate` benötigt nur `media:read`, weil es nichts verändert.
* `POST /v1/templates/{id}/render` benötigt nur `templates:read`.
* Diese Endpunkte erfordern einen Schlüssel mit Vollzugriff: `PATCH /v1/settings/profile`, alles unter `/v1/settings/api-keys` und alles unter `/v1/settings/tenants`. Ein Schlüssel mit Scopes kann keinen neuen Schlüssel erstellen und nicht auf andere Workspaces zugreifen.
* Der MCP-Server akzeptiert keine Schlüssel mit Scopes. Verwende einen Schlüssel mit Vollzugriff oder verbinde dich per OAuth.
* `teams:write` kann keine Inhaber einladen oder befördern. Nur ein Schlüssel mit Vollzugriff kann die Rolle `owner` vergeben.
* Ein Schlüssel mit Scopes kann nur die Webhook-Ereignisse abonnieren, auflisten und erneut senden, die er lesen darf. `inbox`-Ereignisse erfordern zum Beispiel `inbox:read`, und `post`-, `draft`- und `approval`-Ereignisse erfordern `posts:read`. Die Ereignisse `knowledge`, `organization`, `account`, `auth`, `api_key`, `integration`, `subscription`, `referral`, `mcp` und `quota` erfordern einen Schlüssel mit Vollzugriff.

Um über die API einen Schlüssel mit Scopes zu erstellen, sende `scopes` mit einem Schlüssel mit Vollzugriff an `POST /v1/settings/api-keys`:

```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"]}'
```

Lass `scopes` weg, um einen Schlüssel mit Vollzugriff zu erhalten. Die Scopes eines Schlüssels lassen sich nicht ändern. Widerrufe ihn und erstelle einen neuen.

## Deinen API-Schlüssel verwenden

### REST API

Übergib den Schlüssel im Header `X-API-Key`:

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

### MCP-Server

Der MCP-Server verwendet denselben API-Schlüssel. Er akzeptiert nur Schlüssel mit Vollzugriff. Übergib den Schlüssel im Header `X-API-Key` deiner MCP-Konfiguration:

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

## Tarifvoraussetzungen

Der Zugriff auf REST API, CLI und MCP ist in den Tarifen **Standard**, **Advanced** und **Lifetime** verfügbar. Der Tarif **Lite** enthält keinen API-, CLI- oder MCP-Zugriff.

| Tarif | API-Zugriff |
| - | - |
| Lite | Nein |
| Standard | Ja |
| Advanced | Ja |
| Lifetime | Ja |

Alle Details zu den Tarifen findest du in der [Abrechnungsübersicht](/de/billing/overview.md).

## Rate Limiting

API-Anfragen werden pro Workspace begrenzt; das genaue Limit hängt von deinem Tarif ab. Wenn du das Limit überschreitest, erhältst du eine Antwort `429 Too Many Requests` – warte, bis das Zeitfenster zurückgesetzt wird, und versuche es erneut.

MCP-Tool-Aufrufe verbrauchen außerdem Credits entsprechend deinem Tarif. Deine Nutzung siehst du unter **Einstellungen** > **API**; wie Credits funktionieren, erfährst du unter [KI-Credits](/de/get-started/ai-credits.md).

> [!NOTE]
>
> Höhere Tarife erhalten höhere Rate Limits und monatliche API-Kontingente. Die für deinen Tarif geltenden Limits findest du in der [Abrechnungsübersicht](/de/billing/overview.md).


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