Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
workspace_id
string
name
string
endpoint_url
string
headers
object[]

Custom headers sent with every delivery. A source="secret" header carries its value here on WRITE ONLY — the value is stored in Vault (never in a relational column) and is never echoed back on reads (see HeaderSpec).

content_format
string

Body shape: "object" (default when empty) or "array" (single-element JSON array wrap, for array-only intakes).

provider_key
string

provider_key selects an off-the-shelf provider preset (see ListDestinationProviders). When set, destination_type is derived as "provider", the endpoint URL is BUILT from provider_settings (endpoint_url must be empty), custom headers are rejected (the provider authenticates via its credentials), and content_format must be "" or "object" (array is a custom-only knob). Empty ⇒ a "webhook" (Custom) destination.

provider_settings
object

provider_settings are the provider's non-secret settings (site/region/ dataset/owner_repo/…), validated against the provider's settings schema and used to build the endpoint URL. Persisted in a relational column.

provider_credentials
object

provider_credentials are the provider's secret credentials (api_key/token/ routing_key/…). WRITE ONLY — stored in Vault, never persisted to a column or echoed on reads. Required credentials must be supplied on create.

Response

200 - application/json

OK

CreateDestinationResponse returns the destination plus the freshly minted signing secret. The secret is revealed exactly once, here; it is never retrievable again.

destination
object
signing_secret
string
signing_key_id
string