Introduction
Tickets
API-first ticketing and issue resolution. Dashboards, automations, and machine clients all use this Worker.
User types: admin, area-manager, manager, member (from Directory memberships). Directory tokens omit actorType. Attachments live in R2. Webhooks go through Cloudflare Queues.
assigneeId and locationId are opaque ids from the calling site. External systems can upsert with POST /v1/tickets/external.
Lifecycle
Clients cannot PATCH status. Use POST /v1/tickets/{id}/transitions.
OPEN → TRIAGED → IN_PROGRESS → WAITING → RESOLVED → CLOSED, plus reopen from RESOLVED or CLOSED.
Updates require version. Stale versions return 409 VERSION_CONFLICT. Create, transition, and assign accept Idempotency-Key.
Webhooks are HMAC-SHA256 signed (X-Tickets-Signature: sha256=...).
Access
admin sees all tickets. manager and area-manager work tickets in their granted locations, and otherwise only their own. member opens and works their own tickets.
See the Tickets API reference.