Integrations
List and configure connected integrations via the API.
Endpoints for integrations under /api/v1/integrations. Any valid bearer API key is accepted (not limited to workspace scope). Session twins: GET|PATCH /api/integrations. Product behavior: Integrations and credentials.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/integrations | List integrations |
| PATCH | /api/v1/integrations | Update integration configuration |
OAuth start/callback are session-only (GET /api/integrations/oauth/start, /api/integrations/oauth/callback). They are not under /api/v1.
List integrations
GET /api/v1/integrations returns { integrations[] } — catalog rows for the API key workspace, including status (available | connected), credential pointers, and connectedCredentials[].
401 { "error": "Valid bearer API key is required" } without a token. Unknown integration key on PATCH: 400.
Connect or toggle
PATCH /api/v1/integrations connects, disconnects, or attaches a credential:
| Field | Type | Notes |
|---|---|---|
key | string | Required — the integration key (for example github, slack) |
connected | boolean | Required — desired connection state |
credentialName | string | Optional name for the created credential |
credentialValue | string | When connecting, the secret to store |
When connected is true and a credentialValue is supplied, the integration is connected with a
new or updated workspace credential and the response is { integration, credential } (maskedValue only).
Otherwise the call upserts the connection flag and returns { integration }. Multiple named credentials can share one key.
