Skip to main content

Style

Resources use POST action routes under /api/v1:
The TypeScript SDK maps these to methods such as client.tickets.create() — not HTTP-verb REST. Machine-readable contract: GET /api/v1/openapi.json (also checked into the gateway repo as openapi.json).

Idempotency

For safe retries on create and send_message (API key / OAuth only), send:
The gateway caches successful responses for 24 hours (scoped by workspace, principal, and route). Reusing a key while a request is still in flight returns 409 (IDEMPOTENCY_CONFLICT). APP session clients continue to use client mutationId + sync instead.

Reads

List and info responses wrap presented entities:
See Pagination.

Mutations (API key / OAuth)

Public writes always return identity (and usually the presented entity) plus sync ack fields when available.

Create / update

Use data._id (or the SDK’s typed id accessor) for follow-up info / list calls — you do not need to re-list to discover the id. Ticket create may also include contentLastSyncId when content is written separately.

Delete

The SDK will expose convenient accessors (for example ticket / ticketId) on top of this wire shape.

Auth

Bearer personal API key (sl_api_…) or OAuth access token (sl_oat_…). See Authentication.

Errors and limits