Get a support ticket
Platform module
GET/support-tickets/{id}supportTickets.get
A request for help (0643): to the org's own admins (Organization queue) or, from holders of org.help.write, to the platform team (Platform queue), whose channel and first response deadline follow the plan. Readable by the requester and by those who answer support for the org. Returns one support ticket with its `ETag`. A support ticket the caller may not see returns 404.
- Requires the capability me.account.write.
- OAuth scopes: me.
- Error statuses: 400, 401, 404, 429. Errors are RFC 9457 problem details.
Path and query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (uuid) | Yes | Identifier of the support ticket. |
| fields | Fields | No | Sparse fieldset: a comma-separated list of top-level fields to return. `id` is always returned.Constraints: pattern ^[a-z_][a-z0-9_]*(,[a-z_][a-z0-9_]*)*$ |
Response 200: SupportTicket
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (uuid) | Yes | Identifier of the support ticket. |
| org_id | string (uuid) | Yes | Identifier of the owning organization, derived from the parent row and never accepted from the caller. |
| created_at | string (date-time) | Yes | When the row was created. |
| created_by | string (uuid) | null | Yes | Identifier of the person who created the row. |
| updated_at | string (date-time) | Yes | When the row was last updated. |
| updated_by | string (uuid) | null | Yes | Identifier of the person who last updated the row. |
| membership_id | string (uuid) | Yes | Identifier of the membership of the requester, set by the server. |
| ticket_number | string | Yes | Display number, SUP-0001 upward per org.Constraints: pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$ |
| queue | "Organization" | "Platform" | Yes | Organization or Platform. |
| category | "Question" | "Problem" | "Access" | "Billing" | "Account" | "Feature Request" | Yes | What the request is about. |
| severity | "Severity 1" | "Severity 2" | "Severity 3" | "Severity 4" | Yes | Severity 1 (outage) to Severity 4 (question). |
| subject | string | Yes | One-line summary.Constraints: length 1 to 200 |
| body | string | Yes | What happened and what the requester needs.Constraints: length 1 to 20000 |
| ticket_state | "Open" | "Waiting" | "Resolved" | "Closed" | Yes | Open, Waiting, Resolved or Closed; moved by the transition action. |
| channel | "In App" | "Email" | "Chat" | "Priority Queue" | "Dedicated Channel" | Yes | In App for the Organization queue; by plan for the Platform queue. |
| first_response_due_at | string (date-time) | null | Yes | Platform first response deadline from the plan; null for best effort. |
| first_responded_at | string (date-time) | null | Yes | When a responder first answered. |
{
"id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
"org_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
"created_at": "2026-10-08T14:30:00Z",
"created_by": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
"updated_at": "2026-10-08T14:30:00Z",
"updated_by": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
"membership_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
"ticket_number": "SUP-0001",
"queue": "Organization",
"category": "Access",
"severity": "Severity 3",
"subject": "Scanner shows an unknown zone",
"body": "At the north gate the scanner says the zone is unknown.",
"ticket_state": "Open",
"channel": "In App",
"first_response_due_at": "2026-10-08T14:30:00Z",
"first_responded_at": "2026-10-08T14:30:00Z"
}Code samples
curl -X GET "$XOS_BASE_URL/support-tickets/0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f" \
-H "Authorization: Bearer $XOS_API_KEY"const { data, etag } = await xos.supportTickets.get("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f");response = xos.support_tickets.get("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f")xos support-tickets get 0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f