Skip to content

Create a destination

POST
/v1/destinations

Adds a registry entry. Check-then-create: an sqs queue (GetQueueAttributes), an https endpoint, or a mirror (both an SSRF-gated HEAD/GET connect — any HTTP status counts as reachable; a mirror additionally refuses an Emithook ingest domain, for loop prevention) MUST pass the live reachability probe BEFORE it is persisted — an unreachable target is refused with 422 (details.check: connectivity) rather than created, and a target that passes is stored valid. pull (emithook-hosted) is always reachable and created pending. Not-yet-deliverable broker types (sns, pubsub, kafka, nats, amqp, redis) are refused with 422 (<type> delivery isn't supported yet). Probe a URL first with POST /v1/destinations/check.

Authorizations

apiKey

Scoped API key. Scopes are readwriteadmin. A call needing more scope than the key holds returns 403 insufficient_scope.

Type
HTTP (bearer)

Request Body

application/json
JSON
{
  
"name": "acme-orders",
  
"type": "string",
  
"url": "https://api.acme.in/hooks/orders",
  
"config": {
  
},
  
"credentials": {
  
  
"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
  
  
"secretAccessKey": "string"
  
}
}

Responses

Created — pending validation.

application/json
JSON
{
  
"id": "dst_01JX9",
  
"name": "acme-orders",
  
"type": "string",
  
"validation": "pending",
  
"status": "active",
  
"version": 1
}

Playground

Authorization
Body

Samples

Powered by VitePress OpenAPI

Emithook · a Finnoto product