Update ticket
Change status, priority, assignee, group, subject or tags of one ticket.
PATCH https://cotlet.dev/api/v1/zendesk/tickets/{ticket_id}
Updates the fields you pass and leaves the rest. Priority accepts low, normal, high or urgent if your admin allows them. Tickets cannot be assigned to light agents. Triggers and automations in your Zendesk run as usual after the update, so a status change can email the requester. A ticket cannot return to new once it has left it. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| ticket_id integer required | integer | Ticket ID from search_tickets or list_view_tickets. |
| status enum | enum | open, pending, hold or solved. hold only if an admin enabled On-hold. |
| priority enum | enum | low, normal, high or urgent. |
| assignee_id integer | integer | Agent user ID from list_agents. |
| group_id integer | integer | Group ID from list_groups. |
| add_tags string[] | string[] | Tags to add, keeping the existing ones. |
| remove_tags string[] | string[] | Tags to remove. |
| subject string | string | New subject. |
Request
curl -X PATCH https://cotlet.dev/api/v1/zendesk/tickets/48230 \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"priority":"high","group_id":3341,"add_tags":["billing","refund"]}' result = client.call("zendesk", "update_ticket", {"ticket_id":48230,"priority":"high","group_id":3341,"add_tags":["billing","refund"]}) const result = await cotlet.call('zendesk', 'update_ticket', {"ticket_id":48230,"priority":"high","group_id":3341,"add_tags":["billing","refund"]}); cotlet call zendesk update_ticket --data '{"ticket_id":48230,"priority":"high","group_id":3341,"add_tags":["billing","refund"]}' Example response
{
"ticket_id": 48230,
"status": "new",
"priority": "high",
"assignee_id": null,
"group_id": 3341,
"group": "Billing",
"tags": [
"billing",
"refund"
],
"updated_at": "2026-10-16T09:02:00Z"
}