Ticket
WARNING
Gli endpoint ticket dipendono dai permessi del gruppo e se l'utente che stai usando è un agente.
TIP
Suppress notifications: To create or update a ticket without triggering agent notifications (email and in-app), add the following HTTP header to your request:
plain
X-Zammad-Suppress-Notifications: trueThis is useful for automated integrations that manage tickets via webhooks or triggers to avoid notification loops. The header only affects admin and agent accounts and is ignored for customers.
Elenca
Permesso richiesto: ticket.agent o ticket.customer
Richiesta GET inviata: /api/v1/tickets
Details
json
// HTTP-Code 200 OK
[
{
"id": 1,
"group_id": 1,
"priority_id": 2,
"state_id": 1,
"organization_id": 1,
"number": "69001",
"title": "Welcome to Zammad!",
"owner_id": 1,
"customer_id": 2,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-03T08:52:34.556Z",
"last_contact_agent_at": null,
"last_contact_customer_at": "2025-07-03T08:52:34.556Z",
"last_owner_update_at": null,
"create_article_type_id": 5,
"create_article_sender_id": 2,
"article_count": 1,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 2,
"created_by_id": 2,
"created_at": "2025-07-03T08:52:34.343Z",
"updated_at": "2025-07-03T08:52:34.661Z",
"checklist_id": null
},
{
"id": 2,
"group_id": 3,
"priority_id": 2,
"state_id": 4,
"organization_id": null,
"number": "69002",
"title": "Refund for order 4388019",
"owner_id": 7,
"customer_id": 15,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-01-04T13:54:28.811Z",
"last_contact_agent_at": "2025-01-03T07:54:28.787Z",
"last_contact_customer_at": "2025-01-04T13:54:28.811Z",
"last_owner_update_at": null,
"create_article_type_id": 1,
"create_article_sender_id": 2,
"article_count": 3,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 15,
"created_by_id": 15,
"created_at": "2025-01-03T06:54:28.656Z",
"updated_at": "2025-07-03T08:54:28.821Z",
"checklist_id": null
},
{
"id": 3,
"group_id": 5,
"priority_id": 2,
"state_id": 2,
"organization_id": 3,
"number": "69003",
"title": "Order of 10 laptops XYX3000",
"owner_id": 14,
"customer_id": 18,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-03T08:17:28.879Z",
"last_contact_agent_at": "2025-07-03T08:17:28.879Z",
"last_contact_customer_at": "2025-07-03T07:14:28.831Z",
"last_owner_update_at": null,
"create_article_type_id": 1,
"create_article_sender_id": 2,
"article_count": 3,
"escalation_at": "2025-07-03T08:14:28.832Z",
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 14,
"created_by_id": 18,
"created_at": "2025-07-03T07:14:28.831Z",
"updated_at": "2025-07-03T08:54:28.938Z",
"checklist_id": null
},
{
"id": 4,
"group_id": 9,
"priority_id": 3,
"state_id": 2,
"organization_id": 2,
"number": "69004",
"title": "Onboarding new colleague",
"owner_id": 3,
"customer_id": 10,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-01T08:54:28.948Z",
"last_contact_agent_at": null,
"last_contact_customer_at": "2025-07-01T08:54:28.948Z",
"last_owner_update_at": null,
"create_article_type_id": 11,
"create_article_sender_id": 2,
"article_count": 1,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 10,
"created_by_id": 10,
"created_at": "2025-07-01T08:54:28.948Z",
"updated_at": "2025-07-03T08:54:29.488Z",
"checklist_id": 1
},
{
"id": 5,
"group_id": 9,
"priority_id": 3,
"state_id": 2,
"organization_id": 2,
"number": "69005",
"title": "IT | Onboarding new colleague",
"owner_id": 3,
"customer_id": 10,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-01T08:59:29.238Z",
"last_contact_agent_at": null,
"last_contact_customer_at": "2025-07-01T08:59:29.238Z",
"last_owner_update_at": null,
"create_article_type_id": 11,
"create_article_sender_id": 2,
"article_count": 1,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 10,
"created_by_id": 10,
"created_at": "2025-07-01T08:59:29.238Z",
"updated_at": "2025-07-03T08:54:29.495Z",
"checklist_id": 2
},
{
"id": 6,
"group_id": 4,
"priority_id": 2,
"state_id": 2,
"organization_id": null,
"number": "69006",
"title": "Laptop not working [Order 931529477]",
"owner_id": 6,
"customer_id": 16,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-03T08:43:29.827Z",
"last_contact_agent_at": "2025-07-03T08:43:29.827Z",
"last_contact_customer_at": "2025-07-03T08:34:29.703Z",
"last_owner_update_at": null,
"create_article_type_id": 1,
"create_article_sender_id": 2,
"article_count": 5,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 8,
"created_by_id": 16,
"created_at": "2025-07-03T08:07:29.526Z",
"updated_at": "2025-07-03T08:54:29.870Z",
"checklist_id": null
},
{
"id": 7,
"group_id": 2,
"priority_id": 1,
"state_id": 2,
"organization_id": null,
"number": "69007",
"title": "My battery is dead / order 110572",
"owner_id": 13,
"customer_id": 17,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_close_at": null,
"last_contact_at": "2025-07-03T07:54:29.904Z",
"last_contact_agent_at": null,
"last_contact_customer_at": "2025-07-03T07:54:29.904Z",
"last_owner_update_at": null,
"create_article_type_id": 1,
"create_article_sender_id": 2,
"article_count": 1,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 17,
"created_by_id": 17,
"created_at": "2025-07-03T07:54:29.904Z",
"updated_at": "2025-07-03T08:54:29.958Z",
"checklist_id": null
}
]Mostra
Permesso richiesto: ticket.agent o ticket.customer
Richiesta GET inviata: /api/v1/tickets/{ticket id}
Details
json
// HTTP-Code 200 OK
{
"id": 3,
"group_id": 1,
"priority_id": 2,
"state_id": 4,
"organization_id": 3,
"number": "22003",
"title": "Order 787556",
"owner_id": 3,
"customer_id": 7,
"note": null,
"first_response_at": null,
"first_response_escalation_at": null,
"first_response_in_min": null,
"first_response_diff_in_min": null,
"close_at": null,
"close_escalation_at": null,
"close_in_min": null,
"close_diff_in_min": null,
"update_escalation_at": null,
"update_in_min": null,
"update_diff_in_min": null,
"last_contact_at": "2021-06-03T09:57:17.987Z",
"last_contact_agent_at": "2021-06-03T09:57:17.987Z",
"last_contact_customer_at": "2021-06-01T11:57:17.935Z",
"last_owner_update_at": null,
"create_article_type_id": 1,
"create_article_sender_id": 2,
"article_count": 2,
"escalation_at": null,
"pending_time": null,
"type": null,
"time_unit": null,
"preferences": {},
"updated_by_id": 4,
"created_by_id": 7,
"created_at": "2021-06-01T11:57:17.935Z",
"updated_at": "2021-11-03T11:57:17.997Z"
}Crea
Permesso richiesto: ticket.agent o ticket.customer
Richiesta POST inviata: /api/v1/tickets
TIP
On behalf of users
If you want to create tickets on behalf of other users, use the customer_id attribute. This requires the ticket.agent permission. Without it, customer_id is ignored and the ticket's Customer field is set to the current user. Use guess:{email address} to save an API call if you don't know the user's ID or want to create the user in question ("customer_id": "guess:jane@doe.com").
When creating a ticket on behalf of a customer with an initial article, you must set article.sender to "Customer" explicitly. Without this, the sender defaults to "Agent" (based on the current user's permission). This affects the ticket's create_article_sender_id and the resulting contact timestamp calculations.
The same applies to articles added later via PUT: set sender explicitly there as well when acting on behalf of a customer. Since the sender of an article cannot be changed after creation, it is important to set it correctly from the start.
For more details on the sender attribute, see articles.
TIP
Add mention subscription right away
Add the mentions attribute to your ticket payload and provide an array of user ids to directly subscribe them during ticket creation.
E.g.: "mentions": [1, 5, 7, 8],
Details
json
{
"title": "Help me!",
"group": "2nd Level",
"customer": "david@example.com",
"article": {
"subject": "My subject",
"body": "I am a message!",
"type": "note",
"sender": "Customer",
"internal": false
}
}TIP
The sender attribute of the initial article determines the ticket's create_article_sender_id and contact timestamps. For the full list of article attributes and their behavior, see articles.
Aggiornamento
Permesso richiesto: ticket.agent o ticket.customer
Richiesta PUT inviata: /api/v1/tickets/{ticket id}
Details
json
{
"title": "No help for you",
"group": "Sales",
"state": "open",
"priority": "3 high",
"article": {
"subject": "Update via API",
"body": "Here's my reason for updating this ticket...",
"internal": true
}
}INFO
L'esempio sopra fornisce un articolo. Questo articolo è un nuovo articolo e non influisce su nessun.
TIP
Aggiunta di allegati
I payload degli allegati sono identici al metodo POST, usa semplicemente.
Elimina
Permesso richiesto: admin
Richiesta DELETE inviata: /api/v1/tickets/{ticket id}
DANGER
Questa è una rimozione permanente:
Tieni presente che rimuovere ticket non può essere annullato.
Details
Risposta:
json
// HTTP-Code 200 OK
{}