POST
/ticketsCreate a ticket
Open a ticket as a team API key. Requires a team-role API key.
Request body
| Field | Type | Description |
|---|---|---|
type | "customer" | "back_office" | "tracker" | Ticket object type |
ticketTypeId | string | Registry ticket-type ID — its category becomes the ticket type |
titlerequired | string | |
description | string | Opening message as markdown |
priority | "none" | "low" | "medium" | "high" | "urgent" | |
requesterPrincipalId | string | Requester principal ID |
companyId | string | Associated company ID |
attachments | object[] |
Response
Ticket created
| Field | Type | Description |
|---|---|---|
idrequired | string | TypeID - a type-prefixed UUID |
numberrequired | number | Per-workspace sequential ticket number |
referencerequired | string | Human reference, "#" + number |
typerequired | "customer" | "back_office" | "tracker" | Ticket object type |
ticketTyperequired | object | null | Workspace-defined registry type, null on legacy typeless tickets |
titlerequired | string | |
statusrequired | object | Internal workspace status: its display name + stable category |
stagerequired | "received" | "in_progress" | "awaiting_requester" | "resolved" | null | Customer-facing public stage, null when the status projects none |
priorityrequired | "none" | "low" | "medium" | "high" | "urgent" | Triage priority |
requesterPrincipalIdrequired | string | null | Principal ID of the requester, null if unattributed |
assigneePrincipalIdrequired | string | null | Principal ID of the assigned teammate, null if unassigned |
assigneeTeamIdrequired | string | null | ID of the assigned team, null if unassigned |
companyIdrequired | string | null | ID of the associated company, null if none |
firstResponseAtrequired | string | null | When a teammate first responded, null until then |
dueAtrequired | string | null | SLA due time, null if no policy applies |
resolvedAtrequired | string | null | When the ticket entered a closed status, null while open |
createdAtrequired | string | ISO 8601 timestamp |
updatedAtrequired | string | ISO 8601 timestamp |
reopenedCountrequired | number | How many times the ticket has reopened |
Errors
400Validation error401UnauthorizedExample request
curl \
-X POST \
"https://feedback.quackback.io/api/v1/tickets" \
-H "Authorization: Bearer qb_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"type": "customer",
"ticketTypeId": "ticket_type_01h455vb4pex5vsknk084sn02q",
"title": "Cannot log in",
"description": "Steps to reproduce…",
"priority": "high",
"requesterPrincipalId": "example_requesterPrincipalId",
"companyId": "example_companyId",
"attachments": []
}'