Skip to main content

Get / Update / Delete / Test

Get destination details, update config, delete a destination, or send a test payload to verify connectivity. Auth credentials are always redacted in responses.

Manage a single destination: retrieve its current config, update transport settings or credentials, delete it, or test connectivity. The test endpoint probes the destination without delivering real data — file-drop connectors (S3, SFTP, Azure Blob) verify bucket/container reachability without writing any objects.

Use GET to inspect current config and delivery status. Use PUT to rotate credentials or change the target URL/bucket. Use POST /test after updating credentials to verify the new config works before live traffic flows through it. Use DELETE only when permanently removing a destination.

The GET response includes last_delivery_at and last_delivery_status to show the most recent delivery attempt. The is_active flag indicates whether the destination is enabled — destinations are automatically disabled on auth_failed or ssrf_blocked errors. The test endpoint returns success, durationMs, and an optional message describing what was probed.

If a destination becomes inactive due to auth failure, fix the credentials via PUT, then call the test endpoint to verify. The destination will be re-enabled automatically on a successful update. Prefer disabling (is_active: false via PUT) over deleting when you want to pause delivery but keep the history.

Deleting a destination cascades to all its bindings, delivery items, and DLQ entries. This is irreversible. Disable the destination (is_active: false) instead if you want to preserve history.
GET/v1/delivery/destinations/:id

Response

Response fields

idstringDestination UUID.
namestringDestination name.
typestringConnector type.
configobjectTransport config. Auth credentials are never returned.
has_auth_configbooleanWhether auth credentials are configured.
has_signing_secretbooleanWhether an HMAC signing secret is configured.
payload_cap_bytesinteger | nullPer-destination payload cap override.
is_activebooleanWhether the destination is enabled.
last_delivery_atstring | nullISO 8601 timestamp of the last delivery attempt.
last_delivery_statusstring | nullStatus of the last delivery attempt.
created_atstringISO 8601 creation timestamp.
updated_atstringISO 8601 last update timestamp.

Response

{
  "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"
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
404not_foundNo destination with this ID exists for your organization.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.
PUT/v1/delivery/destinations/:id

Response

Response fields

idstringDestination UUID.
namestringUpdated destination name.
typestringConnector type.
configobjectUpdated transport config.
has_auth_configbooleanWhether auth credentials are configured.
has_signing_secretbooleanWhether an HMAC signing secret is configured.
payload_cap_bytesinteger | nullPer-destination payload cap override.
is_activebooleanCurrent active status.
last_delivery_atstring | nullISO 8601 timestamp of the last delivery attempt.
last_delivery_statusstring | nullStatus of the last delivery attempt.
created_atstringISO 8601 creation timestamp.
updated_atstringISO 8601 last update timestamp.

Response

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "Production Webhook (updated)",
  "type": "webhook",
  "config": { "url": "https://api.example.com/ingest-v2" },
  "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-16T08:00:00.000Z"
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
404not_foundNo destination with this ID exists for your organization.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.
DELETE/v1/delivery/destinations/:id

Response

Response fields

deletedbooleanAlways true on success.

Response

{
  "deleted": true
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
404not_foundNo destination with this ID exists for your organization.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.
POST/v1/delivery/destinations/:id/test

Response

Response fields

successbooleanWhether the test delivery succeeded.
durationMsintegerRound-trip duration in milliseconds.
messagestring | nullOptional human-readable message (e.g. the bucket or folder that was probed).

Response

{
  "success": true,
  "durationMs": 142,
  "message": "bucket 'talonic-output' reachable"
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
404not_foundNo destination with this ID exists for your organization.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.