Skip to main content

List Destinations

List all configured delivery destinations for the workspace. Destinations define where processed data is sent — webhook, SFTP, S3, Azure Blob, Google Drive, or OneDrive.

Delivery routes processed data to external systems through a four-part pipeline: signals (domain events) are matched to bindings (routing rules), resolved into deliverables (payloads), serialized, and sent to destinations (connectors). Destinations define the transport protocol and credentials.

Each destination is an instance of one of the six supported connector types. A single destination can serve multiple bindings — for example, you might have one S3 destination with separate bindings for extraction results and run outcomes. Auth credentials are stored securely and never returned in API responses.

GET/v1/delivery/destinations

Response

Response fields

dataarrayArray of destination objects.
data[].idstringDestination UUID.
data[].namestringHuman-readable destination name.
data[].typestringConnector type: `webhook`, `sftp`, `s3`, `azure_blob`, `google_drive`, `onedrive`.
data[].configobjectTransport-specific config. Auth credentials are never returned.
data[].has_auth_configbooleanWhether auth credentials are configured on this destination.
data[].has_signing_secretbooleanWhether an HMAC signing secret is configured.
data[].payload_cap_bytesinteger | nullPer-destination payload cap in bytes, overriding the global default. Null uses the global 5 MiB cap.
data[].is_activebooleanWhether the destination is active. Automatically set to false on auth failure.
data[].last_delivery_atstring | nullISO 8601 timestamp of the last delivery attempt.
data[].last_delivery_statusstring | nullStatus of the last delivery attempt.
data[].created_atstringISO 8601 creation timestamp.
data[].updated_atstringISO 8601 last update timestamp.

Response

{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Production Webhook",
      "type": "webhook",
      "config": { "url": "https://api.example.com/ingest" },
      "has_auth_config": false,
      "has_signing_secret": true,
      "payload_cap_bytes": null,
      "is_active": true,
      "last_delivery_at": "2024-09-15T11:00:00.000Z",
      "last_delivery_status": "succeeded",
      "created_at": "2024-09-01T10:00:00.000Z",
      "updated_at": "2024-09-01T10:00:00.000Z"
    },
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "name": "Data Lake",
      "type": "s3",
      "config": { "bucket": "talonic-output", "prefix": "invoices/" },
      "has_auth_config": true,
      "has_signing_secret": false,
      "payload_cap_bytes": null,
      "is_active": true,
      "last_delivery_at": null,
      "last_delivery_status": null,
      "created_at": "2024-09-05T14:30:00.000Z",
      "updated_at": "2024-09-05T14:30:00.000Z"
    }
  ]
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.