{
    "info": {
        "_postman_id": "6c0f1f2e-3b4a-4d5e-8f60-7a8b9c0d1e2f",
        "name": "Zono Support REST API v1",
        "description": "Set the collection variables: token (a team API key from Profile > API & MCP tokens, Premium, or an OAuth 2.0 access token) and baseUrl. Reference: https://zono.support/developers/api",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{token}}",
                "type": "string"
            }
        ]
    },
    "variable": [
        {
            "key": "baseUrl",
            "value": "https://zono.support/api/v1",
            "type": "string"
        },
        {
            "key": "token",
            "value": "",
            "type": "string"
        }
    ],
    "item": [
        {
            "name": "Account",
            "description": "Check which user, team and access a token has.",
            "item": [
                {
                    "name": "Get the token's user and team",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/me",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "me"
                            ]
                        },
                        "description": "The token's user, team and access (read or write)."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Tickets",
            "description": "Changes run through the same code as the app: notifications, SLA clocks, automation rules and webhooks all fire.",
            "item": [
                {
                    "name": "List tickets",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets?status=open&priority=high,urgent&per_page=50",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "open",
                                    "description": "open, answered, on-hold or closed; comma-separate several.",
                                    "disabled": false
                                },
                                {
                                    "key": "priority",
                                    "value": "high,urgent",
                                    "description": "low, normal, high, urgent or none; comma-separate several.",
                                    "disabled": false
                                },
                                {
                                    "key": "assignee_id",
                                    "value": "",
                                    "description": "A user id, \"me\" or \"unassigned\".",
                                    "disabled": true
                                },
                                {
                                    "key": "department_id",
                                    "value": "",
                                    "description": "Department id.",
                                    "disabled": true
                                },
                                {
                                    "key": "product_id",
                                    "value": "",
                                    "description": "Product id.",
                                    "disabled": true
                                },
                                {
                                    "key": "customer_id",
                                    "value": "",
                                    "description": "Customer id.",
                                    "disabled": true
                                },
                                {
                                    "key": "customer_email",
                                    "value": "",
                                    "description": "The customer's exact email (case-insensitive). Works for every role, still limited to tickets the token's user can see.",
                                    "disabled": true
                                },
                                {
                                    "key": "tag_id",
                                    "value": "",
                                    "description": "Tickets carrying this tag.",
                                    "disabled": true
                                },
                                {
                                    "key": "created_after",
                                    "value": "",
                                    "description": "ISO-8601 timestamp.",
                                    "disabled": true
                                },
                                {
                                    "key": "updated_after",
                                    "value": "",
                                    "description": "ISO-8601 timestamp; use it to sync changes.",
                                    "disabled": true
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Case-insensitive match on the subject; a ticket number (1042 or #1042) also matches that ticket.",
                                    "disabled": true
                                },
                                {
                                    "key": "sort",
                                    "value": "",
                                    "description": "created_at, -created_at, updated_at, -updated_at (default -created_at).",
                                    "disabled": true
                                },
                                {
                                    "key": "per_page",
                                    "value": "50",
                                    "description": "1-100, default 25.",
                                    "disabled": false
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "List tickets the token's user can see."
                    },
                    "response": []
                },
                {
                    "name": "Get a ticket",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets/:ticket",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets",
                                ":ticket"
                            ],
                            "variable": [
                                {
                                    "key": "ticket",
                                    "value": "1042",
                                    "description": "Ticket ULID or ticket number."
                                }
                            ]
                        },
                        "description": "One ticket with its customer, assignee, tags, custom fields and SLA summary."
                    },
                    "response": []
                },
                {
                    "name": "Create a ticket",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets"
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"subject\": \"Cannot activate my license\",\n    \"description\": \"My key says it is already in use.\",\n    \"product_id\": 12,\n    \"customer\": {\n        \"email\": \"ada@example.com\",\n        \"name\": \"Ada Lovelace\"\n    },\n    \"priority\": \"high\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Create a ticket for an existing customer, or for a customer found (or created) by email. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Update a ticket",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets/:ticket",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets",
                                ":ticket"
                            ],
                            "variable": [
                                {
                                    "key": "ticket",
                                    "value": "1042",
                                    "description": "Ticket ULID or ticket number."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"status\": \"on-hold\",\n    \"priority\": \"urgent\",\n    \"custom_fields\": {\n        \"order_number\": \"A-1042\"\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Change a ticket. Only the fields you send change. Merged tickets answer 409. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "List a ticket's replies",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets/:ticket/replies",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets",
                                ":ticket",
                                "replies"
                            ],
                            "query": [
                                {
                                    "key": "sort",
                                    "value": "",
                                    "description": "created_at (oldest first, default) or -created_at (newest first).",
                                    "disabled": true
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "ticket",
                                    "value": "1042",
                                    "description": "Ticket ULID or ticket number."
                                }
                            ]
                        },
                        "description": "The ticket's replies, oldest first unless sorted, internal replies included."
                    },
                    "response": []
                },
                {
                    "name": "Reply to a ticket",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets/:ticket/replies",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets",
                                ":ticket",
                                "replies"
                            ],
                            "variable": [
                                {
                                    "key": "ticket",
                                    "value": "1042",
                                    "description": "Ticket ULID or ticket number."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"body\": \"Thanks Ada, a new key is on its way.\",\n    \"close_ticket\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Reply as the token's user. Public replies are sent to the customer on the ticket's channel. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "List a ticket's notes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets/:ticket/notes",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets",
                                ":ticket",
                                "notes"
                            ],
                            "query": [
                                {
                                    "key": "sort",
                                    "value": "",
                                    "description": "created_at (oldest first, default) or -created_at (newest first).",
                                    "disabled": true
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "ticket",
                                    "value": "1042",
                                    "description": "Ticket ULID or ticket number."
                                }
                            ]
                        },
                        "description": "The ticket's internal notes, oldest first unless sorted."
                    },
                    "response": []
                },
                {
                    "name": "Add a note to a ticket",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets/:ticket/notes",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets",
                                ":ticket",
                                "notes"
                            ],
                            "variable": [
                                {
                                    "key": "ticket",
                                    "value": "1042",
                                    "description": "Ticket ULID or ticket number."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"body\": \"Refund approved by finance.\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Add an internal note as the token's user. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Mark a ticket as spam",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets/:ticket/spam",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets",
                                ":ticket",
                                "spam"
                            ],
                            "variable": [
                                {
                                    "key": "ticket",
                                    "value": "1042",
                                    "description": "Ticket ULID or ticket number."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"block\": [\n        \"email\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Mark the ticket as spam, as the ticket page does: it leaves the app's ticket lists, its SLA clocks and survey stop, and it is deleted for good after 30 days unless moved out of spam (the ticket's spam field shows when). Marking a spam ticket again changes nothing. meta tells how many tickets were marked and what was blocked or skipped. Merged tickets answer 409. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Move a ticket out of spam",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets/:ticket/spam",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets",
                                ":ticket",
                                "spam"
                            ],
                            "variable": [
                                {
                                    "key": "ticket",
                                    "value": "1042",
                                    "description": "Ticket ULID or ticket number."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"remove_blocks\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Move the ticket out of spam: it is back in the app's lists and its SLA clocks resume. meta.unmarked is false when it was not spam. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Set a ticket's metadata",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tickets/:ticket/metadata",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tickets",
                                ":ticket",
                                "metadata"
                            ],
                            "variable": [
                                {
                                    "key": "ticket",
                                    "value": "1042",
                                    "description": "Ticket ULID or ticket number."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"metadata\": {\n        \"order_id\": \"A-1042\",\n        \"refund_eligible\": true\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Set metadata about the ticket, shown to your team under From your app. A ticket that came from a chat keeps it on its conversation, so the chat shows the same values. Keys are 1 to 40 lowercase letters, digits and underscores (zono_ is reserved; keys naming passwords, secrets, tokens, cards, CVV, SSN or IBAN are refused). Values are strings of at most 255 characters (ISO dates as strings), numbers or booleans; null deletes the key. At most 30 keys are kept and 4 KB sent per request; the latest write of a key wins. Strings that look like a card number or an IBAN are stored as [removed]. Values written here are marked Signed in the inbox and are never sent to the AI agent. Needs a read-write token."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Customers",
            "description": "Admin and owner tokens only, as in the app: other roles get 403. Email addresses and external ids are unique per team. Passwords and tokens are never accepted or returned. Changing an email clears its verification, so the customer must verify the new address before using the portal.",
            "item": [
                {
                    "name": "List customers",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/customers?email=ada@example.com",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "customers"
                            ],
                            "query": [
                                {
                                    "key": "email",
                                    "value": "ada@example.com",
                                    "description": "Exact email (case-insensitive).",
                                    "disabled": false
                                },
                                {
                                    "key": "external_id",
                                    "value": "",
                                    "description": "Your own id for the customer.",
                                    "disabled": true
                                },
                                {
                                    "key": "marketplace_username",
                                    "value": "",
                                    "description": "The customer's username on a connected marketplace, e.g. their Envato buyer username (case-insensitive).",
                                    "disabled": true
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Matches name or email.",
                                    "disabled": true
                                },
                                {
                                    "key": "updated_after",
                                    "value": "",
                                    "description": "ISO-8601 timestamp.",
                                    "disabled": true
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "List customers, newest first."
                    },
                    "response": []
                },
                {
                    "name": "Get a customer",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/customers/:customer",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "customers",
                                ":customer"
                            ],
                            "variable": [
                                {
                                    "key": "customer",
                                    "value": "01j9x1c2d3e4f5g6h7j8k9m0n1",
                                    "description": "Customer id."
                                }
                            ]
                        },
                        "description": "One customer."
                    },
                    "response": []
                },
                {
                    "name": "Create a customer",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/customers",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "customers"
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"email\": \"ada@example.com\",\n    \"name\": \"Ada Lovelace\",\n    \"external_id\": \"crm-5521\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Create a customer. The email is marked verified: your team vouches for it. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Update a customer",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/customers/:customer",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "customers",
                                ":customer"
                            ],
                            "variable": [
                                {
                                    "key": "customer",
                                    "value": "01j9x1c2d3e4f5g6h7j8k9m0n1",
                                    "description": "Customer id."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Ada King\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Change a customer's name, email or external id. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Set a customer's attributes",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/customers/:customer/attributes",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "customers",
                                ":customer",
                                "attributes"
                            ],
                            "variable": [
                                {
                                    "key": "customer",
                                    "value": "01j9x1c2d3e4f5g6h7j8k9m0n1",
                                    "description": "Customer id."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"attributes\": {\n        \"plan\": \"pro\",\n        \"seats\": 12\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Set details about the customer, shown to your team under Sent by your website. Keys are 1 to 40 lowercase letters, digits and underscores (zono_ is reserved; keys naming passwords, secrets, tokens, cards, CVV, SSN or IBAN are refused). Values are strings of at most 255 characters (ISO dates as strings), numbers or booleans; null deletes the key. At most 30 keys are kept and 4 KB sent per request; the latest write of a key wins. Strings that look like a card number or an IBAN are stored as [removed]. Values written here are marked Signed in the inbox and are never sent to the AI agent. Needs a read-write token."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Licenses",
            "description": "Purchase codes and license keys stored for the team's customers, and live checks against the marketplace. Admin and owner tokens only, as they reveal customer data. Verifying never stores or changes anything, so a read-only token is enough.",
            "item": [
                {
                    "name": "api.v1.licenses.index",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/licenses?purchase_code=86781236-23d0-4b3c-7dfa-c1c147e0dece",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "licenses"
                            ],
                            "query": [
                                {
                                    "key": "purchase_code",
                                    "value": "86781236-23d0-4b3c-7dfa-c1c147e0dece",
                                    "description": "Exact purchase code or license key, as issued or in all lower or upper case.",
                                    "disabled": false
                                },
                                {
                                    "key": "customer_id",
                                    "value": "",
                                    "description": "Customer id.",
                                    "disabled": true
                                },
                                {
                                    "key": "marketplace",
                                    "value": "",
                                    "description": "envato, shopify, wordpress, gumroad, lemonsqueezy, independent.",
                                    "disabled": true
                                },
                                {
                                    "key": "product_id",
                                    "value": "",
                                    "description": "Product id.",
                                    "disabled": true
                                },
                                {
                                    "key": "external_license_id",
                                    "value": "",
                                    "description": "The marketplace's own id for the license or order.",
                                    "disabled": true
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "List stored licenses, newest first."
                    },
                    "response": []
                },
                {
                    "name": "api.v1.licenses.verify",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/licenses/verify",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "licenses",
                                "verify"
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"license_key\": \"86781236-23d0-4b3c-7dfa-c1c147e0dece\",\n    \"marketplace\": \"envato\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Check a key live against the marketplace. Returns valid, a short summary (item, buyer, license type, dates), and the stored license and customer if any. Limited to 30 requests per minute per token."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Conversations",
            "description": "Inbox conversations from every channel, limited to what the token's user sees in the Inbox, and what an agent does there: reply or add an internal note, assign, resolve, reopen, mark as spam, mark read and show a live chat visitor they are typing. Changes behave exactly as in the Inbox: a promoted conversation is replied to, assigned, closed and reopened through its ticket.",
            "item": [
                {
                    "name": "List conversations",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/conversations?status=open&channel=livechat&assignee=me&sort=-last_message_at",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "conversations"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "open",
                                    "description": "open, resolved or abandoned.",
                                    "disabled": false
                                },
                                {
                                    "key": "channel",
                                    "value": "livechat",
                                    "description": "email, livechat, slack, discord, whatsapp, instagram, telegram, messenger, line, tiktok or ai_agent.",
                                    "disabled": false
                                },
                                {
                                    "key": "customer_id",
                                    "value": "",
                                    "description": "Customer id.",
                                    "disabled": true
                                },
                                {
                                    "key": "assignee",
                                    "value": "me",
                                    "description": "me (the conversation or its ticket is assigned to the token's user) or unassigned.",
                                    "disabled": false
                                },
                                {
                                    "key": "unread",
                                    "value": "",
                                    "description": "1 or true: only conversations with messages the token's user has not read.",
                                    "disabled": true
                                },
                                {
                                    "key": "sort",
                                    "value": "-last_message_at",
                                    "description": "-created_at, -last_message_at (default -created_at). -last_message_at puts the latest activity first.",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "List conversations, newest first unless sorted. Each carries whether the token's user has unread messages on it and a preview of its latest public message."
                    },
                    "response": []
                },
                {
                    "name": "Get a conversation",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/conversations/:conversation",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "conversations",
                                ":conversation"
                            ],
                            "variable": [
                                {
                                    "key": "conversation",
                                    "value": "01j9x4c5d6e7f8g9h0j1k2m3n4",
                                    "description": "Conversation id."
                                }
                            ]
                        },
                        "description": "One conversation with its channel, customer and ticket."
                    },
                    "response": []
                },
                {
                    "name": "Update a conversation",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/conversations/:conversation",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "conversations",
                                ":conversation"
                            ],
                            "variable": [
                                {
                                    "key": "conversation",
                                    "value": "01j9x4c5d6e7f8g9h0j1k2m3n4",
                                    "description": "Conversation id."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"status\": \"resolved\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Assign or unassign, resolve or reopen the conversation. Send at least one field. Resolving a live chat ends it in the visitor's widget (with the rating prompt when CSAT is on); outside live chat a promoted conversation's ticket is closed or reopened with it. Reopening answers 422 when the customer already has another open conversation on the channel. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Set a conversation's metadata",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/conversations/:conversation/metadata",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "conversations",
                                ":conversation",
                                "metadata"
                            ],
                            "variable": [
                                {
                                    "key": "conversation",
                                    "value": "01j9x4c5d6e7f8g9h0j1k2m3n4",
                                    "description": "Conversation id."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"metadata\": {\n        \"order_id\": \"A-1042\",\n        \"cart_total\": 59.9\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Set metadata about the conversation, shown to your team under From your app, and on the ticket if it is promoted. Keys are 1 to 40 lowercase letters, digits and underscores (zono_ is reserved; keys naming passwords, secrets, tokens, cards, CVV, SSN or IBAN are refused). Values are strings of at most 255 characters (ISO dates as strings), numbers or booleans; null deletes the key. At most 30 keys are kept and 4 KB sent per request; the latest write of a key wins. Strings that look like a card number or an IBAN are stored as [removed]. Values written here are marked Signed in the inbox and are never sent to the AI agent. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Mark a conversation as spam",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/conversations/:conversation/spam",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "conversations",
                                ":conversation",
                                "spam"
                            ],
                            "variable": [
                                {
                                    "key": "conversation",
                                    "value": "01j9x4c5d6e7f8g9h0j1k2m3n4",
                                    "description": "Conversation id."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"block\": [\n        \"email\",\n        \"ip\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Mark the conversation as spam, as the Inbox does: a promoted conversation through its ticket (see Mark a ticket as spam); a chat that is not a ticket is resolved and needs block. The conversation's spam field turns true. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Move a conversation out of spam",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/conversations/:conversation/spam",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "conversations",
                                ":conversation",
                                "spam"
                            ],
                            "variable": [
                                {
                                    "key": "conversation",
                                    "value": "01j9x4c5d6e7f8g9h0j1k2m3n4",
                                    "description": "Conversation id."
                                }
                            ]
                        },
                        "description": "Move the conversation's ticket out of spam. Answers 409 when it is not marked as spam. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "List a conversation's messages",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/conversations/:conversation/messages",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "conversations",
                                ":conversation",
                                "messages"
                            ],
                            "query": [
                                {
                                    "key": "sort",
                                    "value": "",
                                    "description": "created_at (oldest first, default) or -created_at (newest first).",
                                    "disabled": true
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ],
                            "variable": [
                                {
                                    "key": "conversation",
                                    "value": "01j9x4c5d6e7f8g9h0j1k2m3n4",
                                    "description": "Conversation id."
                                }
                            ]
                        },
                        "description": "The conversation's messages, oldest first unless sorted, internal notes included."
                    },
                    "response": []
                },
                {
                    "name": "Reply to a conversation",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/conversations/:conversation/messages",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "conversations",
                                ":conversation",
                                "messages"
                            ],
                            "variable": [
                                {
                                    "key": "conversation",
                                    "value": "01j9x4c5d6e7f8g9h0j1k2m3n4",
                                    "description": "Conversation id."
                                }
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"body\": \"Thanks Ada, I have reset your activation.\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Reply as the token's user, exactly as in the Inbox: the customer gets it on the conversation's channel (live chat: instantly in the widget). A promoted conversation's reply is written on its ticket. Marks the conversation read for the token's user. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Mark a conversation read",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/conversations/:conversation/read",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "conversations",
                                ":conversation",
                                "read"
                            ],
                            "variable": [
                                {
                                    "key": "conversation",
                                    "value": "01j9x4c5d6e7f8g9h0j1k2m3n4",
                                    "description": "Conversation id."
                                }
                            ]
                        },
                        "description": "Mark the conversation read for the token's user. Answers 204."
                    },
                    "response": []
                },
                {
                    "name": "Show the visitor you are typing",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/conversations/:conversation/typing",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "conversations",
                                ":conversation",
                                "typing"
                            ],
                            "variable": [
                                {
                                    "key": "conversation",
                                    "value": "01j9x4c5d6e7f8g9h0j1k2m3n4",
                                    "description": "Conversation id."
                                }
                            ]
                        },
                        "description": "Show the live chat visitor that the token's user is typing; send it every few seconds while they type. Other channels have no typing indicator: nothing happens. Answers 204. Needs a read-write token."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Reference data",
            "description": "Read-only lists to map names to the ids tickets use.",
            "item": [
                {
                    "name": "List tags",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tags",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tags"
                            ],
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Ticket tags."
                    },
                    "response": []
                },
                {
                    "name": "Get a tag",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/tags/:tag",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "tags",
                                ":tag"
                            ],
                            "variable": [
                                {
                                    "key": "tag",
                                    "value": "01j9x0t1a2g3b4c5d6e7f8g9h0",
                                    "description": "Tag id."
                                }
                            ]
                        },
                        "description": "One tag."
                    },
                    "response": []
                },
                {
                    "name": "List departments",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/departments",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "departments"
                            ],
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Departments."
                    },
                    "response": []
                },
                {
                    "name": "Get a department",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/departments/:department",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "departments",
                                ":department"
                            ],
                            "variable": [
                                {
                                    "key": "department",
                                    "value": "01j9x0d1e2p3t4a5b6c7d8e9f0",
                                    "description": "Department id."
                                }
                            ]
                        },
                        "description": "One department."
                    },
                    "response": []
                },
                {
                    "name": "List products",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/products",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "products"
                            ],
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Products."
                    },
                    "response": []
                },
                {
                    "name": "Get a product",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/products/:product",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "products",
                                ":product"
                            ],
                            "variable": [
                                {
                                    "key": "product",
                                    "value": "12",
                                    "description": "Product id."
                                }
                            ]
                        },
                        "description": "One product."
                    },
                    "response": []
                },
                {
                    "name": "List team members",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/users",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "users"
                            ],
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Team members with their role."
                    },
                    "response": []
                },
                {
                    "name": "Get a team member",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/users/:user",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "users",
                                ":user"
                            ],
                            "variable": [
                                {
                                    "key": "user",
                                    "value": "01j9x0u1v2w3x4y5z6a7b8c9d0",
                                    "description": "User id."
                                }
                            ]
                        },
                        "description": "One team member."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Knowledge base",
            "description": "Articles (read only). Admin and owner tokens also see drafts; other roles see published articles only.",
            "item": [
                {
                    "name": "List knowledge base articles",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/knowledge-base/articles?status=published",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "knowledge-base",
                                "articles"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "published",
                                    "description": "published or draft (draft: admin and owner tokens only).",
                                    "disabled": false
                                },
                                {
                                    "key": "category_id",
                                    "value": "",
                                    "description": "Category id.",
                                    "disabled": true
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Matches the title.",
                                    "disabled": true
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "List articles, most recently updated first."
                    },
                    "response": []
                },
                {
                    "name": "Get a knowledge base article",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/knowledge-base/articles/:article",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "knowledge-base",
                                "articles",
                                ":article"
                            ],
                            "variable": [
                                {
                                    "key": "article",
                                    "value": "reset-your-password",
                                    "description": "Article id or slug."
                                }
                            ]
                        },
                        "description": "One article by id or slug."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Webhook subscriptions",
            "description": "REST Hooks for no-code tools (Zapier, n8n, Make): subscribe a URL to events when a trigger is switched on and unsubscribe when it is switched off. Deliveries are signed and retried like any webhook. Owner and admin tokens only (other roles get 403); subscriptions belong to the token (an API key, or the OAuth app's connection), so revoking the key or disconnecting the app removes them. Endpoints added under Settings > Webhooks are not listed here and cannot be changed through the API.",
            "item": [
                {
                    "name": "List webhook subscriptions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/hooks",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "hooks"
                            ],
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "1-100, default 25.",
                                    "disabled": true
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "meta.next_cursor from the previous page.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "The team's API subscriptions, newest first. Secrets are never returned."
                    },
                    "response": []
                },
                {
                    "name": "Get a webhook subscription",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/hooks/:hook",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "hooks",
                                ":hook"
                            ],
                            "variable": [
                                {
                                    "key": "hook",
                                    "value": "01j9x5h6o7o8k9s0a1b2c3d4e5",
                                    "description": "Subscription id."
                                }
                            ]
                        },
                        "description": "One API subscription."
                    },
                    "response": []
                },
                {
                    "name": "Subscribe to webhook events",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            },
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/hooks",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "hooks"
                            ]
                        },
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"target_url\": \"https://hooks.zapier.com/hooks/standard/123/abc\",\n    \"event\": \"ticket.created\",\n    \"integration\": \"zapier\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "description": "Subscribe a URL to one or more events. The response carries the signing secret, once. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Unsubscribe",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/hooks/:hook",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "hooks",
                                ":hook"
                            ],
                            "variable": [
                                {
                                    "key": "hook",
                                    "value": "01j9x5h6o7o8k9s0a1b2c3d4e5",
                                    "description": "Subscription id."
                                }
                            ]
                        },
                        "description": "Unsubscribe. Answers 204, or 404 if the subscription is gone. Needs a read-write token."
                    },
                    "response": []
                },
                {
                    "name": "Get sample event payloads",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/hooks/samples/:event",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "hooks",
                                "samples",
                                ":event"
                            ],
                            "variable": [
                                {
                                    "key": "event",
                                    "value": "ticket.created",
                                    "description": "A subscribable event, e.g. ticket.created."
                                }
                            ]
                        },
                        "description": "Up to 3 sample payloads for an event, exactly as delivered: the team's latest real events, else one built from its latest matching record (data.sample = true), else a static example."
                    },
                    "response": []
                }
            ]
        }
    ]
}