Create ticket
Creates a ticket at site_id and returns it. miner_ids links devices in the same call; miners with no inventory record at that site are skipped and counted in skipped_devices. Tickets created with an API key are attributed to System in the activity log, and linked devices keep their lifecycle status (they are not moved to In repair). An unknown status_id returns 404. The created ticket is read back before it is returned, so the key needs read access to tickets at that site as well.
Authorization
LuxorAPIKey Use your API key here.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v2/commander/tickets" \ -H "Content-Type: application/json" \ -d '{ "title": "Hashboard 2 not hashing", "priority": "low", "site_id": "72771e6a-6f5e-4de4-a5b9-1266c4197811" }'{ "ticket": { "id": "0b8f7c2a-3d4e-4f5a-8b6c-7d8e9f0a1b2c", "code": "TKT-0042", "title": "Hashboard 2 not hashing", "description": "string", "priority": "high", "status": { "id": "6f0c9a1e-0d5f-4f7b-9a5e-1b2c3d4e5f60", "name": "In progress", "position": 2, "color": "yellow", "is_enabled": true, "is_default": true, "system_status": "in_progress", "stock_action": "none" }, "assignees": [ { "id": "575370fd-ecb7-40bb-a3da-8af78e0dab6b", "type": "user", "name": "Alice Smith" } ], "site_id": "b0a5fad8-1234-5678-9abc-def012345678", "site_name": "Texas", "created_by": { "id": "575370fd-ecb7-40bb-a3da-8af78e0dab6b", "type": "user", "name": "Alice Smith" }, "created_at": "2026-10-01T09:30:00.000Z", "custom_fields": { "diagnosis": "psu_failure" }, "source_error_code": null, "device_count": 3, "reserved_part_count": 2, "url": "/v2/commander/tickets/0b8f7c2a-3d4e-4f5a-8b6c-7d8e9f0a1b2c" }, "skipped_devices": 0}{ "statusCode": 400, "code": "FST_ERR_VALIDATION", "error": "Bad Request", "message": "body/end_date Required"}{ "statusCode": 403, "code": "7", "error": "Forbidden", "message": "[permission_denied] site_id does not belong to this workspace"}{ "statusCode": 404, "code": "5", "error": "Not Found", "message": "[not_found] agent not found"}Get ticket
Returns one ticket. Linked devices and their parts are listed separately by `GET /v2/commander/tickets/{ticket_id}/devices`.
Update ticket
Updates the fields you send and returns the ticket. Unknown keys are rejected with a 400. `assignee_ids` replaces the assignees (`[]` clears them); `description: null` clears the description. Moving into a status whose `stock_action` is `consume` or `release` consumes or releases the ticket's reserved parts, reported by `part_stock_changed`. The site of an existing ticket cannot be changed.