Skip to main content
API and OAuth callers create a ticket with a markdown description. That one request writes the ticket and its content document, the same way the app does. Sayless stores the body as Lexical and derives the preview and URL id. Do not send Lexical content, preview, or mutationId, and do not call a separate content endpoint. POST /tickets/update accepts description to replace that body on one ticket.
subject is 1–100 characters. priority defaults to 3 (normal). 1 is urgent, 2 high, 4 low. A successful create returns { "success": true, "data": { …ticket } }. POST /tickets/info accepts either the ticket UUID or the subject-urlId slug in _id.

Comments and reactions

Create a comment with markdown description. Sayless stores the Lexical document. Do not send content.
Add or remove a reaction with the Unicode character, the same value the app stores:
comment_reaction_remove uses the same body. _id is the comment id. A successful call returns the comment, including its reactions.

SLA metrics

POST /tickets/set_sla sets a custom duration on one metric. durationSeconds is a positive number of seconds, at most one year. Send null to clear a custom resolution SLA.