tickets:write scope. Rate limit: 30 requests / minute (see Rate limits).
Prerequisites
- API key with
tickets:write— create or update under Settings → API. - An existing ticket — get its
ticket_numberfrom Create a ticket orGET /public/v1/tickets. - HTTP client —
curl, Postman, or any server that can sendPOSTwith JSON.
Request
Send only the fields listed below. Extra fields in the JSON body return an error.
Request body
Idempotency (optional)
Add anIdempotency-Key header with any unique value you generate per real send attempt (for example a UUID) to safely retry a request — for example after a timeout — without sending the same message twice.
- First request with a key: processed normally. The response is cached for 1 hour.
- Same key, same body, within 1 hour: no new message is sent. You get back the exact same response as the first request.
- Same key, different body: rejected with a
400 IDEMPOTENCY_KEY_CONFLICTerror — reuse a key only for retries of the identical request. - No key: works exactly as described above, with no duplicate protection.
Attachments
Attach a file in three calls: request an upload URL, upload the file, then confirm it before referencing it here. See Create a ticket → Attachments for the full flow and limits.Minimal example
Reply on the ticket’s own channel:Full example
Reply sent from a named agent, with metadata:Response
201 Created — standard v1 success envelope:
status reflects delivery state (queued, sent, delivered, failed, …). A reply is born queued and picked up by the existing send pipeline; a note is delivered immediately since it is never sent out.
Errors
See Errors for the full catalog and
request_id usage.
Every successful request creates a new message. Use the optional
Idempotency-Key header to safely retry without duplicating it.Try it first
- In Settings → API, create a key with
tickets:write. - Create a test ticket (see Create a ticket), then send a message to it using the examples above.
- Confirm the message appears in the ticket thread with the expected channel and sender.
Related
OpenAPI reference
Interactive schema and Try it for
POST /tickets/:ticketNumber/messages.Create a ticket
Start a ticket, including its first message.
Authentication
Scopes, key rotation, and least privilege.
Rate limits
Write tier (30/min) and backoff on 429.