Skip to main content
POST
/
v1
/
sources
Create a custom source
curl --request POST \
  --url https://api.seynlabs.com/v1/sources \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Internal CRM",
  "entityTypes": [
    "deal",
    "account",
    "activity"
  ],
  "description": "Deals and activity from our in-house CRM"
}
'
{
  "success": true,
  "data": {
    "id": "b6f1c0de-1f2a-4c3b-9d4e-5a6b7c8d9e0f",
    "type": "custom_api",
    "name": "Internal CRM",
    "status": "active",
    "createdAt": "2026-06-12T16:20:00Z"
  },
  "meta": {
    "requestId": "f0e1d2c3-b4a5-4968-8778-695a4b3c2d1e"
  }
}

Authorizations

Authorization
string
header
required

Bearer token from app.seynlabs.com → Settings → API Keys. Send as Authorization: Bearer sk_live_....

Headers

Idempotency-Key
string<uuid>

Optional. Reuse the same key when retrying so a source is created only once.

Body

application/json
name
string
required

Human-readable name shown in the dashboard.

Minimum string length: 1
entityTypes
string[]

Optional hint listing the entity types you'll send. Improves normalization routing.

description
string

Response

Source created.

success
enum<boolean>
required
Available options:
true
data
object
required
meta
object
required