Skip to main content
POST
/
v1
/
integrations
/
connections
Start the OAuth flow for a new connection
curl --request POST \
  --url https://api-sandbox.featherhq.com/v1/integrations/connections \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "nickname": "<string>"
}
'
{
  "connection_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "session_token": "<string>",
  "expires_at": "2023-11-07T05:31:56Z",
  "vendor": "<string>"
}

Authorizations

x-api-key
string
header
required

Body

application/json
integration_key
enum<string>
required

Stable identifier for each supported integration.

The string value must match the vendor's per-provider identifier (for Nango: provider_config_key). Persisted on integration_connections.integration_key and integration_connection_tools.integration_key.

Adding a new integration: append a member here, add an IntegrationSpec to INTEGRATIONS, register the provider in the vendor cloud via src/integrations/bootstrap.py (Step 3).

Available options:
slack,
custom_mcp,
notion,
google_drive,
calcom,
twilio,
email
nickname
string
required

Response

Successful Response

Returned by POST /v1/integrations/connections.

Carries everything the Connect-UI frontend needs to open the OAuth popup without a second round-trip: the row id (to poll), the vendor session token, its expiry, and the vendor name so the frontend can pick the right SDK (@nangohq/frontend for "nango").

connection_id
string<uuid>
required
session_token
string
required
expires_at
string<date-time>
required
vendor
string
required