/api/v1/webhooks/subscriptionsSubscribe an HTTPS endpoint to record events on one object.
Subscribe an HTTPS endpoint to record events on one object.
After this call, each event in events on a record of object_slug
sends a signed POST to target_url. The response carries
signing_secret, which you use to verify deliveries. It is returned only
here, so store it before you do anything else.
The subscription belongs to the API key or OAuth app that created it, and
only that credential can list, read or delete it. name is optional and
defaults to the object name and the target host.
Scope: read.<object_slug> on the watched object.
Errors:
400— an entry ineventsis not a catalog event name.403— the credential lacksread.<object_slug>, or the caller is a user session rather than an API key or OAuth token.404— no object has that slug.422— the body is invalid, for exampletarget_urlis not an HTTPS URL oreventsis empty.
Request:
{
"object_slug": "contacts",
"events": ["record.created", "record.updated"],
"target_url": "https://hooks.example.com/corteksa",
"name": "Contacts sync"
}
Response 201:
{
"status": 201,
"message": "Webhook subscription created. Copy the signing secret now — it will not be shown again.",
"data": {
"signing_secret": "whsec_4f9b2c7d1e8a3b6c5d0e9f8a7b6c5d4e3f2a1b0c9d8e7f6a",
"subscription": {
"slug": "b7e41c9a2f06",
"name": "Contacts sync",
"target_url": "https://hooks.example.com/corteksa",
"object_slug": "contacts",
"events": ["record.created", "record.updated"],
"is_active": true,
"created_at": "2026-09-14T10:00:00.000Z"
}
}
}
Send request
Use the documented inputs to call this endpoint directly.
Request body
application/jsonrequiredOptional label; defaults to <object> → <host> when omitted.
The CRM object to watch, e.g. tasks.
HTTPS endpoint that receives the signed deliveries.
Public event names to subscribe to, e.g. ["record.created","record.updated"].
Responses
Successful response
{
"slug": "string",
"name": "string",
"target_url": "string",
"object_slug": "string",
"events": "string",
"is_active": true,
"created_at": "2026-01-01T00:00:00Z"
}Bad request
{
"status": 1,
"message": "string",
"code": "string",
"data": {}
}The HTTP status code of the response.
What went wrong. Several validation messages are joined with ", ".
A stable, machine-readable reason. Only some errors set it.
Extra detail about the error. Only some errors set it.
Unauthorized
{
"status": 1,
"message": "string",
"code": "string",
"data": {}
}The HTTP status code of the response.
What went wrong. Several validation messages are joined with ", ".
A stable, machine-readable reason. Only some errors set it.
Extra detail about the error. Only some errors set it.
Internal server error
{
"status": 1,
"message": "string",
"code": "string",
"data": {}
}The HTTP status code of the response.
What went wrong. Several validation messages are joined with ", ".
A stable, machine-readable reason. Only some errors set it.
Extra detail about the error. Only some errors set it.
Powered by heyo-docs