Skip to main content
POST
/
v1
/
custom-connectors
Create a custom connector
curl --request POST \
  --url https://api.adapter.com/v1/custom-connectors \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "source_name": "<string>",
  "accepted_kinds": [
    "<string>"
  ],
  "metadata": {
    "env": "staging",
    "pipeline": "acme-crm@v2"
  }
}
'
{
  "connector_id": "<string>",
  "name": "<string>",
  "source_name": "<string>",
  "created_at": "<string>",
  "created_by": {
    "id": "<string>"
  },
  "is_active": true,
  "accepted_kinds": [
    "<string>"
  ],
  "metadata": {
    "env": "staging"
  }
}

Authorizations

Authorization
string
header
required

Pass your pk_live_... API key as a Bearer token.

Body

application/json
name
string
required
source_name
string
required
accepted_kinds
string[] | null

First-party event kinds this connector may emit. Empty/None = all kinds allowed.

metadata
Metadata · object

Key/value metadata applied to every event from this connector. String values only.

Example:
{
"env": "staging",
"pipeline": "acme-crm@v2"
}

Response

Successful Response

Returned on creation. Auth for ingest is via platform API keys (pk_live_…); call /v1/custom-connectors/{connector_id}/ingest… with Authorization: Bearer pk_live_… to push data.

connector_id
string
required

Unique identifier for the connector.

Example:

"c0ffee01-1234-5678-90ab-cdef01234567"

name
string
required

Human display name.

Example:

"Acme CRM"

source_name
string
required

Immutable slug used in the event source (custom:<source_name>).

Example:

"acme-crm"

created_at
string
required

ISO 8601 creation timestamp.

created_by
CreatedBy · object
required

Principal that created a resource. id is a user_id for type="user" and a key_id (UUID) for type="api_key".

is_active
boolean
required

False once the connector has been deactivated.

accepted_kinds
string[]

First-party event kinds this connector may emit. Empty = all kinds allowed.

Example:
["email", "page"]
metadata
Metadata · object

Key/value metadata applied to every event from this connector. String values only. Per-item metadata on ingest overrides on key conflict.

Example:
{ "env": "staging" }