AuralisDocs
OperationsChannels and email

Land an inbound provider payload as a ticket or reply

Land a provider payload as a ticket create or a ticket reply.

/v1/ingest/{channel}No credential
Operation id
ingest_channel_message
Access
Public by design. No credential is required or consulted.
POST/v1/ingest/{channel}

Land a provider payload as a ticket create or a ticket reply.

This is where a channel provider posts inbound traffic. {channel} is the channel id, such as sms or whatsapp, and payload is that provider's own message body, verbatim. The channel's adapter is what understands it, so nothing here has to be reshaped first.

Whether the message opens a ticket or threads onto an existing one is decided from the payload, not by the caller. was_created says which happened and ticket_id names the ticket either way.

Redelivery is a success, not a duplicate. A message that already landed answers with the same ticket, was_created: false and was_duplicate: true, and nothing is written twice. A retrying provider is never told to retry harder.

A payload the adapter cannot read is 400 channel_payload_invalid and nothing is written. An unregistered channel is 400 or 404 rather than a silently dropped message.

A 429 means come back later, with Retry-After in seconds. Nothing was written, and a redelivery that turns out to be a duplicate is refunded rather than charged, so an idempotent retry storm cannot throttle out the messages behind it.

Tenancy: public and unauthenticated by design. No credential and no role is required or consulted; the workspace is resolved from the request itself (a body tenant_id, a URL token, or an agent id).

Access: no credential.

Path Parameters

channel*Channel

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/ingest/string" \  -H "Content-Type: application/json" \  -d '{    "tenant_id": "73fc37a9-8235-56c7-a296-772adf8f6dbe",    "payload": {      "From": "+15550100",      "To": "+15550199",      "Body": "my card was declined",      "MessageSid": "SM0001"    }  }'

{  "channel": "sms",  "ticket_id": "5e8b0c31-7a4d-4f92-b6c8-1d3e2a5f7b90",  "customer_id": "9f1d6c4e-6b6e-4b31-9a5b-2f1c9a4d5e60",  "was_created": true,  "was_duplicate": false}