Connections

Create, read, change, and delete the connections that send a source’s webhooks to a destination.

The connection object

{
  "id": "01m3m5hezf7epksb7f8qbww4wb",
  "projectId": "01k5ztq3jb9y2a1m9v2xw8e0ha",
  "sourceId": "01m3m4v8kq0c6f3qg2x7w9d1ne",
  "destinationId": "01m3m5c2yb7h4s1k9q8r6t3v0w",
  "state": "enabled",
  "filter": { "body": { "status": "COMPLETED" } },
  "delaySeconds": 0,
  "transformation": null,
  "createdAt": "2026-10-01T08:34:00Z",
  "updatedAt": "2026-10-01T08:34:00Z"
}

Fields you send

sourceIdstringRequired

The source whose webhooks it takes, in the same project.

destinationIdstringRequired

The destination it sends them to, in the same project.

statestring

enabled, the default, or paused. A paused connection makes no deliveries, and the webhooks its source receives meanwhile are not sent through it later.

filterobject or null

Which webhooks it takes, at most 16 KB and 16 levels deep. null, or leaving it out, takes every webhook. See Filter and delay webhooks.

delaySecondsinteger

How long to hold each delivery before its first attempt, 0 to 86,400 seconds. 0 by default.

transformationstring

JavaScript that defines transform(request), at most 64 KB. Empty, or leaving it out, sends each webhook as it was received. See Change webhooks before they are sent.

Fields we add

idstring

The connection’s ID.

projectIdstring

The project the connection belongs to.

transformationstring or null

The transformation’s code, or null when it has none.

createdAtstring

When the connection was created.

updatedAtstring

When the connection was last changed.

List connections

GET/v1/projects/{project}/connections

Returns the project’s connections, newest first, a page at a time. See Paging.

sourcequery

Only the connections of this source.

destinationquery

Only the connections to this destination.

Create a connection

POST/v1/projects/{project}/connections

Send its fields. Returns 201 with the new connection. A filter or transformation we cannot use gets 422, with the reason in issues. A project that holds 200 connections gets 403 with the code hooks_limit_reached.

Read a connection

GET/v1/projects/{project}/connections/{connection}

Replace a connection

PUT/v1/projects/{project}/connections/{connection}

Send every field, as when you create one. A field you leave out goes back to its default, so leaving out transformation removes it. Deliveries already made keep what they were made with.

Delete a connection

DELETE/v1/projects/{project}/connections/{connection}

Deletes the connection. Returns 204. Its deliveries are kept, and are no longer transformed when you send them again.

Last updated