SyncSubscribe an endpoint

Subscribe an endpoint

Register an endpoint to receive Airbyte sync notifications. Requires an agency key (ak_).

The URL is treated as opaque and stored as a secret: pass your own authentication inside it (a query-string token is the usual shape, since Airbyte's own notifications are unsigned) and it will be encrypted at rest. Must be https.

Idempotent on the URL. Re-posting a URL that already exists updates its label and clears its failure state rather than creating a second subscription — a duplicate would deliver every notification twice. Re-posting is also how you resume a subscription that was parked after repeated delivery failures.

Delivery is best-effort and unordered. The event is already durable in /sync-events, so there is no redelivery queue here; dedupe on job_id and order on finished_at, never on delivered_at or your own receipt time. A retried older failure CAN arrive after a newer success.

curl -X POST "https://mythic-analytics.gulp.workers.dev/client/v1/airbyte/webhooks" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "url": "https://example.com/hooks/airbyte?secret=REPLACE_ME",
  "label": "example_string"
}'
{
  "success": true,
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "label": "example_string",
    "url": "https://example.com/hooks/airbyte?secret=***",
    "active": true,
    "last_delivery_at": "2024-12-25T10:00:00Z",
    "last_error": "example_string",
    "consecutive_failures": 42,
    "created_at": "2024-12-25T10:00:00Z"
  }
}
POST
/webhooks
POST
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

Agency key as bearer token, format Bearer ak_.... Grants full read-write access scoped to the agency. Agency-wide scoped keys (mcp_ with no fixed location) are accepted too and need airbyte:read or airbyte:write; a client-bound mcp_ key gets 403 agency_key_required. See Using an mcp_ key over HTTP.

Agency key as bearer token, format Bearer ak_.... Grants full read-write access scoped to the agency. Agency-wide scoped keys (mcp_ with no fixed location) are accepted too and need airbyte:read or airbyte:write; a client-bound mcp_ key gets 403 agency_key_required. See Using an mcp_ key over HTTP.
Bearer Token
Bearer Tokenstring
Required

Location secret key as bearer token, format Bearer sk_.... Grants read-only access; the agency is resolved from the location. Write endpoints return 403.

Location secret key as bearer token, format Bearer sk_.... Grants read-only access; the agency is resolved from the location. Write endpoints return 403.
Content-Typestring
Required

The media type of the request body

Options: application/json
urlstring
Required

HTTPS endpoint to POST notifications to. Stored encrypted; returned redacted.

Format: uri
labelstring

Your own name for this endpoint, shown when listing subscriptions.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. Agency key as bearer token, format Bearer ak_.... Grants full read-write access scoped to the agency. Agency-wide scoped keys (mcp_ with no fixed location) are accepted too and need airbyte:read or airbyte:write; a client-bound mcp_ key gets 403 agency_key_required. See Using an mcp_ key over HTTP.

header
Authorizationstring
Required

Bearer token. Location secret key as bearer token, format Bearer sk_.... Grants read-only access; the agency is resolved from the location. Write endpoints return 403.

Body

application/json
urlstring
Required

HTTPS endpoint to POST notifications to. Stored encrypted; returned redacted.

Example:
https://example.com/hooks/airbyte?secret=REPLACE_ME
labelstring

Your own name for this endpoint, shown when listing subscriptions.

Responses