Endpoints at a glance
| Method | Path | Summary |
|---|---|---|
GET | /api/v1/integrations | List third-party integrations |
GET | /api/v1/integrations/{id} | Get a single integration |
POST | /api/v1/integrations/{id}/install | Install an integration |
POST | /api/v1/integrations/{id}/uninstall | Uninstall an integration |
GET | /api/v1/mcp-connections | List MCP connections (stub) |
GET | /api/v1/native-tools | List native tools (stub) |
Reference
GET /api/v1/integrations
List third-party integrations
Returns the catalog of third-party integrations (Stripe, Shopify, …) for this tenant. Includes per-category counts.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
category | query | string | No | Filter by category |
status | query | string | No | Filter by install status (available, installed) |
| Code | Description | Body |
|---|---|---|
200 | OK | object |
400 | Missing X-Account-ID header | string |
500 | Database error | string |
GET /api/v1/integrations/{id}
Get a single integration
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Integration id (uuid) or snake_case name |
| Code | Description | Body |
|---|---|---|
200 | OK | handlers.ThirdPartyIntegration |
404 | Integration not found | string |
500 | Database error | string |
POST /api/v1/integrations/{id}/install
Install an integration
Stores params (plaintext) and secrets (encrypted) supplied by the caller, then flips the integration row’s status to ‘installed’. Empty body installs without params.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Integration id (uuid) or name |
application/json)
Schema: handlers.InstallIntegrationRequest. Server-set fields (id, created_at, updated_at, …) are ignored if supplied; only the user-settable fields are shown below.
| Field | Type | Description |
|---|---|---|
params | object | e.g. {'api_version': '2024-09', 'region': 'us-east-1'} |
secrets | object | e.g. {'api_key': 'sk_live_...', 'webhook_secret': 'whsec_...'} |
| Code | Description | Body |
|---|---|---|
200 | OK | object |
404 | Integration not found | string |
500 | Database error | string |
503 | Secret encryption service unavailable | string |
POST /api/v1/integrations/{id}/uninstall
Uninstall an integration
Flips status back to ‘available’ and clears installed_at. Stored params/secrets are NOT purged.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Integration id (uuid) or name |
| Code | Description | Body |
|---|---|---|
200 | OK | object |
404 | Integration not found | string |
500 | Database error | string |
GET /api/v1/mcp-connections
List MCP connections (stub)
Returns an empty list — endpoint reserved for future use.
Responses
| Code | Description | Body |
|---|---|---|
200 | OK | object |
400 | Missing X-Account-ID header | string |
GET /api/v1/native-tools
List native tools (stub)
Returns an empty list — endpoint reserved for future use.
Responses
| Code | Description | Body |
|---|---|---|
200 | OK | object |
400 | Missing X-Account-ID header | string |

