{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"52e540b6-537c-4812-b935-841f324a572c","name":"Chat2Desk Public API","description":"This API is designed to send and receive messages, get clients list, apply tags, set webhooks and more.\n\nTo start testing the API:\n\n- Go to the System site (see _TERMS_ below) under admin account and open _Settings > API_ section.\n    \n- Using Postman app, copy API token to this Postman collection in _Variables_ section.\n    \n- Make sure you have a few messages from clients to test the API.\n    \n\nThe footnotes indicate the changes that are planned for the next release.\n\n**Important!** The release date can be changed.\n\n## CHANGELOG\n\n**2026-01-27**\n\nAdded new `imported_message` event for `webhooks (POST)`\n\nAdded API for operators management (`/operators` `(POST)`, `(PUT)`)\n\nAdded API for new custom role model (`/access rights` `(GET)` and `/access_rights/:id` `(GET)`)\n\n**2025-07-30**\n\nAdded new parameter `force_assign` for the following methods `messages/:id/transfer`, `messages/:id/transfer_to_group`, `dialogs/:id/`\n\n**2025-06-06**\n\nAdded Webhook Signature Verification (HMAC). See Webhooks description\n\n**2025-05-01**\n\nChanges in `/statistics` response. Examples added\n\n**2024-09-17**\n\nAdded new method `companies/info (GET)`\n\n**2024-08-12**\n\nAdded API for Tickets managment (`/tickets` `(GET)`, `(POST)`, `(PUT)`, `(DELETE)`)\n\nAdded new `new_ticket`, `ticket_updated`, `ticket_deleted` events for `webhooks (POST)`\n\nAdded new values (`help/tickets (GET)`) for Tickets in `Data types and values`\n\n**2024-07-03**\n\nAdded new `client_added_to_blacklist` event for `webhooks (POST)`.\n\nAdded new filter by channels for `webhooks (POST)`.\n\nAdded new supported transport for `messages (POST)` with buttons and interactive type.\n\nAdded `two_factor` field in `operators (GET)` response.\n\nAdded `attachment_filename` parameter for `messages (POST)` to provide the original filename.\n\nAdded `attachment` parameter for `messages/inbox (POST)`. We recommend using this instead of `image` or `video`.\n\nAdded `attachment_filename` parameter for `messages/inbox (POST)` to provide the original filename. Note that `attachment` is required; `image` or `video` do not support `attachment_filename`.\n\n**2024-02-20**\n\nAdded new events `operator_status_changed` and `operator_authentication_updated` for `webhooks (POST)`.\n\nAdded new parameters _client_phone_ and _custom_fields_ for `message/inbox (POST)`.\n\nAdded the ability to send interactive messages with type _list_ in Wa dialog for `messages (POST)`.\n\nAdded the ability to send interactive messages with type _buttons_ in Wa dialog for `messages (POST)`.\n\n##### _Earlier changelog is not provided._\n\n## TERMS\n\n_System_ — {{brand}} service.\n\n_Client_ — is a person, who sends or receives messages via the System.\n\n_Transport_ – is a messenger, social network or online chat which is supported by the System. Such as WhatsApp, Viber, Telegram, Facebook, Instagram, VKontakte, online chat and more.\n\n_Channel_ — is a group of your messenger accounts. You can have many channels with different auto replies, self service menu, chat assignment etc. for each channel.\n\n_External channel_ — is a source of messages from any messenger (transport) not supported by the System. For example, 3rd party chat, messenger, app or CRM.\n\n_Request_ — is a set of messages within a dialog with a client. As a rule, request starts with first client message and finishes when the dialog is closed. When the client continues to chat in closed dialog, a new request starts in the same dialog.\n\n## GENERAL INFORMATION\n\n- RESTful architecture and methods GET, PUT, DEL and POST are used.\n    \n- Commands’ results are presented in JSON format.\n    \n- This API uses HTTPS.\n    \n- Authorization is based on API token, which is available in _Settings > API_ on the site under admin account.\n    \n- Commands that return large list of data support pagination using URL parameters:\n    \n    - _limit_ — number of records returned (maximum is 200, default is 20).\n        \n    - _offset_ — offset from the 1st record of the list (default is 0). `Messages (GET)` is an exception as it uses _start_id_ instead of _offset_.Example of the request (list of clients): `/v1/clients?offset=50&limit=30`\n        \n- In general, the system is designed to answer those clients who first contacted your company and so are in the list of you clients (see `clients (GET)`). Using `clients (POST)` you can create a new client and then contact him or her. Contact these newly created clients reasonably because your messenger account might get **blocked** for spam in case of too many new contacts or messages.\n    \n\n## BEFORE YOU BEGIN\n\nObtain your API token on the System site in _Settings > API_ section. Info on the API is available with `api_modes (GET)`. Put the token to this Postman collection in _Variables_ section using Postman app.\n\nThere are 2 ways to work with messages:\n\n- Your clients use regular messengers, social networks, emails or our online chat to send messages to your company. In this case use `webhooks (POST)` to receive these messages from the System. To send messages back to the clients use `messages (POST)`.  \n    If you want to contact a client that never contacted you before ( this is _Write first_ paid option) use `client (POST)` to create a new client, get the client's id and then use `messages (POST)` to send a message as described above.\n    \n- Your clients contact you via your own app, CRM or contact form and you need the System to let your operators (agents) and chat bots to serve the clients. You should use _external channel_ to pass messages to the System from these external source of messages using `messages/inbox (POST)`. To receive operators’ and chat bots replies to send them back to your clients – use webhooks (see `webhooks (POST)`).","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"8899980","collectionId":"52e540b6-537c-4812-b935-841f324a572c","publishedId":"UVC8BRBo","public":true,"publicUrl":"https://documenter-api.postman.tech/view/8899980/UVC8BRBo","privateUrl":"https://go.postman.co/documentation/8899980-52e540b6-537c-4812-b935-841f324a572c","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"}}]}},"version":"8.10.1","publishDate":"2025-06-02T14:38:46.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/810b81fbec80a2e22efbd7b492867e30c4b7321bd26348004a418979dfae1a5d","favicon":"https://res.cloudinary.com/postman/image/upload/v1667549025/team/buxw5j1qiwgjpzlzggps.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/UVC8BRBo"}