Custom REST Connector¶
Connect a private HTTP API. Catalog id is custom-rest-api (webhooks and providerConfigKey on generate-webhook). Connect-session uses private-api-basic or private-api-bearer plus credentials. Sending integration: "custom-rest-api" or providerConfigKey: "custom-rest-api" on connect-session returns 400.
Base URL¶
Authentication¶
Required Scopes: connectors:read, connectors:write, connectors:sync
Connect with bearer token¶
POST /connect/integrations/connect-session
{
"providerConfigKey": "private-api-bearer",
"credentials": {
"bearerToken": "YOUR_API_TOKEN",
"authType": "BEARER_TOKEN"
},
"metadata": {
"connectionName": "Inventory API"
}
}
credentials.apiKeyValue or top-level password are also accepted as the token.
Connect with basic auth¶
{
"providerConfigKey": "private-api-basic",
"username": "api-user",
"password": "api-password",
"credentials": {
"authType": "BASIC"
},
"metadata": {
"connectionName": "Inventory API"
}
}
authType: "NONE" stores empty basic credentials.
Generate inbound webhook¶
POST /webhooks/api-connector/generate
{
"connectionId": "CONNECTION_ID",
"providerConfigKey": "custom-rest-api",
"organizationId": "ORG_ID"
}
Response: { "success", "webhookEndpoint", "apiKey", "connectionId", "providerConfigKey", "organizationId" }
Inbound POSTs go to /webhooks/api-connector/receive/{connectionId} with Authorization: Bearer <apiKey> from generate. Partners do not POST this URL with a service-actor token (live 401).
GET /webhooks/api-connector/info?connectionId=&providerConfigKey= returns stored webhook info.
Summary¶
| Method | Path |
|---|---|
| POST | /connect/integrations/connect-session |
| POST | /webhooks/api-connector/generate |
| POST | /webhooks/api-connector/receive/{connectionId} |
| GET | /webhooks/api-connector/info |