Update ticket
Change status, priority, assignee or tags of one ticket.
PATCH https://cotlet.dev/api/v1/happyfox/tickets/{ticket_id}
write Confirm
Updates the fields you pass and leaves the rest. Use IDs from list_statuses, list_priorities and list_agents. Pass assignee_id null to leave the ticket unassigned. Smart Rules and SLA run as usual after the update, so a status change can email the contact. 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. |
| status_id integer | integer | Status ID from list_statuses. |
| priority_id integer | integer | Priority ID from list_priorities. |
| assignee_id integer | integer | Agent ID from list_agents, or null to leave the ticket unassigned. |
| add_tags array | array | Tags to add. Existing tags stay. |
Request
curl -X PATCH https://cotlet.dev/api/v1/happyfox/tickets/2038 \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"priority_id":4,"assignee_id":12,"add_tags":["billing","refund"]}' result = client.call("happyfox", "update_ticket", {"ticket_id":2038,"priority_id":4,"assignee_id":12,"add_tags":["billing","refund"]}) const result = await cotlet.call('happyfox', 'update_ticket', {"ticket_id":2038,"priority_id":4,"assignee_id":12,"add_tags":["billing","refund"]}); cotlet call happyfox update_ticket --data '{"ticket_id":2038,"priority_id":4,"assignee_id":12,"add_tags":["billing","refund"]}' Example response
{
"ticket_id": 2038,
"status": "New",
"priority": "High",
"assignee": "Sam Okafor",
"tags": [
"billing",
"refund"
],
"updated_at": "2026-10-20T09:02:00Z"
}