Workflow API

This article and the rest of the API documentation in this section are written for a technical audience — integrators and developers connecting external systems to Tickiti. Familiarity with HTTP, REST, JSON and bearer-token authentication is assumed.

The Workflow API exposes the Workflow admin screens — queues, resolution categories, interventions, escalations and business hours. Every endpoint runs as the token’s owner and is gated by the workflow ability plus the owner’s admin role, and (for some features) the same plan entitlement the UI requires. (FAQs are managed through the Templates API; the intervention runtime contract is the Interventions technical reference.)

Abilities and conventions

  1. workflow:read — read endpoints.
  2. workflow:write — create / update / delete. Write implies read.

All endpoints are POST and JSON. Resolution categories require the resolution tracking plan feature, interventions the interventions feature, and escalations/business hours the escalations feature — a call without the entitlement is rejected, just as the screen is hidden in the UI.

Endpoints

Method & pathAbilityPurpose
POST /api/v1/workflow/queuesworkflow:readList queues (with ticket counts)
POST /api/v1/workflow/queues/createworkflow:writeCreate a queue
POST /api/v1/workflow/queues/updateworkflow:writeUpdate a queue by queue_id
POST /api/v1/workflow/queues/deleteworkflow:writeDelete a queue (blocked if built-in / in use)
POST /api/v1/workflow/queues/moveworkflow:writeMove tickets between queues
POST /api/v1/workflow/resolution-categoriesworkflow:readList resolution categories
POST /api/v1/workflow/resolution-categories/createworkflow:writeCreate a category
POST /api/v1/workflow/resolution-categories/updateworkflow:writeUpdate a category by id
POST /api/v1/workflow/resolution-categories/deleteworkflow:writeDelete a category (blocked if in use)
POST /api/v1/workflow/resolution-categories/reorderworkflow:writeReorder categories (ids)
POST /api/v1/workflow/interventionsworkflow:readList interventions (never returns remote tokens)
POST /api/v1/workflow/interventions/createworkflow:writeCreate an intervention (+ fields)
POST /api/v1/workflow/interventions/updateworkflow:writeUpdate an intervention by intervention_id
POST /api/v1/workflow/interventions/deleteworkflow:writeDelete an intervention
POST /api/v1/workflow/interventions/generate-tokenworkflow:writeMint a remote bearer token (returned once)
POST /api/v1/workflow/escalationsworkflow:readList escalations + business hours
POST /api/v1/workflow/escalations/createworkflow:writeCreate an escalation
POST /api/v1/workflow/escalations/updateworkflow:writeUpdate an escalation by id
POST /api/v1/workflow/escalations/deleteworkflow:writeDelete an escalation by id
POST /api/v1/workflow/business-hours/updateworkflow:writeUpdate business hours