> For the complete documentation index, see [llms.txt](https://docs.cekat.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cekat.ai/api-documentation/tickets/update-a-ticket.md).

# Update a ticket

Updates a ticket. Send only the fields you want to change. `field_values` updates only the fields you include and keeps the others.

```json
{"openapi":"3.0.3","info":{"title":"Cekat Open API","version":"1.0.0"},"tags":[{"name":"Tickets","description":"Create, list and update support tickets and the products attached to them.\n\nBefore creating tickets, call `GET /api/ticket_settings` to get your ticket boards (each board's `id` is the `board_id`) and their status IDs, and `GET /api/ticket_templates` to get the templates for each board and their fields.\n\nPriority is a number: `0` Low, `1` Medium, `2` High, `3` Urgent. Status is a status `id` from the board's `statuses`, or `done`.\n"}],"servers":[{"url":"https://api.cekat.ai","description":"Production"}],"security":[{"CekatApiKey":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"CekatApiKey":{"type":"apiKey","in":"header","name":"api_key","description":"Your business's Cekat API key, from **Settings → Developers & API** in the Cekat dashboard (https://chat.cekat.ai/developers?section=apikeys). Available on the Business and Enterprise plans."},"BearerAuth":{"type":"http","scheme":"bearer","description":"The same Cekat API key, sent as `Authorization: Bearer YOUR_API_KEY`. Accepted only by endpoints under `/api/...`."}},"schemas":{"TicketFieldValue":{"type":"object","properties":{"field_name":{"type":"string","description":"The field's name from the ticket template."},"field_value":{"description":"The value. Its format depends on the field type."}}},"Ticket":{"type":"object","description":"A ticket. List responses also include the template, products and conversation. Additional fields may be present.","additionalProperties":true,"properties":{"id":{"type":"string","format":"uuid"},"public_ticket_id":{"type":"integer","description":"The ticket number shown in Cekat."},"board_id":{"type":"string","format":"uuid"},"ticket_template_id":{"type":"string","format":"uuid"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"status":{"type":"string","description":"A status ID from the board's `statuses`, or `done`."},"priority":{"type":"integer","enum":[0,1,2,3],"description":"0 Low, 1 Medium, 2 High, 3 Urgent."},"field_values":{"type":"array","items":{"$ref":"#/components/schemas/TicketFieldValue"}},"assigned_to":{"type":"array","description":"Agent IDs assigned to the ticket.","items":{"type":"string"}},"attachments":{"type":"array","items":{"type":"string"}},"conversation_id":{"type":"string","format":"uuid","nullable":true},"created_by":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"ApiError":{"type":"object","description":"Error body returned by the `/api/...` endpoints.","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"statusCode":{"type":"integer"},"error":{"type":"object","properties":{"message":{"type":"string"}}},"correlationId":{"type":"string","description":"Request ID. Include it when contacting Cekat support."}}},"RateLimitError":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"ApiUnauthorized":{"description":"The API key is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"ApiNotFound":{"description":"The resource was not found or does not belong to your business.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"TooManyRequests":{"description":"Rate limit exceeded. Wait and retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitError"}}}}}},"paths":{"/api/tickets/{id}":{"put":{"tags":["Tickets"],"operationId":"UpdateTicket","summary":"Update a ticket","description":"Updates a ticket. Send only the fields you want to change. `field_values` updates only the fields you include and keeps the others.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"status":{"type":"string","description":"A status ID from the ticket's board, or `done`."},"priority":{"type":"integer","enum":[0,1,2,3]},"field_values":{"type":"array","items":{"$ref":"#/components/schemas/TicketFieldValue"}},"assigned_to":{"type":"array","items":{"type":"string"}},"attachments":{"type":"array","items":{"type":"string"}},"conversation_id":{"type":"string","format":"uuid"}}}}}},"responses":{"202":{"description":"Ticket updated. `log` lists the changes recorded in the ticket history.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Ticket"},"log":{"type":"array","items":{"type":"object","additionalProperties":true}},"labels":{"description":"Labels added to the linked conversation, if any."}}}}}},"400":{"description":"The status isn't on the ticket's board, or a field value is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"$ref":"#/components/responses/ApiUnauthorized"},"404":{"$ref":"#/components/responses/ApiNotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}}}}
```
