{"info":{"_postman_id":"3c72728f-769f-430d-bd6f-3e3536a5e78d","name":"HueChat API","description":"<html><head></head><body><h1 id=\"huechat-api\">HueChat API</h1>\n<p>Welcome to the official HueChat REST API. HueChat is a customer messaging and engagement platform that unifies WhatsApp, email, web chat, and AI-powered support into a single inbox. This API gives your applications full programmatic access to every public-facing resource in your account — conversations, contacts, messages, broadcasts, templates, webhooks, contact lists, tickets, and deals.</p>\n<p>Version 1 of the HueChat API is structured around REST, HTTP, and JSON. Endpoint URLs are organized around resources such as <code>conversations</code> or <code>contacts</code>. The API uses HTTP methods to indicate the action to take on a resource and HTTP status codes to express error states. All responses are returned as JSON.</p>\n<hr>\n<h1 id=\"installation\">Installation</h1>\n<p>Click the <strong>Run in Postman</strong> button at the top-right corner of this documentation to import the entire collection into your local Postman workspace. Once imported, fill in the <code>api_token</code> and <code>account_id</code> variables in the pre-configured environment, and every request in this collection will automatically authenticate against your HueChat account.</p>\n<p>You can also download any request as a code snippet (cURL, Python, JavaScript, Go, PHP, Ruby) directly from Postman by clicking the <strong>Code</strong> button on the top-right of any request panel.</p>\n<hr>\n<h1 id=\"base-url\">Base URL</h1>\n<p>The API is accessed using the following base URL:</p>\n<p><strong><code>https://app.huechat.ai</code></strong></p>\n<p>All v1 endpoint paths begin with <code>/api/v1/accounts/{account_id}/</code>. A smaller set of newer resources (Broadcasts, Templates, Contact Lists, Tickets, Deals, Outbound Webhooks, AI Agents) lives under <code>/api/v2/accounts/{account_id}/</code>.</p>\n<p>All API requests <strong>must</strong> be made over HTTPS. Plain HTTP requests will be rejected with a <code>426 Upgrade Required</code> response. Connections must support TLS 1.2 or higher.</p>\n<hr>\n<h1 id=\"schema\">Schema</h1>\n<p>All API requests and response bodies adhere to a common JSON format representing individual items, collections of items, links to related items, and additional meta data.</p>\n<h3 id=\"single-resources\">Single Resources</h3>\n<p>Individual resources are returned as a JSON object representing the resource directly, for example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": 42,\n  \"name\": \"Sarah Ahmed\",\n  \"email\": \"sarah@example.com\",\n  \"created_at\": 1712400000\n}\n\n</code></pre>\n<h3 id=\"collections\">Collections</h3>\n<p>Collections of resources are returned as an object with a <code>data</code> or <code>payload</code> array and a <code>meta</code> object describing pagination:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": {\n    \"meta\": {\n      \"mine_count\": 12,\n      \"unassigned_count\": 5,\n      \"all_count\": 45\n    },\n    \"payload\": [\n      { \"id\": 1, \"...\": \"...\" },\n      { \"id\": 2, \"...\": \"...\" }\n    ]\n  }\n}\n\n</code></pre>\n<h3 id=\"timestamps\">Timestamps</h3>\n<p>All timestamps are returned as Unix epoch seconds (integers) unless explicitly stated otherwise. Broadcast, template, and webhook resources use ISO 8601 date-time strings for historical reasons.</p>\n<h3 id=\"identifiers\">Identifiers</h3>\n<ul>\n<li><p><strong>Integer IDs</strong> are used for conversations (<code>display_id</code>), contacts, messages, inboxes, agents, teams, and webhooks.</p>\n</li>\n<li><p><strong>UUID strings</strong> are used for newer resources: broadcasts, templates, contact lists, tickets, deals, and outbound webhook subscriptions.</p>\n</li>\n</ul>\n<hr>\n<h1 id=\"environment\">Environment</h1>\n<p>This collection includes a pre-configured environment with the following variables. You must set <code>api_token</code> and <code>account_id</code> before making any requests.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>base_url</code></td>\n<td>The API base URL. Defaults to <code>https://app.huechat.ai</code> — do not change unless instructed.</td>\n</tr>\n<tr>\n<td><code>api_token</code></td>\n<td>Your HueChat API key. Found under <strong>Settings → API Keys</strong> in the dashboard.</td>\n</tr>\n<tr>\n<td><code>account_id</code></td>\n<td>The numeric ID of your HueChat account. Shown in the dashboard URL.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"getting-your-api-token\">Getting your API Token</h3>\n<ol>\n<li><p>Sign in to <a href=\"https://app.huechat.ai\">app.huechat.ai</a></p>\n</li>\n<li><p>Open <strong>Settings → API Keys</strong></p>\n</li>\n<li><p>Click <strong>Create API Key</strong>, give it a name and scope (e.g. <code>conversations:write</code>, <code>messages:write</code>)</p>\n</li>\n<li><p>Copy the <code>hc_live_...</code> token — this is the only time the full token will be shown</p>\n</li>\n<li><p>Paste it into the <code>api_token</code> environment variable in Postman</p>\n</li>\n</ol>\n<hr>\n<h1 id=\"guidance\">Guidance</h1>\n<p>To ensure the best experience with the HueChat API, please observe the following guidelines:</p>\n<ul>\n<li><p><strong>Use version 1 (v1) or version 2 (v2) APIs</strong> — never call internal, unversioned, or <code>/platform/</code> endpoints. Those are reserved for HueChat internal use and are not part of the public API contract.</p>\n</li>\n<li><p><strong>Respect rate limits.</strong> Every endpoint has a documented rate limit (see the per-endpoint description). If you receive a <code>429 Too Many Requests</code> response, pause or <em>sleep</em> execution for at least 1,000 milliseconds before retrying. We recommend implementing exponential backoff for production integrations.</p>\n</li>\n<li><p><strong>Always handle</strong> <strong><code>5xx</code></strong> <strong>errors gracefully.</strong> Treat <code>500</code>, <code>502</code>, <code>503</code>, and <code>504</code> responses as transient and retry with backoff. Do not retry <code>4xx</code> responses without first correcting the request.</p>\n</li>\n<li><p><strong>Use idempotency keys</strong> for critical write operations when available (e.g. creating a conversation). This prevents duplicate records if a request times out and is retried.</p>\n</li>\n<li><p><strong>Keep your API keys secret.</strong> Never commit tokens to source control, log them, or expose them in client-side code. Use scoped API keys with the minimum permissions required for your integration.</p>\n</li>\n<li><p><strong>Rotate keys periodically.</strong> If you suspect a key has been compromised, revoke it immediately from the dashboard and generate a new one.</p>\n</li>\n</ul>\n<p>We are actively working on improving the platform, adding new features, and optimizing performance. Following these guidelines helps us provide a reliable, secure, and performant experience for all customers.</p>\n<hr>\n<h1 id=\"authentication\">Authentication</h1>\n<p>All requests to the HueChat API are authenticated by providing your API key. The API key must be provided as an HTTP header named <code>api_access_token</code>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>api_access_token: hc_live_your_token_here\n\n</code></pre><p>This collection's pre-request script automatically sets this header for every request, reading the value from the <code>api_token</code> environment variable. You do not need to add the header manually.</p>\n<h3 id=\"scoped-api-keys\">Scoped API Keys</h3>\n<p>HueChat supports <strong>scoped API keys</strong> with granular permissions. When creating a key, you can restrict it to specific operations such as <code>conversations:read</code>, <code>messages:write</code>, <code>contacts:delete</code>, and more. A request made with a scoped key that lacks the required scope will receive a <code>403 Forbidden</code> response with a descriptive error body.</p>\n<h3 id=\"ip-allowlisting\">IP Allowlisting</h3>\n<p>API keys can optionally be restricted to a list of allowed client IP addresses or CIDR ranges. Requests from IPs outside the allowlist will be rejected with <code>401 Unauthorized</code>, even if the key itself is valid.</p>\n<h3 id=\"key-expiration\">Key Expiration</h3>\n<p>API keys can be configured to expire at a specific timestamp. Expired keys return <code>401 Unauthorized</code> and must be rotated before they stop working.</p>\n<p><strong>Remember: keep your API key secret. Treat it like a password.</strong></p>\n<hr>\n<h1 id=\"rate-limits\">Rate Limits</h1>\n<p>Every API endpoint enforces a rate limit expressed as <strong>requests per minute</strong>. The exact limit depends on the endpoint and is documented in each request's description.</p>\n<p>Every response includes rate limit headers so your client can track usage and back off gracefully:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-RateLimit-Limit</code></td>\n<td>Maximum number of requests allowed in the current 60-second window</td>\n</tr>\n<tr>\n<td><code>X-RateLimit-Remaining</code></td>\n<td>Number of requests remaining in the current window</td>\n</tr>\n<tr>\n<td><code>X-RateLimit-Reset</code></td>\n<td>Unix timestamp when the current rate-limit window resets</td>\n</tr>\n</tbody>\n</table>\n</div><p>When the limit is exceeded, the API returns <code>429 Too Many Requests</code>. Scoped API keys can be created with custom rate limits (1 to 100,000 RPM) to match your integration's traffic profile.</p>\n<hr>\n<h1 id=\"errors\">Errors</h1>\n<p>HueChat uses conventional HTTP status codes to indicate the success or failure of an API request. Codes in the <code>2xx</code> range indicate success. Codes in the <code>4xx</code> range indicate a problem with the request (missing parameter, failed validation, insufficient scope, etc.). Codes in the <code>5xx</code> range indicate an error with HueChat's servers.</p>\n<h3 id=\"common-error-response-body\">Common error response body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Descriptive error message for developers\",\n  \"code\": \"invalid_parameter\",\n  \"status\": 400\n}\n\n</code></pre>\n<h3 id=\"standard-status-codes\">Standard status codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Meaning</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>200</code></td>\n<td>OK — the request succeeded</td>\n</tr>\n<tr>\n<td><code>201</code></td>\n<td>Created — a new resource was created</td>\n</tr>\n<tr>\n<td><code>204</code></td>\n<td>No Content — the request succeeded and there's nothing to return</td>\n</tr>\n<tr>\n<td><code>400</code></td>\n<td>Bad Request — the request body or query parameters are malformed</td>\n</tr>\n<tr>\n<td><code>401</code></td>\n<td>Unauthorized — the API key is missing, invalid, expired, or blocked by IP allowlist</td>\n</tr>\n<tr>\n<td><code>403</code></td>\n<td>Forbidden — the API key is valid but lacks the required scope for this endpoint</td>\n</tr>\n<tr>\n<td><code>404</code></td>\n<td>Not Found — the requested resource does not exist or you don't have access to it</td>\n</tr>\n<tr>\n<td><code>409</code></td>\n<td>Conflict — the request conflicts with the current state (e.g. sending an already-sent broadcast)</td>\n</tr>\n<tr>\n<td><code>422</code></td>\n<td>Unprocessable Entity — validation failed (e.g. invalid email format)</td>\n</tr>\n<tr>\n<td><code>429</code></td>\n<td>Too Many Requests — rate limit exceeded, retry after <code>X-RateLimit-Reset</code></td>\n</tr>\n<tr>\n<td><code>500</code></td>\n<td>Internal Server Error — something went wrong on our side, please retry</td>\n</tr>\n<tr>\n<td><code>502</code></td>\n<td>Bad Gateway — an upstream service (e.g. WhatsApp) is unreachable</td>\n</tr>\n<tr>\n<td><code>503</code></td>\n<td>Service Unavailable — the service is temporarily overloaded or down for maintenance</td>\n</tr>\n</tbody>\n</table>\n</div><hr>\n<h1 id=\"support\">Support</h1>\n<ul>\n<li><p><strong>Dashboard</strong>: <a href=\"https://app.huechat.ai\">app.huechat.ai</a></p>\n</li>\n<li><p><strong>Developer portal</strong>: <a href=\"https://app.huechat.ai/developers\">app.huechat.ai/developers</a></p>\n</li>\n<li><p><strong>Status page</strong>: <a href=\"https://status.huechat.ai\">status.huechat.ai</a></p>\n</li>\n<li><p><strong>Support email</strong>: <a href=\"https://mailto:support@huechat.ai\">support@huechat.ai</a></p>\n</li>\n</ul>\n<p>Found a bug or have a feature request? Reach out via the dashboard chat widget or email support and we'll get back to you within one business day.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"HueChat API","slug":"huechat-api"},{"content":"Installation","slug":"installation"},{"content":"Base URL","slug":"base-url"},{"content":"Schema","slug":"schema"},{"content":"Environment","slug":"environment"},{"content":"Guidance","slug":"guidance"},{"content":"Authentication","slug":"authentication"},{"content":"Rate Limits","slug":"rate-limits"},{"content":"Errors","slug":"errors"},{"content":"Support","slug":"support"}],"owner":"12967924","collectionId":"3c72728f-769f-430d-bd6f-3e3536a5e78d","publishedId":"2sBXqNkdjQ","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-05-08T16:20:21.000Z"},"item":[{"name":"Contacts","item":[{"name":"List contacts","id":"369902f7-6eb4-4c52-939c-0ec63c8df539","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/contacts?page=<integer>&sort=<string>","description":"<p>Returns a paginated list of contacts for your account. Contacts are returned in the order specified by the <code>sort</code> parameter, with newest first by default.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>contacts:read</code></p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Page number, starting from <code>1</code>. Defaults to <code>1</code>.</td>\n</tr>\n<tr>\n<td><code>per_page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Results per page, max <code>100</code>. Defaults to <code>25</code>.</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>string</td>\n<td>No</td>\n<td>Field to sort by. Allowed: <code>name</code>, <code>email</code>, <code>phone_number</code>, <code>last_activity_at</code>, <code>company</code>, <code>city</code>, <code>country</code>, <code>created_at</code>. Prefix with <code>-</code> for descending order (e.g. <code>-created_at</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<p>Returns an object with <code>meta</code> (pagination info) and <code>payload</code> (array of contact objects).</p>\n<p>Each contact object includes:</p>\n<ul>\n<li><code>id</code> — integer contact ID</li>\n<li><code>name</code>, <code>email</code>, <code>phone_number</code>, <code>identifier</code> — basic profile fields</li>\n<li><code>blocked</code> — whether the contact has been blocked</li>\n<li><code>thumbnail</code> — URL to the contact's profile picture (or empty string)</li>\n<li><code>availability_status</code> — <code>online</code>, <code>offline</code>, or <code>busy</code></li>\n<li><code>additional_attributes</code> — system-collected metadata (browser info, IP location, etc.)</li>\n<li><code>custom_attributes</code> — your account's custom attribute values for this contact</li>\n<li><code>contact_inboxes</code> — array of inboxes this contact is associated with</li>\n<li><code>last_activity_at</code> — Unix timestamp of the contact's last activity</li>\n<li><code>created_at</code> — Unix timestamp of when the contact was created</li>\n</ul>\n<h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>invalid_sort_field</code></td>\n<td>The <code>sort</code> parameter is not a recognized field</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>invalid_page</code></td>\n<td><code>page</code> must be a positive integer</td>\n</tr>\n<tr>\n<td>401</td>\n<td><code>unauthorized</code></td>\n<td>API key is missing, invalid, or expired</td>\n</tr>\n<tr>\n<td>403</td>\n<td><code>insufficient_scope</code></td>\n<td>API key lacks <code>contacts:read</code> scope</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","accounts",":account_id","contacts"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Page number</p>\n","type":"text/plain"},"key":"page","value":"<integer>"},{"description":{"content":"<p>Sort field (name, email, phone_number, last_activity_at, company, city, country, created_at). Prefix with - for desc.</p>\n","type":"text/plain"},"key":"sort","value":"<string>"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"}]}},"response":[{"id":"8f606712-4af2-4c75-940d-cc4cd9546db3","name":"200 — Contact list","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/contacts?page=<integer>&sort=<string>","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","contacts"],"query":[{"description":"Page number","key":"page","value":"<integer>"},{"description":"Sort field (name, email, phone_number, last_activity_at, company, city, country, created_at). Prefix with - for desc.","key":"sort","value":"<string>"}],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Returns a paginated list of contacts for your account.\n\n**Scopes required:** `contacts:read`\n\n**Sorting:** Use the `sort` parameter with any field name. Prefix with `-` for descending order (e.g., `-created_at` for newest first).\n\n**Sortable fields:** `name`, `email`, `phone_number`, `last_activity_at`, `company`, `city`, `country`, `created_at`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"meta\": {\n    \"count\": 142,\n    \"current_page\": 1\n  },\n  \"payload\": [\n    {\n      \"id\": 1024,\n      \"name\": \"Sarah Ahmed\",\n      \"email\": \"sarah@example.com\",\n      \"phone_number\": \"+966501234567\",\n      \"identifier\": null,\n      \"blocked\": false,\n      \"thumbnail\": \"\",\n      \"availability_status\": \"offline\",\n      \"additional_attributes\": {},\n      \"custom_attributes\": {\n        \"plan\": \"enterprise\",\n        \"company_size\": \"50-200\"\n      },\n      \"last_activity_at\": 1712400000,\n      \"created_at\": 1709280000\n    }\n  ]\n}"}],"_postman_id":"369902f7-6eb4-4c52-939c-0ec63c8df539"},{"name":"Search contacts","id":"70c95c70-8c33-45ee-9e76-87d84b893a28","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/contacts/search?q=<string>&page=<integer>","description":"<p>Search contacts by name, email, phone number, or identifier. The query is matched against all four fields using case-insensitive partial matching.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>contacts:read</code></p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>q</code></td>\n<td>string</td>\n<td><strong>Yes</strong></td>\n<td>The search query. Minimum 2 characters.</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Page number, defaults to <code>1</code></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<p>Same shape as <strong>List contacts</strong> — <code>meta</code> + <code>payload[]</code>. Results are ordered by relevance (best match first).</p>\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li>The search is performed across <code>name</code>, <code>email</code>, <code>phone_number</code>, and <code>identifier</code> fields.</li>\n<li>Phone number searches automatically normalize the input (strips <code>+</code>, spaces, dashes) before matching.</li>\n<li>For exact-match phone lookups, prefer the dedicated <code>Get contact by phone</code> endpoint when available.</li>\n</ul>\n<h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>query_too_short</code></td>\n<td>Query must be at least 2 characters</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>query_required</code></td>\n<td>The <code>q</code> parameter is required</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","accounts",":account_id","contacts","search"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>(Required) Search query</p>\n","type":"text/plain"},"key":"q","value":"<string>"},{"description":{"content":"<p>Page number</p>\n","type":"text/plain"},"key":"page","value":"<integer>"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"}]}},"response":[{"id":"4375ed3b-a6b3-4b15-9580-69f196e16ca1","name":"200 — Search results","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/contacts/search?q=<string>&page=<integer>","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","contacts","search"],"query":[{"description":"(Required) Search query","key":"q","value":"<string>"},{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Search contacts by name, email, phone number, or identifier. Returns paginated results matching the query string.\n\n**Scopes required:** `contacts:read`\n\n**Search fields:** The query matches against `name`, `email`, `phone_number`, and `identifier` fields using partial matching."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"meta\": {\n    \"count\": 3,\n    \"current_page\": 1\n  },\n  \"payload\": [\n    {\n      \"id\": 1024,\n      \"name\": \"Sarah Ahmed\",\n      \"email\": \"sarah@example.com\",\n      \"phone_number\": \"+966501234567\",\n      \"last_activity_at\": 1712400000,\n      \"created_at\": 1709280000\n    }\n  ]\n}"},{"id":"43fffcfe-577a-474f-a3da-bb0beef8a243","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/contacts/search?q=<string>&page=<integer>","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","contacts","search"],"query":[{"description":"(Required) Search query","key":"q","value":"<string>"},{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"8b14610a-5644-43d0-a4a2-23fe4248f737","name":"Unprocessable Entity","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/contacts/search?q=<string>&page=<integer>","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","contacts","search"],"query":[{"description":"(Required) Search query","key":"q","value":"<string>"},{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id"}]}},"status":"Unprocessable Entity (WebDAV) (RFC 4918)","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"f8b4cbde-8b6c-4ecf-b84e-563f71f4f42b","name":"Internal Server Error","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/contacts/search?q=<string>&page=<integer>","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","contacts","search"],"query":[{"description":"(Required) Search query","key":"q","value":"<string>"},{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"70c95c70-8c33-45ee-9e76-87d84b893a28"}],"id":"5cb936ae-6725-42b5-aa95-74325c72d535","description":"<h1 id=\"contacts\">Contacts</h1>\n<p>Contacts represent the end users, customers, or leads that your team engages with through HueChat. Each contact has a canonical phone number, optional email and name, custom attributes, and a history of conversations across all your connected inboxes.</p>\n<p><strong>Base path:</strong> <code>/api/v1/accounts/{account_id}/contacts</code></p>\n<p><strong>Common use cases:</strong></p>\n<ul>\n<li><p>Sync contacts from your CRM or customer database into HueChat so every conversation is attributed to the right person.</p>\n</li>\n<li><p>Search for an existing contact by name, email, or phone number before creating a new conversation.</p>\n</li>\n<li><p>Enrich a contact with custom attributes (plan tier, last purchase date, lifetime value, account manager, etc.) so agents see relevant context inline.</p>\n</li>\n<li><p>Block or unblock contacts that violate your terms of service.</p>\n</li>\n</ul>\n<p><strong>Required scopes:</strong> <code>contacts:read</code> for read operations, <code>contacts:write</code> for create/update/block, <code>contacts:delete</code> for deletion.</p>\n","_postman_id":"5cb936ae-6725-42b5-aa95-74325c72d535"},{"name":"Conversations","item":[{"name":"List conversations","id":"a2a2e561-12ce-42f7-80a9-9862db1fd60f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations?status=snoozed&inbox_id=<integer>&assignee_type=all&page=<integer>","description":"<p>Returns a paginated list of conversations, optionally filtered by status, inbox, and assignee type. This is the main endpoint for building custom inbox views.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:read</code></p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>No</td>\n<td>Filter by status: <code>open</code>, <code>resolved</code>, <code>pending</code>, <code>snoozed</code>, or <code>all</code>. Defaults to <code>open</code>.</td>\n</tr>\n<tr>\n<td><code>inbox_id</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Filter to a single inbox (channel). Omit to return conversations from all inboxes.</td>\n</tr>\n<tr>\n<td><code>assignee_type</code></td>\n<td>string</td>\n<td>No</td>\n<td>Filter by assignment: <code>me</code> (assigned to me), <code>unassigned</code>, <code>assigned</code>, <code>all</code>. Defaults to <code>all</code>.</td>\n</tr>\n<tr>\n<td><code>team_id</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Filter by team assignment</td>\n</tr>\n<tr>\n<td><code>labels[]</code></td>\n<td>array</td>\n<td>No</td>\n<td>Filter by one or more labels. Conversations must have ALL specified labels.</td>\n</tr>\n<tr>\n<td><code>q</code></td>\n<td>string</td>\n<td>No</td>\n<td>Free-text search across messages and contact info</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Page number, defaults to <code>1</code>. 25 conversations per page.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response\">Response</h2>\n<p>Returns an object with <code>data.meta</code> (counts per filter) and <code>data.payload</code> (array of conversation objects). The meta object includes:</p>\n<ul>\n<li><code>mine_count</code> — conversations assigned to the authenticated user</li>\n<li><code>unassigned_count</code> — conversations with no assignee</li>\n<li><code>assigned_count</code> — conversations with any assignee</li>\n<li><code>all_count</code> — total conversations matching the filter</li>\n</ul>\n<p>Each conversation object includes the full conversation state plus an embedded <code>meta</code> object with the contact (sender), assignee, team, and channel.</p>\n<h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>invalid_status</code></td>\n<td>Status must be one of open/resolved/pending/snoozed/all</td>\n</tr>\n<tr>\n<td>401</td>\n<td><code>unauthorized</code></td>\n<td>API key missing, invalid, or expired</td>\n</tr>\n<tr>\n<td>403</td>\n<td><code>insufficient_scope</code></td>\n<td>API key lacks <code>conversations:read</code> scope</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","accounts",":account_id","conversations"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Filter by status</p>\n","type":"text/plain"},"key":"status","value":"snoozed"},{"description":{"content":"<p>Filter by inbox ID</p>\n","type":"text/plain"},"key":"inbox_id","value":"<integer>"},{"description":{"content":"<p>Filter by assignee type</p>\n","type":"text/plain"},"key":"assignee_type","value":"all"},{"description":{"content":"<p>Page number</p>\n","type":"text/plain"},"key":"page","value":"<integer>"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"}]}},"response":[{"id":"79250537-3836-4c90-8075-457a42cbd0fe","name":"200 — Conversation list","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations?status=snoozed&inbox_id=<integer>&assignee_type=all&page=<integer>","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations"],"query":[{"description":"Filter by status","key":"status","value":"snoozed"},{"description":"Filter by inbox ID","key":"inbox_id","value":"<integer>"},{"description":"Filter by assignee type","key":"assignee_type","value":"all"},{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Returns a paginated list of conversations, optionally filtered by status, inbox, and assignee type.\n\n**Scopes required:** `conversations:read`\n\n**Status values:** `open`, `resolved`, `pending`, `snoozed`, `all`\n**Assignee types:** `me`, `unassigned`, `all`, `assigned`\n\nResults are ordered by last activity (newest first). Each page returns 25 conversations."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"meta\": {\n      \"mine_count\": 12,\n      \"unassigned_count\": 5,\n      \"all_count\": 45,\n      \"assigned_count\": 40\n    },\n    \"payload\": [\n      {\n        \"id\": 42,\n        \"uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n        \"account_id\": 1,\n        \"inbox_id\": 3,\n        \"status\": \"open\",\n        \"priority\": \"medium\",\n        \"display_id\": 42,\n        \"muted\": false,\n        \"unread_count\": 2,\n        \"can_reply\": true,\n        \"labels\": [\n          \"support\",\n          \"billing\"\n        ],\n        \"last_activity_at\": 1712400000,\n        \"created_at\": 1712380000,\n        \"meta\": {\n          \"sender\": {\n            \"id\": 1024,\n            \"name\": \"Sarah Ahmed\",\n            \"email\": \"sarah@example.com\"\n          },\n          \"assignee\": {\n            \"id\": 5,\n            \"name\": \"Agent Smith\"\n          },\n          \"channel\": \"Channel::WebWidget\"\n        },\n        \"last_non_activity_message\": {\n          \"id\": 500,\n          \"content\": \"I need help with my subscription\",\n          \"message_type\": \"incoming\",\n          \"created_at\": 1712400000\n        }\n      }\n    ]\n  }\n}"}],"_postman_id":"a2a2e561-12ce-42f7-80a9-9862db1fd60f"},{"name":"Create a conversation","id":"ed70c6dd-aff0-410f-83bd-5f2c3f1af723","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inbox_id\": 3,\n  \"contact_id\": 1024,\n  \"status\": \"open\",\n  \"assignee_id\": 5,\n  \"message\": {\n    \"content\": \"Hello! Welcome to HueChat support.\",\n    \"message_type\": \"outgoing\"\n  },\n  \"custom_attributes\": {\n    \"priority_level\": \"high\",\n    \"source\": \"api\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations","description":"<p>Creates a new conversation in your account. Use this endpoint when you want to start a conversation programmatically rather than waiting for a customer to message you.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<h2 id=\"required-fields\">Required Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inbox_id</code></td>\n<td>integer</td>\n<td>The inbox (channel) where the conversation will be created</td>\n</tr>\n<tr>\n<td><code>contact_id</code></td>\n<td>integer</td>\n<td>The contact this conversation is with</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-fields\">Optional Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>source_id</code></td>\n<td>string</td>\n<td>Channel-specific identifier (e.g. WhatsApp <code>wamid</code>). Used for deduplication.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>Initial status: <code>open</code>, <code>pending</code>. Defaults to <code>open</code>.</td>\n</tr>\n<tr>\n<td><code>assignee_id</code></td>\n<td>integer</td>\n<td>Agent to assign the conversation to</td>\n</tr>\n<tr>\n<td><code>team_id</code></td>\n<td>integer</td>\n<td>Team to assign the conversation to</td>\n</tr>\n<tr>\n<td><code>additional_attributes</code></td>\n<td>object</td>\n<td>System metadata (browser, location, referrer)</td>\n</tr>\n<tr>\n<td><code>custom_attributes</code></td>\n<td>object</td>\n<td>Your custom key-value attributes</td>\n</tr>\n<tr>\n<td><code>snoozed_until</code></td>\n<td>string</td>\n<td>ISO 8601 datetime — required if <code>status</code> is <code>snoozed</code></td>\n</tr>\n<tr>\n<td><code>message</code></td>\n<td>object</td>\n<td>Initial message to send. Object: <code>{content, message_type, private}</code></td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>inbox_id_required</code></td>\n<td>The <code>inbox_id</code> field is required</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>contact_id_required</code></td>\n<td>The <code>contact_id</code> field is required</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>invalid_status</code></td>\n<td>Status must be one of open/pending/snoozed</td>\n</tr>\n<tr>\n<td>401</td>\n<td><code>unauthorized</code></td>\n<td>API key missing or invalid</td>\n</tr>\n<tr>\n<td>403</td>\n<td><code>insufficient_scope</code></td>\n<td>API key lacks <code>conversations:write</code> scope</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>inbox_not_found</code></td>\n<td>The specified <code>inbox_id</code> does not exist</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>contact_not_found</code></td>\n<td>The specified <code>contact_id</code> does not exist in this account</td>\n</tr>\n<tr>\n<td>422</td>\n<td><code>snoozed_until_required</code></td>\n<td><code>snoozed_until</code> is required when status is <code>snoozed</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","accounts",":account_id","conversations"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"}]}},"response":[{"id":"c3ab2d53-3256-450a-a208-89ac64bd7126","name":"200 — Conversation created","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inbox_id\": 3,\n  \"contact_id\": 1024,\n  \"status\": \"open\",\n  \"assignee_id\": 5,\n  \"message\": {\n    \"content\": \"Hello! Welcome to HueChat support.\",\n    \"message_type\": \"outgoing\"\n  },\n  \"custom_attributes\": {\n    \"priority_level\": \"high\",\n    \"source\": \"api\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Creates a new conversation in the account. Requires `inbox_id` and either `contact_id` or `source_id`.\n\n**Scopes required:** `conversations:write`\n\n**Required fields:**\n- `inbox_id` — The inbox (channel) to create the conversation in\n- `contact_id` — The contact to start the conversation with\n\n**Optional fields:**\n- `message` — An initial message to send in the conversation\n- `status` — Initial status (`open`, `pending`). Defaults to `open`\n- `assignee_id` — Agent to assign the conversation to\n- `team_id` — Team to assign the conversation to"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": 43,\n  \"uuid\": \"b2c3d4e5-f6a7-8901-bcde-f12345678901\",\n  \"account_id\": 1,\n  \"inbox_id\": 3,\n  \"status\": \"open\",\n  \"priority\": null,\n  \"display_id\": 43,\n  \"created_at\": 1712400000,\n  \"meta\": {\n    \"sender\": {\n      \"id\": 1024,\n      \"name\": \"Sarah Ahmed\"\n    },\n    \"assignee\": {\n      \"id\": 5,\n      \"name\": \"Agent Smith\"\n    }\n  }\n}"},{"id":"82dfeac9-ef1b-4689-be97-e60704540716","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations"],"variable":[{"key":"account_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"e2f83818-9ae1-4391-aae4-4f7548bbf375","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations"],"variable":[{"key":"account_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"4e412796-3399-4749-a7b3-8412acdb7fbf","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations"],"variable":[{"key":"account_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"9b218f50-1a89-4dd3-9003-e59f0b82024b","name":"Unprocessable Entity","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations"],"variable":[{"key":"account_id"}]}},"status":"Unprocessable Entity (WebDAV) (RFC 4918)","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"ed70c6dd-aff0-410f-83bd-5f2c3f1af723"},{"name":"Filter conversations","id":"24186fb6-80bd-40ca-aa95-30c9a7b7c50f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"payload\": [\n    {\n      \"attribute_key\": \"status\",\n      \"filter_operator\": \"equal_to\",\n      \"values\": [\n        \"open\"\n      ],\n      \"query_operator\": \"AND\"\n    },\n    {\n      \"attribute_key\": \"assignee_id\",\n      \"filter_operator\": \"equal_to\",\n      \"values\": [\n        5\n      ],\n      \"query_operator\": null\n    }\n  ],\n  \"page\": 1\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/filter","description":"<p>Returns conversations matching complex filter conditions. Supports multiple conditions combined with AND/OR operators across any field, including custom attributes.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:read</code></p>\n<h2 id=\"filter-operators\">Filter Operators</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Operator</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>equal_to</code></td>\n<td>Exact match</td>\n</tr>\n<tr>\n<td><code>not_equal_to</code></td>\n<td>Inverse exact match</td>\n</tr>\n<tr>\n<td><code>contains</code></td>\n<td>Substring match (strings) or membership (arrays)</td>\n</tr>\n<tr>\n<td><code>does_not_contain</code></td>\n<td>Inverse substring/membership</td>\n</tr>\n<tr>\n<td><code>is_present</code></td>\n<td>Field has a non-null value</td>\n</tr>\n<tr>\n<td><code>is_not_present</code></td>\n<td>Field is null</td>\n</tr>\n<tr>\n<td><code>is_greater_than</code></td>\n<td>Numeric / date comparison</td>\n</tr>\n<tr>\n<td><code>is_less_than</code></td>\n<td>Numeric / date comparison</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"filterable-attributes\">Filterable Attributes</h2>\n<p><code>status</code>, <code>assignee_id</code>, <code>inbox_id</code>, <code>team_id</code>, <code>label</code>, <code>priority</code>, <code>browser_language</code>, <code>country_code</code>, <code>referer</code>, <code>created_at</code>, <code>last_activity_at</code>, plus any custom attribute key.</p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"payload\": [\n    {\n      \"attribute_key\": \"status\",\n      \"filter_operator\": \"equal_to\",\n      \"values\": [\"open\"],\n      \"query_operator\": \"AND\"\n    },\n    {\n      \"attribute_key\": \"priority\",\n      \"filter_operator\": \"equal_to\",\n      \"values\": [\"urgent\", \"high\"],\n      \"query_operator\": null\n    }\n  ],\n  \"page\": 1\n}\n</code></pre>\n<p>The last condition's <code>query_operator</code> should be <code>null</code>. All other conditions chain via the <code>query_operator</code> they declare.</p>\n<h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>payload_required</code></td>\n<td>The <code>payload</code> array is required</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>invalid_filter_operator</code></td>\n<td>Unknown filter operator</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>invalid_attribute_key</code></td>\n<td>The attribute key is not filterable</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","accounts",":account_id","conversations","filter"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"}]}},"response":[{"id":"fc096b7f-d589-43f1-85d4-d8deffea199d","name":"200 — Filtered results","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"payload\": [\n    {\n      \"attribute_key\": \"status\",\n      \"filter_operator\": \"equal_to\",\n      \"values\": [\n        \"open\"\n      ],\n      \"query_operator\": \"AND\"\n    },\n    {\n      \"attribute_key\": \"assignee_id\",\n      \"filter_operator\": \"equal_to\",\n      \"values\": [\n        5\n      ],\n      \"query_operator\": null\n    }\n  ],\n  \"page\": 1\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/filter","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations","filter"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Returns conversations matching complex filter conditions. Supports multiple conditions combined with AND/OR operators.\n\n**Scopes required:** `conversations:read`\n\n**Filter operators:** `equal_to`, `not_equal_to`, `contains`, `does_not_contain`, `is_present`, `is_not_present`, `is_greater_than`, `is_less_than`\n\n**Filterable attributes:** `status`, `assignee_id`, `inbox_id`, `team_id`, `label`, `priority`, `browser_language`, `country`, `city`, `created_at`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"meta\": {\n    \"all_count\": 8\n  },\n  \"payload\": [\n    {\n      \"id\": 42,\n      \"status\": \"open\",\n      \"priority\": \"medium\",\n      \"inbox_id\": 3,\n      \"display_id\": 42,\n      \"last_activity_at\": 1712400000,\n      \"meta\": {\n        \"sender\": {\n          \"id\": 1024,\n          \"name\": \"Sarah Ahmed\"\n        },\n        \"assignee\": {\n          \"id\": 5,\n          \"name\": \"Agent Smith\"\n        }\n      }\n    }\n  ]\n}"},{"id":"41685c9c-523e-4ee6-802e-3a59646fae47","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"page\": \"<integer>\",\n  \"payload\": [\n    {\n      \"attribute_key\": \"<string>\",\n      \"filter_operator\": \"<string>\",\n      \"query_operator\": \"<string>\",\n      \"values\": {}\n    },\n    {\n      \"attribute_key\": \"<string>\",\n      \"filter_operator\": \"<string>\",\n      \"query_operator\": \"<string>\",\n      \"values\": {}\n    }\n  ]\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/filter","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations","filter"],"variable":[{"key":"account_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"35015346-5e83-4951-8721-f33b633588dc","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"page\": \"<integer>\",\n  \"payload\": [\n    {\n      \"attribute_key\": \"<string>\",\n      \"filter_operator\": \"<string>\",\n      \"query_operator\": \"<string>\",\n      \"values\": {}\n    },\n    {\n      \"attribute_key\": \"<string>\",\n      \"filter_operator\": \"<string>\",\n      \"query_operator\": \"<string>\",\n      \"values\": {}\n    }\n  ]\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/filter","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations","filter"],"variable":[{"key":"account_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"671ea50d-eb2b-47d9-99a4-99183d9cc229","name":"Unprocessable Entity","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"page\": \"<integer>\",\n  \"payload\": [\n    {\n      \"attribute_key\": \"<string>\",\n      \"filter_operator\": \"<string>\",\n      \"query_operator\": \"<string>\",\n      \"values\": {}\n    },\n    {\n      \"attribute_key\": \"<string>\",\n      \"filter_operator\": \"<string>\",\n      \"query_operator\": \"<string>\",\n      \"values\": {}\n    }\n  ]\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/filter","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations","filter"],"variable":[{"key":"account_id"}]}},"status":"Unprocessable Entity (WebDAV) (RFC 4918)","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"24186fb6-80bd-40ca-aa95-30c9a7b7c50f"},{"name":"Get conversation meta counts","id":"107e8cb4-faf2-4e54-b8e4-c12ce5d1c3de","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/meta?status=open&inbox_id=<integer>&team_id=<integer>","description":"<p>Returns aggregate counts of conversations grouped by status. Useful for building dashboards, status indicators, or unread badges.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:read</code></p>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"meta\": {\n    \"mine_count\": 12,\n    \"unassigned_count\": 5,\n    \"assigned_count\": 40,\n    \"all_count\": 45\n  }\n}\n</code></pre>\n<p>Optionally filter by <code>inbox_id</code> or <code>team_id</code> to get counts scoped to a specific channel or team.</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations","meta"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Filter by status</p>\n","type":"text/plain"},"key":"status","value":"open"},{"description":{"content":"<p>Filter by inbox ID</p>\n","type":"text/plain"},"key":"inbox_id","value":"<integer>"},{"description":{"content":"<p>Filter by team ID</p>\n","type":"text/plain"},"key":"team_id","value":"<integer>"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"}]}},"response":[{"id":"2c8d991d-e727-461b-9730-976ad822321c","name":"200 — Meta counts","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/meta?status=open&inbox_id=<integer>&team_id=<integer>","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations","meta"],"query":[{"description":"Filter by status","key":"status","value":"open"},{"description":"Filter by inbox ID","key":"inbox_id","value":"<integer>"},{"description":"Filter by team ID","key":"team_id","value":"<integer>"}],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Returns aggregate counts of conversations grouped by status. Useful for building dashboards and status indicators.\n\n**Scopes required:** `conversations:read`\n\nOptionally filter by `inbox_id` or `team_id` to get counts for a specific channel or team."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"meta\": {\n    \"mine_count\": 12,\n    \"unassigned_count\": 5,\n    \"assigned_count\": 40,\n    \"all_count\": 45\n  }\n}"},{"id":"cc0c2270-bfa8-4383-90da-170068ea4bad","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/meta?status=open&inbox_id=<integer>&team_id=<integer>","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations","meta"],"query":[{"description":"Filter by status","key":"status","value":"open"},{"description":"Filter by inbox ID","key":"inbox_id","value":"<integer>"},{"description":"Filter by team ID","key":"team_id","value":"<integer>"}],"variable":[{"key":"account_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"91cb31dc-5750-4cd4-b813-201704cfaa4d","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/meta?status=open&inbox_id=<integer>&team_id=<integer>","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations","meta"],"query":[{"description":"Filter by status","key":"status","value":"open"},{"description":"Filter by inbox ID","key":"inbox_id","value":"<integer>"},{"description":"Filter by team ID","key":"team_id","value":"<integer>"}],"variable":[{"key":"account_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"107e8cb4-faf2-4e54-b8e4-c12ce5d1c3de"},{"name":"Search conversations","id":"9bd0fab0-70ad-429b-a6a3-25e122a0f3bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/search?q=<string>&page=<integer>","description":"<p>Full-text search across conversation messages and contact details. Returns conversations where the query matches message content, contact name, contact email, or contact phone number.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:read</code></p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>q</code></td>\n<td>string</td>\n<td><strong>Yes</strong></td>\n<td>Search query (minimum 2 characters)</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>Page number, defaults to <code>1</code></td>\n</tr>\n</tbody>\n</table>\n</div><p>Results are ordered by relevance.</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations","search"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>(Required) Search query</p>\n","type":"text/plain"},"key":"q","value":"<string>"},{"description":{"content":"<p>Page number</p>\n","type":"text/plain"},"key":"page","value":"<integer>"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"}]}},"response":[{"id":"6f873fba-5dd0-41ce-8f76-846c390803bb","name":"200 — Search results","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/search?q=<string>&page=<integer>","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations","search"],"query":[{"description":"(Required) Search query","key":"q","value":"<string>"},{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Full-text search across conversation messages and contact details. Returns conversations where the query matches message content, contact name, email, or phone number.\n\n**Scopes required:** `conversations:read`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"meta\": {\n    \"all_count\": 3\n  },\n  \"payload\": [\n    {\n      \"id\": 42,\n      \"status\": \"open\",\n      \"inbox_id\": 3,\n      \"meta\": {\n        \"sender\": {\n          \"id\": 1024,\n          \"name\": \"Sarah Ahmed\"\n        }\n      }\n    }\n  ]\n}"},{"id":"9c17a208-1c00-4791-8407-43d4c3447805","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/search?q=<string>&page=<integer>","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations","search"],"query":[{"description":"(Required) Search query","key":"q","value":"<string>"},{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"9bd0fab0-70ad-429b-a6a3-25e122a0f3bf"},{"name":"Delete a conversation","id":"b10f71a6-f37d-4d4a-a798-ef9cc576e04c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id","description":"<p>Permanently deletes a conversation and all its messages, attachments, and metadata. <strong>This action cannot be undone.</strong></p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:delete</code></p>\n<h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>403</td>\n<td><code>insufficient_scope</code></td>\n<td>API key lacks <code>conversations:delete</code> scope</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>not_found</code></td>\n<td>Conversation does not exist</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"75c76087-04bf-43b7-aeae-37d8fabaf396","name":"OK","originalRequest":{"method":"DELETE","header":[{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"7a85e235-8890-4e96-9a0f-a1a8016e1970","name":"Bad Request","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"3d06621f-f3d2-4e85-80da-6c8e41c49182","name":"Unauthorized","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"1fa9089b-fdf9-4e16-be61-e875ef30d214","name":"Not Found","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"b10f71a6-f37d-4d4a-a798-ef9cc576e04c"},{"name":"Get a conversation","id":"bd830370-494b-441d-a3f0-65a87f40aca7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id","description":"<p>Returns the full conversation object including metadata, labels, custom attributes, assignment info, and the most recent non-activity message.</p>\n<p><strong>Rate Limit:</strong> 480/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:read</code></p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"ac696b53-5c1b-4cf7-98c9-61c8afb054ef","name":"200 — Conversation details","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"}]},"description":"Returns the full conversation object including metadata, labels, assignment info, and the last non-activity message.\n\n**Scopes required:** `conversations:read`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": 42,\n  \"uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n  \"account_id\": 1,\n  \"inbox_id\": 3,\n  \"status\": \"open\",\n  \"priority\": \"medium\",\n  \"display_id\": 42,\n  \"muted\": false,\n  \"unread_count\": 2,\n  \"can_reply\": true,\n  \"labels\": [\n    \"support\",\n    \"billing\"\n  ],\n  \"sla_policy_id\": null,\n  \"additional_attributes\": {\n    \"browser\": {\n      \"browser_name\": \"Chrome\"\n    }\n  },\n  \"custom_attributes\": {\n    \"plan\": \"enterprise\"\n  },\n  \"created_at\": 1712380000,\n  \"last_activity_at\": 1712400000,\n  \"waiting_since\": 1712390000,\n  \"first_reply_created_at\": 1712385000,\n  \"meta\": {\n    \"sender\": {\n      \"id\": 1024,\n      \"name\": \"Sarah Ahmed\",\n      \"email\": \"sarah@example.com\"\n    },\n    \"assignee\": {\n      \"id\": 5,\n      \"name\": \"Agent Smith\"\n    },\n    \"team\": {\n      \"id\": 2,\n      \"name\": \"Support Team\"\n    },\n    \"channel\": \"Channel::WebWidget\",\n    \"hmac_verified\": true\n  },\n  \"last_non_activity_message\": {\n    \"id\": 500,\n    \"content\": \"I need help with my subscription\",\n    \"message_type\": \"incoming\",\n    \"created_at\": 1712400000\n  }\n}"},{"id":"c547a34c-b845-4a81-b9f2-026bc377c3d4","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"4ba11211-a559-40eb-a159-14227c16e0cf","name":"Not Found","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"bd830370-494b-441d-a3f0-65a87f40aca7"},{"name":"Update a conversation","id":"d1b702dd-bcea-4654-910a-81a9738649c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"priority\": \"high\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id","description":"<p>Updates conversation fields. Currently the only updatable field via this endpoint is <code>priority</code>. Use the dedicated endpoints below for status changes, assignments, labels, etc.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"priority\": \"high\"\n}\n</code></pre>\n<p><strong>Priority values:</strong> <code>low</code>, <code>medium</code>, <code>high</code>, <code>urgent</code>, or <code>null</code> to remove the priority.</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"f835b095-9961-4ace-8a46-68642ea704d1","name":"200 — Updated","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"priority\": \"high\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"}]},"description":"Updates conversation fields. Currently supports updating the priority level.\n\n**Scopes required:** `conversations:write`\n\n**Priority values:** `low`, `medium`, `high`, `urgent`, or `null` to remove priority"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": 42,\n  \"priority\": \"high\",\n  \"status\": \"open\"\n}"},{"id":"99e02b95-b76f-4bc5-a648-e933301fbeb7","name":"Bad Request","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"e7b01911-1a5c-447a-b950-39a6ce44d814","name":"Unauthorized","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"29829728-e06c-40cd-b51f-2c0e9c8497c0","name":"Not Found","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"d1b702dd-bcea-4654-910a-81a9738649c3"},{"name":"Update conversation assignments","id":"a0f7247a-24c0-453f-abcd-da5c8a17ca58","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"assignee_id\": 5,\n  \"team_id\": 2\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/assignments","description":"<p>Assigns the conversation to an agent and/or a team. Pass <code>null</code> for <code>assignee_id</code> or <code>team_id</code> to unassign.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"assignee_id\": 5,\n  \"team_id\": 2\n}\n</code></pre>\n<p>Both fields are optional but at least one must be provided.</p>\n<h2 id=\"response\">Response</h2>\n<p>Returns the new assignee object (or team object), or <code>null</code> if the conversation was unassigned.</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","assignments"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"4081f05b-9ae7-40ec-8f76-421c957c619b","name":"200 — Assigned","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"assignee_id\": 5,\n  \"team_id\": 2\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/assignments","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","assignments"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"}]},"description":"Assigns the conversation to an agent and/or team. Pass `null` for `assignee_id` or `team_id` to unassign.\n\n**Scopes required:** `conversations:write`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": 5,\n  \"name\": \"Agent Smith\",\n  \"email\": \"agent@example.com\"\n}"},{"id":"36849017-ceb0-423e-ae29-bcae29c317a7","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/assignments","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","assignments"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"9b2285f3-2df1-41dc-b4e0-fd269cad142e","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/assignments","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","assignments"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"3547d3cf-a683-47ed-8e97-1dbccdd0cd1a","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/assignments","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","assignments"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"a0f7247a-24c0-453f-abcd-da5c8a17ca58"},{"name":"List conversation attachments","id":"3afdcd35-1622-4f34-8a16-837abb61ba92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/attachments?page=<integer>","description":"<p>Returns all file attachments shared in a conversation, paginated. Each attachment includes the file URL, type, size, and the message ID it belongs to.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:read</code></p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","attachments"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Page number</p>\n","type":"text/plain"},"key":"page","value":"<integer>"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"929c1029-56d9-40b4-b948-036cf1d08d15","name":"OK","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/attachments?page=<integer>","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","attachments"],"query":[{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"97b53bff-fa9b-41b0-a1e5-e5867fc4cba1","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/attachments?page=<integer>","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","attachments"],"query":[{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"3f8c75ed-8680-4f75-9e4c-4f5951b9f124","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/attachments?page=<integer>","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","attachments"],"query":[{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"52ac9780-2155-43e9-9093-b8c241d399b8","name":"Not Found","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/attachments?page=<integer>","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","attachments"],"query":[{"description":"Page number","key":"page","value":"<integer>"}],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"3afdcd35-1622-4f34-8a16-837abb61ba92"},{"name":"Update custom attributes","id":"b57070cc-eb99-49aa-a866-a834b22ba34c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"custom_attributes\": {\n    \"priority_level\": \"high\",\n    \"ticket_id\": \"JIRA-1234\",\n    \"source\": \"api\",\n    \"deal_value\": 5000\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/custom_attributes","description":"<p>Sets or updates custom key-value attributes on a conversation. Custom attributes are freeform JSON — store any metadata your integration needs.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li>The provided <code>custom_attributes</code> object is <strong>merged</strong> into the existing attributes (existing keys are preserved unless overwritten).</li>\n<li>To delete a key, set its value to <code>null</code>.</li>\n<li>There is no schema enforcement — you can store any JSON-serializable values.</li>\n<li>Custom attributes are searchable via the <strong>Filter conversations</strong> endpoint.</li>\n</ul>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","custom_attributes"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"73b64aef-42aa-4512-89b1-ef7b7c436d3a","name":"200 — Attributes updated","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"custom_attributes\": {\n    \"priority_level\": \"high\",\n    \"ticket_id\": \"JIRA-1234\",\n    \"source\": \"api\",\n    \"deal_value\": 5000\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/custom_attributes","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","custom_attributes"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"}]},"description":"Sets or updates custom key-value attributes on a conversation. Custom attributes are freeform JSON — you can store any metadata relevant to your integration.\n\n**Scopes required:** `conversations:write`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"custom_attributes\": {\n    \"priority_level\": \"high\",\n    \"ticket_id\": \"JIRA-1234\",\n    \"source\": \"api\",\n    \"deal_value\": 5000\n  }\n}"},{"id":"6584385c-66f2-434d-b091-2aeadbfaf114","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/custom_attributes","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","custom_attributes"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"a6e0366e-a7da-46b7-86c3-144ff49adab2","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/custom_attributes","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","custom_attributes"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"468948b0-0190-4319-8b19-7753ac3f1f11","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/custom_attributes","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","custom_attributes"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"b57070cc-eb99-49aa-a866-a834b22ba34c"},{"name":"List conversation labels","id":"13f3421d-f7bb-4d7a-b483-d7d5b79900ab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/labels","description":"<p>Returns the list of labels currently applied to a conversation.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:read</code></p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","labels"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"97ddf8c8-082e-4832-8dde-2d3f28a13f30","name":"200 — Labels","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/labels","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","labels"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"}]},"description":"Returns all labels currently applied to a conversation.\n\n**Scopes required:** `conversations:read`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"payload\": [\n    \"support\",\n    \"billing\",\n    \"vip\"\n  ]\n}"},{"id":"0d205cd2-b753-410a-b2bf-fa4dd2e499b8","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/labels","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","labels"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"ba7caabd-e30a-4d69-a0a3-27ef5465d2f5","name":"Not Found","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/labels","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","labels"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"13f3421d-f7bb-4d7a-b483-d7d5b79900ab"},{"name":"Update conversation labels","id":"cbe48eef-ae4e-4e55-adb7-17b6215ed94f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"labels\": [\n    \"support\",\n    \"billing\",\n    \"escalated\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/labels","description":"<p>Replaces the conversation's labels with the provided list. To <strong>add</strong> a label, pass the existing labels plus the new one. To <strong>remove</strong> a label, omit it from the list. To clear all labels, pass an empty array.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"labels\": [\"support\", \"billing\", \"vip\"]\n}\n</code></pre>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","labels"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"472a355a-32ae-4f8c-a328-19a431474387","name":"200 — Labels updated","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"labels\": [\n    \"support\",\n    \"billing\",\n    \"escalated\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/labels","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","labels"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"}]},"description":"Replaces all labels on a conversation with the provided list. To add a label, include all existing labels plus the new one. To remove, omit it from the list.\n\n**Scopes required:** `conversations:write`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"payload\": [\n    \"support\",\n    \"billing\",\n    \"escalated\"\n  ]\n}"},{"id":"7e7eba9e-cc1a-4fd8-8dfd-7ea3659475ff","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/labels","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","labels"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"31b6a6d3-262f-44e0-9807-164c4927e81e","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/labels","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","labels"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"95c9a212-d073-46aa-8f0e-29af0bc49fc8","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/labels","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","labels"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"cbe48eef-ae4e-4e55-adb7-17b6215ed94f"},{"name":"Mute a conversation","id":"f5b34d73-0430-4dfe-b7b7-c02433c1982b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/mute","description":"<p>Mutes notifications for this conversation. Muted conversations won't trigger browser, push, or email notifications for the agent who muted them.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<p><strong>Request body:</strong> None required.</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","mute"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"33f5050a-6bdf-4c75-b997-eabbe2bc2f75","name":"OK","originalRequest":{"method":"POST","header":[{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/mute","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","mute"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"c673affa-ab58-4385-b708-7d0546a3aba3","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/mute","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","mute"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"55d5c445-7dd0-46a2-98da-95b48b9fbb4e","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/mute","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","mute"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"34d509b3-de85-4921-90ab-b237c1cd75fc","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/mute","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","mute"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"f5b34d73-0430-4dfe-b7b7-c02433c1982b"},{"name":"List conversation participants","id":"558654a9-d5e1-4910-9933-e5dd5e030ce2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/participants","description":"<p>Returns the list of agents currently participating in (watching) this conversation. Participants receive in-app notifications for new messages even if they're not the assigned agent.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:read</code></p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","participants"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"b96df2b4-c77f-46b5-9acb-dd27db4c299a","name":"200 — Participants","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/participants","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","participants"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"}]},"description":"Returns all agents currently participating in (watching) this conversation.\n\n**Scopes required:** `conversations:read`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"id\": 5,\n    \"name\": \"Agent Smith\",\n    \"email\": \"agent@example.com\",\n    \"availability_status\": \"online\"\n  },\n  {\n    \"id\": 8,\n    \"name\": \"Manager Lee\",\n    \"email\": \"lee@example.com\",\n    \"availability_status\": \"busy\"\n  }\n]"},{"id":"4a04052e-ab42-43b6-8fba-09dde8ac0057","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/participants","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","participants"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"470ac175-4be8-406f-8fc6-1766a321e380","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/participants","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","participants"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"bc654d38-ff77-472a-91f8-cb89658d548b","name":"Not Found","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/participants","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","participants"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"558654a9-d5e1-4910-9933-e5dd5e030ce2"},{"name":"Update conversation participants","id":"23511a47-483f-4cc3-acd2-20491a8efe48","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"user_ids\": [\n    5,\n    8,\n    12\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/participants","description":"<p>Replaces the list of participants with the provided user IDs. Use this to add or remove agents who should receive notifications about a conversation.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"user_ids\": [5, 8, 12]\n}\n</code></pre>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","participants"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"fc09caf7-d59e-4f58-9095-d1329a82efa4","name":"OK","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/participants","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","participants"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"[\n  {\n    \"tempor_3f9\": 81828839.59451312,\n    \"labore_e\": -84805.83940948546\n  },\n  {\n    \"ipsum_604\": -77763192\n  }\n]"},{"id":"ec03e181-dfe1-4104-9a34-3e3ad02e13db","name":"Bad Request","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/participants","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","participants"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"ef63b337-4836-46fb-a8dc-e4336fc4e65f","name":"Unauthorized","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/participants","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","participants"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"6ba1055b-d082-4b5e-92ec-80a4bef6c28e","name":"Not Found","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/participants","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","participants"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"23511a47-483f-4cc3-acd2-20491a8efe48"},{"name":"Toggle conversation priority","id":"c5e6c017-a998-4c1c-a108-9e9d3d635e8e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"priority\": \"urgent\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_priority","description":"<p>Sets or changes the priority level of a conversation. Equivalent to using the <strong>Update a conversation</strong> endpoint with just the priority field, but returns a different response shape.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<p><strong>Priority values:</strong> <code>low</code>, <code>medium</code>, <code>high</code>, <code>urgent</code></p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_priority"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"8264111f-68db-443b-95cd-3e51f7a06ac9","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_priority","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_priority"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"87a3bfdf-8e28-452e-b13b-57f39d8113c6","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_priority","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_priority"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"048775a8-0186-4899-ae3f-b2f14dba3e23","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_priority","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_priority"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"e2c25d1e-c06c-4394-b163-0eaafedd6791","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_priority","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_priority"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"c5e6c017-a998-4c1c-a108-9e9d3d635e8e"},{"name":"Toggle conversation status","id":"bb0d13cb-a79b-415c-a9fd-27040391c5f7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"status\": \"resolved\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_status","description":"<p>Changes the conversation status. When setting to <code>snoozed</code>, you must also include <code>snoozed_until</code> with an ISO 8601 datetime.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"resolved\"\n}\n</code></pre>\n<p>Or for snoozing:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"snoozed\",\n  \"snoozed_until\": \"2026-04-08T09:00:00Z\"\n}\n</code></pre>\n<p><strong>Status values:</strong> <code>open</code>, <code>resolved</code>, <code>pending</code>, <code>snoozed</code></p>\n<h2 id=\"webhook-events\">Webhook Events</h2>\n<p>This endpoint triggers the <code>conversation.status_changed</code> webhook event, which fires every time the status changes (including reopening a resolved conversation).</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_status"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"9545717b-11bc-4317-a3b7-c0e62051710e","name":"200 — Status changed","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"status\": \"resolved\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_status","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_status"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"}]},"description":"Changes the conversation status. When setting to `snoozed`, include `snoozed_until` with an ISO 8601 datetime.\n\n**Scopes required:** `conversations:write`\n\n**Status values:** `open`, `resolved`, `pending`, `snoozed`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"meta\": {},\n  \"payload\": {\n    \"success\": true,\n    \"conversation_id\": 42,\n    \"current_status\": \"resolved\",\n    \"snoozed_until\": null\n  }\n}"},{"id":"907b6aac-5a91-4a30-9d13-988be9a3c96c","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"snoozed_until\": \"<string>\",\n  \"status\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_status","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_status"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"eb7dd62d-9689-4f92-b0b9-20e2e288126f","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"snoozed_until\": \"<string>\",\n  \"status\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_status","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_status"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"8d762654-6619-4004-8383-4350dca4008b","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"snoozed_until\": \"<string>\",\n  \"status\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_status","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_status"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"bb0d13cb-a79b-415c-a9fd-27040391c5f7"},{"name":"Toggle typing status","id":"2afcb875-4161-45a5-9b58-278465f86ea6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"typing_status\": \"on\",\n  \"is_private\": false\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_typing_status","description":"<p>Sends a typing indicator to the customer. Call with <code>typing_status: \"on\"</code> when the agent starts typing, and <code>\"off\"</code> when they stop. The customer will see \"Agent is typing...\" in their chat window.</p>\n<p><strong>Rate Limit:</strong> 600/min (this endpoint has a higher limit because typing indicators are high-frequency)</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<p>Set <code>is_private: true</code> to broadcast typing only to other agents (when composing an internal note rather than a customer-facing reply).</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_typing_status"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"3c3f390d-833b-4bbb-989e-54a23bcb2cc8","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_typing_status","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_typing_status"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"53bb8dfc-4a74-425e-ac33-9f59f9db83ca","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_typing_status","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_typing_status"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"e5132027-b472-4eeb-a057-b9eb8f0e6a63","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_typing_status","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_typing_status"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"a7249476-3089-4004-9a80-19f0bf0622a9","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_typing_status","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","toggle_typing_status"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"2afcb875-4161-45a5-9b58-278465f86ea6"},{"name":"Send conversation transcript","id":"cca81795-68e1-4bc3-b748-1d3a3e51da07","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"email\": \"customer@example.com\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/transcript","description":"<p>Emails the full conversation transcript to the specified email address as a PDF attachment. Useful for sharing conversations with customers, legal teams, or external stakeholders.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"email\": \"customer@example.com\"\n}\n</code></pre>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","transcript"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"8ed87a4a-bf94-45e9-9fd1-4efaaa164edd","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/transcript","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","transcript"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"c4d6c943-43b5-4d49-932b-3906e7fa7a07","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/transcript","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","transcript"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"121b0ba4-dd59-40f4-a84e-d64ce7696209","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/transcript","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","transcript"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"f21ba37a-53dc-4826-b9c9-31231d1a4d02","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/transcript","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","transcript"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"cca81795-68e1-4bc3-b748-1d3a3e51da07"},{"name":"Unmute a conversation","id":"1527b34a-2cae-490b-befb-c74c1e6ae53a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/unmute","description":"<p>Re-enables notifications for a previously muted conversation.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<p><strong>Request body:</strong> None required.</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","unmute"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"5554151b-cfa1-4699-8934-a575072c351a","name":"OK","originalRequest":{"method":"POST","header":[{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/unmute","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","unmute"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"8c06fb92-abbc-4470-ba76-c9bf52a16583","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/unmute","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","unmute"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"721a7177-8748-443f-bf4b-c27c5a1f5c9c","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/unmute","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","unmute"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"1d9fbb76-149e-4f74-ad3a-5c9f4750cd70","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/unmute","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","unmute"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"1527b34a-2cae-490b-befb-c74c1e6ae53a"},{"name":"Mark conversation as unread","id":"8b7c7e10-61ca-455e-84d1-fec9e1306cb3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/unread","description":"<p>Marks the conversation as unread for the current agent. The conversation will appear with an unread badge in the agent's dashboard, useful for marking conversations to revisit later.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<p><strong>Request body:</strong> None required.</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","unread"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"dfb978e4-957e-4d96-be3f-cf24741d9583","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/unread","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","unread"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"9490b388-c82e-4bb5-9059-4c8884a047b9","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/unread","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","unread"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"28f4825e-d28c-4190-a6c0-a519b873c280","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/unread","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","unread"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"95962eaf-683f-4a21-aae2-5ccc39962c6f","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/unread","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","unread"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"8b7c7e10-61ca-455e-84d1-fec9e1306cb3"},{"name":"Update last seen","id":"8817802b-9e7d-42fd-b09d-804ca3b3c85a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/update_last_seen","description":"<p>Updates the agent's last-seen timestamp on this conversation, marking all messages as read.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>conversations:write</code></p>\n<p><strong>Request body:</strong> None required.</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","update_last_seen"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"c583449b-d20f-4050-8410-358008741b57","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/update_last_seen","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","update_last_seen"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"7961ce0d-e316-4587-a3a7-0a1ee838e1ee","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/update_last_seen","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","update_last_seen"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"38c70676-5ca9-483e-b644-b9f3b79432e1","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/update_last_seen","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","update_last_seen"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"2608f542-f431-4f1a-9233-0fddd6d4140a","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/update_last_seen","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","update_last_seen"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"8817802b-9e7d-42fd-b09d-804ca3b3c85a"}],"id":"707bad2b-77f1-41da-b94a-9cf567f5fdf3","description":"<h1 id=\"conversations\">Conversations</h1>\n<p>Conversations are the core resource of HueChat. Every interaction between your team and a customer — across WhatsApp, web chat, email, API, or any other channel — is represented as a conversation containing an ordered stream of messages, participants, labels, status, priority, and custom attributes.</p>\n<p><strong>Base path:</strong> <code>/api/v1/accounts/{account_id}/conversations</code></p>\n<p><strong>Common use cases:</strong></p>\n<ul>\n<li>Build a custom inbox view that filters conversations by any combination of status, inbox, assignee, label, or custom attribute.</li>\n<li>Programmatically create conversations when external events occur (e.g. a lead fills out a form on your website, a support ticket is opened in your legacy system, an order is placed).</li>\n<li>Assign conversations to agents or teams using your own routing logic (round-robin, skill-based, language-based, etc.).</li>\n<li>Toggle conversation status (<code>open</code> → <code>resolved</code> → <code>pending</code> → <code>snoozed</code>) as part of automation workflows.</li>\n<li>Mute notifications for resolved conversations, add labels for reporting, or update custom attributes used by downstream analytics.</li>\n</ul>\n<p><strong>Required scopes:</strong> <code>conversations:read</code> for read operations, <code>conversations:write</code> for create/update/assign, <code>conversations:delete</code> for deletion.</p>\n<p><strong>Important:</strong> All conversation endpoints use <code>display_id</code> (the integer shown in the dashboard URL), not the internal database UUID.</p>\n","_postman_id":"707bad2b-77f1-41da-b94a-9cf567f5fdf3"},{"name":"Messages","item":[{"name":"List messages","id":"386658c9-938d-4d7b-abf0-c4eab6090c13","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/messages?before=<integer>&after=<integer>&filter_internal_messages=<string>","description":"<p>Returns messages in a conversation. Supports cursor-based pagination using <code>before</code> and <code>after</code> message IDs for efficient backward/forward scrolling.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>messages:read</code></p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>before</code></td>\n<td>integer</td>\n<td>Return messages older than this message ID (for backward scroll)</td>\n</tr>\n<tr>\n<td><code>after</code></td>\n<td>integer</td>\n<td>Return messages newer than this message ID (for forward scroll)</td>\n</tr>\n<tr>\n<td><code>filter_internal_messages</code></td>\n<td>string</td>\n<td>Set to any value to exclude private notes and activity messages</td>\n</tr>\n</tbody>\n</table>\n</div><p>Returns up to 20 messages per page, ordered chronologically (oldest first within the page).</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Message ID to paginate before</p>\n","type":"text/plain"},"key":"before","value":"<integer>"},{"description":{"content":"<p>Message ID to paginate after</p>\n","type":"text/plain"},"key":"after","value":"<integer>"},{"description":{"content":"<p>If set, filters out private and activity messages</p>\n","type":"text/plain"},"key":"filter_internal_messages","value":"<string>"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"4d2572f9-9be5-4002-8294-6f9c77e1a3f3","name":"200 — Message list","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/messages?before=<integer>&after=<integer>&filter_internal_messages=<string>","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages"],"query":[{"description":"Message ID to paginate before","key":"before","value":"<integer>"},{"description":"Message ID to paginate after","key":"after","value":"<integer>"},{"description":"If set, filters out private and activity messages","key":"filter_internal_messages","value":"<string>"}],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"}]},"description":"Returns messages in a conversation. Supports cursor-based pagination using `before` and `after` message IDs.\n\n**Scopes required:** `messages:read`\n\n**Pagination:** Pass `before` or `after` with a message ID to paginate forward/backward. Returns 20 messages per page.\n\nSet `filter_internal_messages=true` to exclude private notes and activity messages."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"meta\": {\n    \"contact\": {\n      \"id\": 1024,\n      \"name\": \"Sarah Ahmed\"\n    }\n  },\n  \"payload\": [\n    {\n      \"id\": 500,\n      \"content\": \"I need help with my subscription\",\n      \"account_id\": 1,\n      \"inbox_id\": 3,\n      \"conversation_id\": 42,\n      \"message_type\": \"incoming\",\n      \"content_type\": \"text\",\n      \"status\": \"sent\",\n      \"private\": false,\n      \"created_at\": 1712400000,\n      \"sender\": {\n        \"id\": 1024,\n        \"name\": \"Sarah Ahmed\",\n        \"type\": \"contact\",\n        \"avatar_url\": \"\"\n      },\n      \"attachments\": []\n    },\n    {\n      \"id\": 501,\n      \"content\": \"Hi Sarah! I'd be happy to help. What issue are you experiencing?\",\n      \"message_type\": \"outgoing\",\n      \"content_type\": \"text\",\n      \"private\": false,\n      \"created_at\": 1712400060,\n      \"sender\": {\n        \"id\": 5,\n        \"name\": \"Agent Smith\",\n        \"type\": \"user\",\n        \"availability_status\": \"online\"\n      },\n      \"conversation\": {\n        \"assignee_id\": 5,\n        \"unread_count\": 0,\n        \"last_activity_at\": 1712400060\n      }\n    }\n  ]\n}"}],"_postman_id":"386658c9-938d-4d7b-abf0-c4eab6090c13"},{"name":"Create a message","id":"c24e5c44-f82f-48d5-b0f0-df8300c5a8b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"content\": \"Hi! Thanks for reaching out. Let me look into this for you.\",\n  \"message_type\": \"outgoing\",\n  \"private\": false,\n  \"content_type\": \"text\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/messages","description":"<p>Sends a new message in a conversation. Supports both <code>application/json</code> (text-only) and <code>multipart/form-data</code> (with file attachments).</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>messages:write</code></p>\n<h2 id=\"required-fields\">Required Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>The message text. For attachment-only messages, can be empty if <code>attachments[]</code> is provided.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-fields\">Optional Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>message_type</code></td>\n<td>string</td>\n<td><code>outgoing</code> (default), <code>incoming</code>, <code>activity</code>, <code>template</code></td>\n</tr>\n<tr>\n<td><code>private</code></td>\n<td>boolean</td>\n<td>If <code>true</code>, the message is an internal note visible only to agents</td>\n</tr>\n<tr>\n<td><code>content_type</code></td>\n<td>string</td>\n<td><code>text</code> (default), <code>input_text</code>, <code>cards</code>, <code>form</code></td>\n</tr>\n<tr>\n<td><code>content_attributes</code></td>\n<td>object</td>\n<td>Channel-specific attributes (e.g. WhatsApp interactive button payloads)</td>\n</tr>\n<tr>\n<td><code>echo_id</code></td>\n<td>string</td>\n<td>Idempotency key — duplicate requests with the same <code>echo_id</code> will return the original</td>\n</tr>\n<tr>\n<td><code>source_id</code></td>\n<td>string</td>\n<td>Channel-specific message ID for deduplication</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"sending-attachments\">Sending Attachments</h2>\n<p>To send a file attachment, use <code>Content-Type: multipart/form-data</code> and include the file in the <code>attachments[]</code> field. You can attach up to 10 files per message, max 40 MB each.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-bash\">curl -X POST https://app.huechat.ai/api/v1/accounts/1/conversations/42/messages \\\n  -H \"api_access_token: hc_live_...\" \\\n  -F \"content=Here's the document you requested\" \\\n  -F \"message_type=outgoing\" \\\n  -F \"attachments[]=@/path/to/file.pdf\"\n</code></pre>\n<h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>content_required</code></td>\n<td>Either <code>content</code> or <code>attachments[]</code> must be provided</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>invalid_message_type</code></td>\n<td>Unknown message_type</td>\n</tr>\n<tr>\n<td>403</td>\n<td><code>insufficient_scope</code></td>\n<td>API key lacks <code>messages:write</code> scope</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>conversation_not_found</code></td>\n<td>Conversation does not exist or is not accessible</td>\n</tr>\n<tr>\n<td>413</td>\n<td><code>attachment_too_large</code></td>\n<td>Attachment exceeds 40 MB limit</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"}]}},"response":[{"id":"787633a8-737b-49d2-be29-8fe5f3d4baf2","name":"200 — Message created","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"content\": \"Hi! Thanks for reaching out. Let me look into this for you.\",\n  \"message_type\": \"outgoing\",\n  \"private\": false,\n  \"content_type\": \"text\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/messages","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"}]},"description":"Sends a new message in a conversation. Supports both JSON and multipart/form-data (for file attachments).\n\n**Scopes required:** `messages:write`\n\n**Message types:**\n- `outgoing` — Message sent by your team/API (default)\n- `incoming` — Message from the customer (for importing)\n- `activity` — System activity message\n\n**Content types:** `text`, `input_text`, `cards`, `form`\n\n**Attachments:** Use `multipart/form-data` and include files in the `attachments[]` field. Set content in the `content` form field."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": 502,\n  \"content\": \"Hi! Thanks for reaching out. Let me look into this for you.\",\n  \"account_id\": 1,\n  \"inbox_id\": 3,\n  \"conversation_id\": 42,\n  \"message_type\": \"outgoing\",\n  \"content_type\": \"text\",\n  \"status\": \"sent\",\n  \"private\": false,\n  \"source_id\": null,\n  \"echo_id\": null,\n  \"created_at\": 1712400120,\n  \"sender\": {\n    \"id\": 5,\n    \"name\": \"Agent Smith\",\n    \"type\": \"user\",\n    \"availability_status\": \"online\"\n  },\n  \"conversation\": {\n    \"assignee_id\": 5,\n    \"unread_count\": 0,\n    \"last_activity_at\": 1712400120\n  },\n  \"attachments\": []\n}"},{"id":"77c9144a-21c3-42aa-b985-b487e9bde4cc","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"File attachments (multipart only)","key":"attachments[]","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"8f74d7e3-aeb7-4b2c-a8f0-e96651296f6c","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"File attachments (multipart only)","key":"attachments[]","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"f918ed80-33e6-4bce-994c-829f5849fa66","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"File attachments (multipart only)","key":"attachments[]","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"849827bb-f5bf-4d6b-93c7-f84a5e005fbf","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"File attachments (multipart only)","key":"attachments[]","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages"],"variable":[{"key":"account_id"},{"key":"conversation_id"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"c24e5c44-f82f-48d5-b0f0-df8300c5a8b3"},{"name":"Delete a message","id":"32af9b8e-e45b-4f88-8d7e-1c8c95be0a35","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id","description":"<p>Soft-deletes a message and removes its attachments. The message will show as \"This message was deleted\" in the conversation, preserving the audit trail.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>messages:delete</code></p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"},{"description":{"content":"<p>Resource ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"id"}]}},"response":[{"id":"930efed1-d40c-492c-9d00-4c274dc571f3","name":"OK","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"8b92c6d6-fe53-47b7-90cd-13470cd6e827","name":"Bad Request","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"2391e5a3-0283-4b3b-b4d8-b2415aca22e9","name":"Unauthorized","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"a296af1a-8fcd-4cd0-b881-2b3aeee710fc","name":"Not Found","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"32af9b8e-e45b-4f88-8d7e-1c8c95be0a35"},{"name":"Retry a message","id":"d83b9cdd-553a-41dc-ae46-6de628d32ebf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/retry","description":"<p>Retries sending a failed outgoing message. Use this when a message failed to deliver due to a transient channel error (network issue, temporary WhatsApp API outage, etc.).</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>messages:write</code></p>\n<p><strong>Request body:</strong> None required.</p>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","retry"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"},{"description":{"content":"<p>Resource ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"id"}]}},"response":[{"id":"ff8a4b73-69f1-4425-9dcc-84394f185907","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/retry","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","retry"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"a8cb88b3-305c-4de7-bdbc-91512245b678","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/retry","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","retry"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"ebee348e-a6a2-42d5-955a-2fee92d8b550","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/retry","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","retry"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"d430e91a-81e5-4e47-95fb-7be1d7629e36","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/retry","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","retry"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"d83b9cdd-553a-41dc-ae46-6de628d32ebf"},{"name":"Translate a message","id":"fb7f0ac4-f24b-451f-93c9-08fbf53b6b43","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"target_language\": \"en\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/translate","description":"<p>Translates a message to the specified target language using HueChat's built-in AI translation. Returns the translated text without modifying the original message.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>messages:read</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"target_language\": \"en\"\n}\n</code></pre>\n<p><strong>Language codes:</strong> Use ISO 639-1 codes — <code>en</code>, <code>ar</code>, <code>es</code>, <code>fr</code>, <code>de</code>, <code>it</code>, <code>pt</code>, <code>ja</code>, <code>ko</code>, <code>zh</code>, <code>ru</code>, <code>tr</code>, <code>nl</code>, <code>pl</code>, and many more.</p>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"translated_text\": \"I need help with my subscription plan.\",\n  \"source_language\": \"ar\",\n  \"target_language\": \"en\"\n}\n</code></pre>\n","urlObject":{"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","translate"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Conversation display ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"conversation_id"},{"description":{"content":"<p>Resource ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"id"}]}},"response":[{"id":"82b7255d-f3b8-48e8-b2cb-baf32051be6c","name":"200 — Translated","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"target_language\": \"en\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/translate","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","translate"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"conversation_id","value":"<integer>","description":"Conversation display ID (integer)"},{"key":"id","value":"<integer>","description":"Resource ID (integer)"}]},"description":"Translates a message to the specified target language using AI. Returns the translated text.\n\n**Scopes required:** `messages:read`\n\n**Language codes:** Use ISO 639-1 codes (e.g., `en`, `ar`, `es`, `fr`, `de`, `ja`, `ko`, `zh`)"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"translated_text\": \"I need help with my subscription plan. I want to upgrade to enterprise.\",\n  \"source_language\": \"ar\",\n  \"target_language\": \"en\"\n}"},{"id":"0828d5c5-49ae-4fd4-9f1c-3af38c61ed58","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"target_language\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/translate","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","translate"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"4a3c8558-bfc7-465a-a549-cf2cdfe1c7e7","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"target_language\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/translate","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","translate"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"5cf8dde7-83ca-4123-bd6e-01ed92d4c4d4","name":"Unprocessable Entity","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"target_language\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/translate","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","translate"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"Unprocessable Entity (WebDAV) (RFC 4918)","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"67b60b89-4066-4aec-b931-f0bf0f14f111","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"target_language\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:id/translate","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","conversations",":conversation_id","messages",":id","translate"],"variable":[{"key":"account_id"},{"key":"conversation_id"},{"key":"id"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"fb7f0ac4-f24b-451f-93c9-08fbf53b6b43"}],"id":"6709ad4c-a27d-4659-9f03-3615a967c02d","description":"<h1 id=\"messages\">Messages</h1>\n<p>Messages are the individual units of communication within a conversation. Every message has a direction (incoming from the customer, outgoing from your team, or a system activity), a content type (text, rich card, interactive form, attachment), a sender, and timestamps for creation and delivery.</p>\n<p><strong>Base path:</strong> <code>/api/v1/accounts/{account_id}/conversations/{conversation_id}/messages</code></p>\n<p><strong>Common use cases:</strong></p>\n<ul>\n<li>Send automated replies from a chatbot or AI agent directly into an active conversation.</li>\n<li>Post outgoing messages triggered by external events (order shipped, payment confirmed, appointment reminder).</li>\n<li>Retrieve a conversation's full message history for compliance archiving, analytics, or reporting.</li>\n<li>Delete messages that were sent in error (soft delete — the message is marked as deleted but the audit trail is preserved).</li>\n<li>Translate an incoming message to the agent's preferred language using HueChat's built-in AI translation.</li>\n</ul>\n<p><strong>Required scopes:</strong> <code>messages:read</code> for read operations, <code>messages:write</code> for create/retry/translate, <code>messages:delete</code> for deletion.</p>\n<p><strong>Attachments:</strong> To send a message with file attachments, use <code>Content-Type: multipart/form-data</code> and include files in the <code>attachments[]</code> field. Up to 10 attachments are supported per message, max 40 MB each.</p>\n","_postman_id":"6709ad4c-a27d-4659-9f03-3615a967c02d"},{"name":"Webhooks","item":[{"name":"List webhooks","id":"9bfcfe54-cdb1-4c99-8e68-f268db5adc7d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/webhooks","description":"<p>Returns all inbound webhook subscriptions for the account. Each webhook has a URL, a list of subscribed events, and an active/inactive flag.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>webhooks:read</code></p>\n","urlObject":{"path":["api","v1","accounts",":account_id","webhooks"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"}]}},"response":[{"id":"9d4af193-e2bd-49d0-b5f7-384ce87b081c","name":"200 — Webhook list","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/webhooks","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","webhooks"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Returns all webhook subscriptions for the account.\n\n**Scopes required:** `webhooks:read`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"payload\": [\n    {\n      \"id\": 10,\n      \"account_id\": 1,\n      \"url\": \"https://example.com/webhook\",\n      \"webhook_type\": \"account\",\n      \"subscriptions\": [\n        \"conversation_created\",\n        \"message_created\",\n        \"message_updated\"\n      ],\n      \"name\": \"CRM Integration\",\n      \"inbox_id\": null,\n      \"created_at\": \"2026-04-01T10:00:00.000Z\",\n      \"updated_at\": \"2026-04-01T10:00:00.000Z\"\n    }\n  ]\n}"},{"id":"c036b6d0-9416-4230-9629-a117cc9a3944","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/webhooks","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","webhooks"],"variable":[{"key":"account_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"87cfe558-8e40-4ceb-9060-ace2d077cf34","name":"Internal Server Error","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/webhooks","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","webhooks"],"variable":[{"key":"account_id"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"9bfcfe54-cdb1-4c99-8e68-f268db5adc7d"},{"name":"Create a webhook","id":"46174c4c-9098-4cda-beb4-5b3534c857f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"https://example.com/webhook\",\n  \"name\": \"CRM Integration\",\n  \"subscriptions\": [\n    \"conversation_created\",\n    \"message_created\"\n  ],\n  \"inbox_id\": null\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/webhooks","description":"<p>Creates a new inbound webhook subscription. The URL will receive POST requests with event data whenever any of the subscribed events fire.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>webhooks:write</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"url\": \"https://your-server.example.com/huechat-webhook\",\n  \"name\": \"CRM Integration\",\n  \"subscriptions\": [\"conversation_created\", \"message_created\"],\n  \"inbox_id\": null\n}\n</code></pre>\n<h2 id=\"available-event-types\">Available Event Types</h2>\n<ul>\n<li><code>conversation_created</code>, <code>conversation_status_changed</code>, <code>conversation_updated</code></li>\n<li><code>message_created</code>, <code>message_updated</code></li>\n<li><code>contact_created</code>, <code>contact_updated</code></li>\n<li><code>webwidget_triggered</code></li>\n</ul>\n<p>Set <code>inbox_id</code> to scope the webhook to a single inbox, or omit it to receive events from all inboxes.</p>\n<h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>url_required</code></td>\n<td>The <code>url</code> field is required</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>url_must_be_https</code></td>\n<td>URL must use HTTPS</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>invalid_event</code></td>\n<td>Unknown event type in subscriptions</td>\n</tr>\n<tr>\n<td>422</td>\n<td><code>url_unreachable</code></td>\n<td>URL did not respond to test ping</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v1","accounts",":account_id","webhooks"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"}]}},"response":[{"id":"9d98d411-d443-44e7-9821-7a5194313f15","name":"200 — Webhook created","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"https://example.com/webhook\",\n  \"name\": \"CRM Integration\",\n  \"subscriptions\": [\n    \"conversation_created\",\n    \"message_created\"\n  ],\n  \"inbox_id\": null\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v1/accounts/:account_id/webhooks","host":["{{base_url}}"],"path":["api","v1","accounts",":account_id","webhooks"],"variable":[{"key":"account_id","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Creates a new webhook subscription. The URL will receive POST requests with event data whenever subscribed events occur.\n\n**Scopes required:** `webhooks:write`\n\n**Available events:**\n- `conversation_created`, `conversation_status_changed`, `conversation_updated`\n- `message_created`, `message_updated`\n- `contact_created`, `contact_updated`\n- `webwidget_triggered`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"payload\": {\n    \"id\": 11,\n    \"account_id\": 1,\n    \"url\": \"https://example.com/webhook\",\n    \"webhook_type\": \"account\",\n    \"subscriptions\": [\n      \"conversation_created\",\n      \"message_created\"\n    ],\n    \"name\": \"CRM Integration\",\n    \"inbox_id\": null,\n    \"created_at\": \"2026-04-06T12:00:00.000Z\",\n    \"updated_at\": \"2026-04-06T12:00:00.000Z\"\n  }\n}"},{"id":"9b7228a9-2677-4dec-8b92-4981fca05315","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/webhooks","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","webhooks"],"variable":[{"key":"account_id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"b6379e95-6656-43ca-b462-a09df46dda29","name":"Unprocessable Entity","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/webhooks","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","webhooks"],"variable":[{"key":"account_id"}]}},"status":"Unprocessable Entity (WebDAV) (RFC 4918)","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"46174c4c-9098-4cda-beb4-5b3534c857f9"},{"name":"Delete a webhook","id":"c86e2f9c-6740-42f4-8b06-f57f9fafc781","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v1/accounts/:account_id/webhooks/:id","description":"<p>Permanently deletes a webhook subscription. The URL will stop receiving events immediately. This action cannot be undone.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>webhooks:write</code></p>\n","urlObject":{"path":["api","v1","accounts",":account_id","webhooks",":id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Resource ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"id"}]}},"response":[{"id":"6ae583ef-6b9f-4c82-9e35-f1292beadbc4","name":"OK","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/webhooks/:id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","webhooks",":id"],"variable":[{"key":"account_id"},{"key":"id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"07697c98-7a5c-450b-ad6a-112c739a7437","name":"Bad Request","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/webhooks/:id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","webhooks",":id"],"variable":[{"key":"account_id"},{"key":"id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"c86e2f9c-6740-42f4-8b06-f57f9fafc781"},{"name":"Update a webhook","id":"194f51bf-01c2-47ca-9900-0355f219ceef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"https://example.com/webhook/v2\",\n  \"name\": \"CRM Integration v2\",\n  \"subscriptions\": [\n    \"conversation_created\",\n    \"conversation_status_changed\",\n    \"message_created\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v1/accounts/:account_id/webhooks/:id","description":"<p>Updates an existing webhook subscription's URL, name, or event subscriptions. Only the fields you provide are updated.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>webhooks:write</code></p>\n","urlObject":{"path":["api","v1","accounts",":account_id","webhooks",":id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"account_id"},{"description":{"content":"<p>Resource ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"id"}]}},"response":[{"id":"2e2e499f-da2d-479a-aa18-01d1d2ffeeef","name":"OK","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/webhooks/:id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","webhooks",":id"],"variable":[{"key":"account_id"},{"key":"id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"e367841c-ac45-41e9-9ea2-dff2cf38020e","name":"Bad Request","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/webhooks/:id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","webhooks",":id"],"variable":[{"key":"account_id"},{"key":"id"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"},{"id":"f7460af1-94d8-4bb2-8aeb-e42b7505cba4","name":"Not Found","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v1/accounts/:account_id/webhooks/:id","host":["https://app.huechat.ai"],"path":["api","v1","accounts",":account_id","webhooks",":id"],"variable":[{"key":"account_id"},{"key":"id"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"aliquab\": \"<string>\"\n}"}],"_postman_id":"194f51bf-01c2-47ca-9900-0355f219ceef"}],"id":"4da0d9da-d204-404d-a878-e7bb2d91ef61","description":"<h1 id=\"webhooks\">Webhooks</h1>\n<p>Webhooks are user-defined HTTP callbacks that HueChat triggers whenever specific events occur in your account. When a subscribed event fires, HueChat captures the event data, serializes it as JSON, signs it with HMAC-SHA256, and immediately sends a POST request to your configured webhook URL.</p>\n<p>Use webhooks to react to platform events in real time: create a support ticket when a new conversation opens, push contact updates into your CRM, notify your Slack channel when an urgent label is applied, trigger automations in Zapier or n8n, and much more.</p>\n<p><strong>Base path:</strong> <code>/api/v1/accounts/{account_id}/webhooks</code></p>\n<p><strong>Inbound webhooks vs. outbound webhooks:</strong></p>\n<ul>\n<li><strong>Inbound webhooks</strong> (this folder) are URLs where external systems can POST data <em>into</em> HueChat. Used for integrating incoming events from third-party platforms.</li>\n<li><strong>Outbound webhooks</strong> are URLs that HueChat calls <em>out to</em> when events occur in HueChat. Those are managed in the dashboard under <strong>Settings → Integrations → Webhooks</strong> and are not part of the public v1 API (they use a separate v2 endpoint restricted to account administrators).</li>\n</ul>\n<p><strong>Requirements for your webhook endpoint:</strong></p>\n<ul>\n<li>Must be reachable over HTTPS with a valid SSL certificate.</li>\n<li>Must respond with a <code>2xx</code> status code within 10 seconds of receiving the request.</li>\n<li>Must be idempotent — HueChat may retry failed deliveries up to 10 times with exponential backoff.</li>\n<li>Should verify the <code>X-HueChat-Signature</code> header before trusting the payload (see the Signature Verification section for code samples in Python, Node.js, PHP, and Go).</li>\n</ul>\n<p><strong>Required scopes:</strong> <code>webhooks:read</code> for read operations, <code>webhooks:write</code> for create/update/delete.</p>\n","_postman_id":"4da0d9da-d204-404d-a878-e7bb2d91ef61"},{"name":"Broadcasts","item":[{"name":"List broadcasts","id":"b99ac069-0cd8-4e3b-bd86-a543d760c7d8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/broadcasts?inbox_id=<integer>&status=<string>&limit=50&offset=0","description":"<p>Returns a paginated list of broadcasts for your account, with optional filtering by inbox and status.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>broadcasts:read</code></p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inbox_id</code></td>\n<td>integer</td>\n<td>Filter by inbox ID</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>Filter by status: <code>draft</code>, <code>scheduled</code>, <code>in_progress</code>, <code>completed</code>, <code>cancelled</code>, <code>failed</code></td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>Max results, defaults to 50</td>\n</tr>\n<tr>\n<td><code>offset</code></td>\n<td>integer</td>\n<td>Pagination offset, defaults to 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","accounts",":accountId","broadcasts"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Filter by inbox ID</p>\n","type":"text/plain"},"key":"inbox_id","value":"<integer>"},{"description":{"content":"<p>Filter by status</p>\n","type":"text/plain"},"key":"status","value":"<string>"},{"description":{"content":"<p>Limit</p>\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"<p>Offset</p>\n","type":"text/plain"},"key":"offset","value":"0"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"}]}},"response":[{"id":"52b4fd7a-fcb0-4359-9f2a-273f73b2f382","name":"200 — Broadcast list","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v2/accounts/:accountId/broadcasts?inbox_id=<integer>&status=<string>&limit=50&offset=0","host":["{{base_url}}"],"path":["api","v2","accounts",":accountId","broadcasts"],"query":[{"description":"Filter by inbox ID","key":"inbox_id","value":"<integer>"},{"description":"Filter by status","key":"status","value":"<string>"},{"description":"Limit","key":"limit","value":"50"},{"description":"Offset","key":"offset","value":"0"}],"variable":[{"key":"accountId","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Returns a paginated list of broadcasts for the account, with optional filtering by inbox and status.\n\n**Scopes required:** `broadcasts:read`\n\n**Status values:** `draft`, `scheduled`, `in_progress`, `completed`, `cancelled`, `failed`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"broadcasts\": [\n    {\n      \"id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n      \"account_id\": 1,\n      \"inbox_id\": 3,\n      \"name\": \"Product Launch Announcement\",\n      \"template_id\": \"t1b2c3d4\",\n      \"template_name\": \"product_launch_v1\",\n      \"status\": \"completed\",\n      \"recipient_count\": 1500,\n      \"stats\": {\n        \"sent\": 1480,\n        \"delivered\": 1450,\n        \"read\": 980,\n        \"failed\": 20\n      },\n      \"created_by\": \"agent@example.com\",\n      \"scheduled_at\": null,\n      \"started_at\": \"2026-04-01T14:00:00Z\",\n      \"completed_at\": \"2026-04-01T14:15:00Z\",\n      \"created_at\": \"2026-04-01T10:00:00Z\"\n    }\n  ]\n}"}],"_postman_id":"b99ac069-0cd8-4e3b-bd86-a543d760c7d8"},{"name":"Create broadcast","id":"4f980085-56fe-4b69-aa34-db61c2860892","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Product Launch Announcement\",\n  \"inbox_id\": 3,\n  \"template_id\": \"t1b2c3d4-e5f6-7890\",\n  \"template_name\": \"product_launch_v1\",\n  \"template_params\": {\n    \"1\": \"New Feature\",\n    \"2\": \"https://app.huechat.ai\"\n  },\n  \"recipients\": [\n    \"+966501234567\",\n    \"+966509876543\"\n  ],\n  \"scheduled_at\": \"2026-04-10T14:00:00Z\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:accountId/broadcasts","description":"<p>Creates a new broadcast campaign in <code>draft</code> status. The broadcast must be sent via the <strong>Send broadcast</strong> endpoint to dispatch messages to recipients.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>broadcasts:write</code></p>\n<h2 id=\"required-fields\">Required Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Campaign name (max 255 chars)</td>\n</tr>\n<tr>\n<td><code>inbox_id</code></td>\n<td>integer</td>\n<td>WhatsApp inbox to send from</td>\n</tr>\n<tr>\n<td><code>template_id</code></td>\n<td>string</td>\n<td>UUID of the approved WhatsApp template</td>\n</tr>\n<tr>\n<td><code>template_name</code></td>\n<td>string</td>\n<td>Name of the template</td>\n</tr>\n<tr>\n<td><code>recipients</code></td>\n<td>array</td>\n<td>Array of phone numbers (with country code) or contact IDs</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-fields\">Optional Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>template_params</code></td>\n<td>object</td>\n<td>Variable substitutions for the template body and header</td>\n</tr>\n<tr>\n<td><code>labels</code></td>\n<td>array</td>\n<td>Labels to attach to the broadcast for reporting</td>\n</tr>\n<tr>\n<td><code>scheduled_at</code></td>\n<td>string</td>\n<td>ISO 8601 datetime — schedule the broadcast for later</td>\n</tr>\n</tbody>\n</table>\n</div><p>For larger recipient lists (1000+), use the <strong>Upload CSV recipients</strong> endpoint instead of inlining recipients.</p>\n<h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>name_required</code></td>\n<td>The <code>name</code> field is required</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>template_not_approved</code></td>\n<td>The specified template is not yet approved by Meta</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>recipient_count_exceeds_limit</code></td>\n<td>Inline recipients limited to 1000; use CSV upload</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","accounts",":accountId","broadcasts"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"}]}},"response":[{"id":"c996a819-08da-47b9-a5f0-360be96beb73","name":"201 — Broadcast created","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Product Launch Announcement\",\n  \"inbox_id\": 3,\n  \"template_id\": \"t1b2c3d4-e5f6-7890\",\n  \"template_name\": \"product_launch_v1\",\n  \"template_params\": {\n    \"1\": \"New Feature\",\n    \"2\": \"https://app.huechat.ai\"\n  },\n  \"recipients\": [\n    \"+966501234567\",\n    \"+966509876543\"\n  ],\n  \"scheduled_at\": \"2026-04-10T14:00:00Z\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v2/accounts/:accountId/broadcasts","host":["{{base_url}}"],"path":["api","v2","accounts",":accountId","broadcasts"],"variable":[{"key":"accountId","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Creates a new broadcast campaign. The broadcast starts in `draft` status — call the Send endpoint to dispatch it.\n\n**Scopes required:** `broadcasts:write`\n\n**Required fields:**\n- `name` — Campaign name\n- `inbox_id` — WhatsApp inbox to send from\n- `template_name` — Name of the approved WhatsApp template\n- `template_id` — Template UUID\n\n**Recipients:** Provide as a JSON array of phone numbers, or use the Upload CSV endpoint to add recipients from a file."},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"broadcast\": {\n    \"id\": \"b2c3d4e5-f6a7-8901-bcde-f12345678901\",\n    \"name\": \"Product Launch Announcement\",\n    \"status\": \"draft\",\n    \"recipient_count\": 2,\n    \"created_at\": \"2026-04-06T12:00:00Z\"\n  }\n}"},{"id":"9c37e506-62df-4207-9139-91f96185b567","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts"],"variable":[{"key":"accountId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"89af4fac-02f8-4618-a283-d09d0314ad2c","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts"],"variable":[{"key":"accountId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"4f980085-56fe-4b69-aa34-db61c2860892"},{"name":"Broadcast reports","id":"4e367175-e89a-4555-bb24-a223e928efe7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/broadcasts/reports?days=30","description":"<p>Returns aggregate broadcast performance metrics over a time window. Shows total broadcasts sent, delivery rate, read rate, failure rate, and the top-performing templates.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>broadcasts:read</code></p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>days</code></td>\n<td>integer</td>\n<td>Lookback window in days, defaults to 30</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","accounts",":accountId","broadcasts","reports"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Number of days</p>\n","type":"text/plain"},"key":"days","value":"30"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"}]}},"response":[{"id":"fe11ee66-f656-43ec-a07c-7bad886386a6","name":"OK","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/reports?days=30","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts","reports"],"query":[{"description":"Number of days","key":"days","value":"30"}],"variable":[{"key":"accountId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"494119c4-b95a-468c-8f74-a6c959b552a1","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/reports?days=30","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts","reports"],"query":[{"description":"Number of days","key":"days","value":"30"}],"variable":[{"key":"accountId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"0068d3d9-7142-4918-8aed-d8907dc5a8ef","name":"Internal Server Error","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/reports?days=30","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts","reports"],"query":[{"description":"Number of days","key":"days","value":"30"}],"variable":[{"key":"accountId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"4e367175-e89a-4555-bb24-a223e928efe7"},{"name":"Delete broadcast","id":"ce9609d5-2b73-4421-b253-ceabced8a56c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/broadcasts/:broadcastId","description":"<p>Permanently deletes a broadcast and its delivery history. Only <code>draft</code> and <code>completed</code> broadcasts can be deleted. To stop an in-progress broadcast, use the <strong>Cancel broadcast</strong> endpoint instead.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>broadcasts:delete</code></p>\n","urlObject":{"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Broadcast UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"broadcastId"}]}},"response":[{"id":"10c4036c-a165-437b-9a48-5900cd91d1c7","name":"OK","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"486e58af-6208-4443-b459-e6d858deeb78","name":"Bad Request","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"a00121ba-130d-4f09-b8f4-fb7c23fa8124","name":"Internal Server Error","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"ce9609d5-2b73-4421-b253-ceabced8a56c"},{"name":"Get broadcast","id":"6216a4cf-2ddc-4051-a198-0e3f9bbb9935","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/broadcasts/:broadcastId","description":"<p>Returns the full details of a single broadcast, including delivery stats and recipient summary.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>broadcasts:read</code></p>\n","urlObject":{"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Broadcast UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"broadcastId"}]}},"response":[{"id":"a3d8b44e-a585-4210-bc03-4bf7b984214a","name":"OK","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"6a694ed9-f9c6-458a-9458-035054acb271","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"2778c7fa-2919-4e2b-b5b4-80815a8234f1","name":"Not Found","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"6216a4cf-2ddc-4051-a198-0e3f9bbb9935"},{"name":"Update broadcast","id":"5e83b29e-8eb3-4a5b-8350-47c07bf708e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Updated Campaign Name\",\n  \"scheduled_at\": \"2026-04-15T10:00:00Z\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:accountId/broadcasts/:broadcastId","description":"<p>Updates a broadcast's name, template, recipients, labels, or schedule. Only broadcasts in <code>draft</code> or <code>scheduled</code> status can be updated — once a broadcast starts sending, it becomes immutable.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>broadcasts:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Broadcast UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"broadcastId"}]}},"response":[{"id":"0a8a1789-c3ec-4edc-bbcc-a198c06d6cb7","name":"OK","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"f293a5e3-97cf-467a-8d90-94a10bebc40b","name":"Bad Request","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"56579e7f-efeb-4acd-8a47-1822d171e40f","name":"Not Found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"72797d32-10a2-42de-a8a6-42f1e0f799bc","name":"Conflict","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"acd48f4e-b86c-43c6-8d50-9a92b4537ab4","name":"Internal Server Error","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"5e83b29e-8eb3-4a5b-8350-47c07bf708e0"},{"name":"Cancel broadcast","id":"f1268b5c-ed36-49d1-8e74-ea016b94009a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/broadcasts/:broadcastId/cancel","description":"<p>Cancels an in-progress or scheduled broadcast. Messages already sent <strong>cannot be recalled</strong> — only unsent recipients will be skipped.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>broadcasts:write</code></p>\n<p><strong>Request body:</strong> None required.</p>\n","urlObject":{"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","cancel"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Broadcast UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"broadcastId"}]}},"response":[{"id":"db090e34-f18d-4aeb-becb-5dcb0ce3e6a5","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/cancel","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","cancel"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"bc75d998-c55d-401b-b6a2-cf2040712b4b","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/cancel","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","cancel"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"0cbb910c-a1f2-4736-b62f-379b1637e983","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/cancel","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","cancel"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"2db136c5-7469-426b-ada8-6796b2308553","name":"Conflict","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/cancel","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","cancel"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"3680f831-19b7-4e2b-932d-41d4ef092509","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/cancel","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","cancel"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"f1268b5c-ed36-49d1-8e74-ea016b94009a"},{"name":"List broadcast recipients","id":"5d35a582-4c65-4eb3-9f38-3b63d1d88a1c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/broadcasts/:broadcastId/recipients?status=<string>&limit=100&offset=0","description":"<p>Returns the list of recipients for a broadcast with their delivery status, useful for tracking individual message delivery and identifying failed sends.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>broadcasts:read</code></p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>Filter by recipient status: <code>pending</code>, <code>sent</code>, <code>delivered</code>, <code>read</code>, <code>failed</code></td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>Max results, defaults to 100</td>\n</tr>\n<tr>\n<td><code>offset</code></td>\n<td>integer</td>\n<td>Pagination offset</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","recipients"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Filter by status</p>\n","type":"text/plain"},"key":"status","value":"<string>"},{"description":{"content":"<p>Limit</p>\n","type":"text/plain"},"key":"limit","value":"100"},{"description":{"content":"<p>Offset</p>\n","type":"text/plain"},"key":"offset","value":"0"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Broadcast UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"broadcastId"}]}},"response":[{"id":"bcb593ab-8fb9-4eb9-bbb9-4bd166936473","name":"200 — Recipients","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v2/accounts/:accountId/broadcasts/:broadcastId/recipients?status=<string>&limit=100&offset=0","host":["{{base_url}}"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","recipients"],"query":[{"description":"Filter by status","key":"status","value":"<string>"},{"description":"Limit","key":"limit","value":"100"},{"description":"Offset","key":"offset","value":"0"}],"variable":[{"key":"accountId","value":"<integer>","description":"Your HueChat account ID (integer)"},{"key":"broadcastId","value":"<string>","description":"Broadcast UUID"}]},"description":"Returns the list of recipients for a broadcast with their delivery status.\n\n**Scopes required:** `broadcasts:read`\n\n**Status filter values:** `pending`, `sent`, `delivered`, `read`, `failed`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"recipients\": [\n    {\n      \"id\": 1,\n      \"broadcast_id\": \"b2c3d4e5-f6a7-8901\",\n      \"phone_number\": \"+966501234567\",\n      \"contact_name\": \"Sarah Ahmed\",\n      \"status\": \"delivered\",\n      \"wamid\": \"wamid.abc123\",\n      \"sent_at\": \"2026-04-01T14:00:05Z\",\n      \"delivered_at\": \"2026-04-01T14:00:08Z\",\n      \"read_at\": \"2026-04-01T14:05:00Z\"\n    }\n  ],\n  \"status_counts\": {\n    \"pending\": 0,\n    \"sent\": 20,\n    \"delivered\": 1450,\n    \"read\": 980,\n    \"failed\": 20\n  }\n}"},{"id":"26a55f21-7304-4abd-bfd9-b60b660db8b2","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/recipients?status=<string>&limit=100&offset=0","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","recipients"],"query":[{"description":"Filter by status","key":"status","value":"<string>"},{"description":"Limit","key":"limit","value":"100"},{"description":"Offset","key":"offset","value":"0"}],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"d35f8b3a-cade-441d-a753-a35bd93a9315","name":"Internal Server Error","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/recipients?status=<string>&limit=100&offset=0","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","recipients"],"query":[{"description":"Filter by status","key":"status","value":"<string>"},{"description":"Limit","key":"limit","value":"100"},{"description":"Offset","key":"offset","value":"0"}],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"5d35a582-4c65-4eb3-9f38-3b63d1d88a1c"},{"name":"Send broadcast","id":"e648dbb9-19f2-4abc-acc9-6c2e903bce0d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/broadcasts/:broadcastId/send","description":"<p>Dispatches a draft broadcast to all recipients. The broadcast status changes from <code>draft</code> to <code>in_progress</code> and messages are sent asynchronously over the next few seconds to minutes (depending on recipient count).</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>broadcasts:write</code></p>\n<p><strong>Request body:</strong> None required.</p>\n<h2 id=\"webhook-events\">Webhook Events</h2>\n<p>When the broadcast finishes sending, the <code>broadcast.completed</code> webhook event fires with the final delivery stats.</p>\n<h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>409</td>\n<td><code>already_sending</code></td>\n<td>Broadcast is already in progress</td>\n</tr>\n<tr>\n<td>409</td>\n<td><code>already_completed</code></td>\n<td>Broadcast has already been sent</td>\n</tr>\n<tr>\n<td>409</td>\n<td><code>cannot_send_cancelled</code></td>\n<td>Cancelled broadcasts cannot be re-sent</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","send"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Broadcast UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"broadcastId"}]}},"response":[{"id":"e96deded-72eb-475c-b9d3-b18596e87947","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/send","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","send"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"c7280911-a6a0-4150-8364-d819ca91ae77","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/send","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","send"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"e962a307-91a7-4067-bc2d-39ae3fce93f3","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/send","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","send"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"de1721c9-0c61-4e4f-96a0-499647f44208","name":"Conflict","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/send","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","send"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"7fed4a82-ae53-47ce-8d09-64a8c14cf067","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/send","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","send"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"e648dbb9-19f2-4abc-acc9-6c2e903bce0d"},{"name":"Upload CSV recipients","id":"b0aff8fd-18f1-43ba-a2a1-6c461432d655","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"description":"<p>(Required) CSV file with phone numbers</p>\n","key":"file","type":"file","value":null}]},"url":"{{base_url}}/api/v2/accounts/:accountId/broadcasts/:broadcastId/upload-csv","description":"<p>Uploads a CSV file of phone numbers as broadcast recipients. Use this for large recipient lists (1000+) instead of inlining them in the create-broadcast call.</p>\n<p><strong>Rate Limit:</strong> 10/min</p>\n<p><strong>Scopes required:</strong> <code>broadcasts:write</code></p>\n<p><strong>Content-Type:</strong> <code>multipart/form-data</code></p>\n<h2 id=\"csv-format\">CSV Format</h2>\n<p>The CSV must have a header row and a <code>phone_number</code> column. All other columns are ignored. Phone numbers must include the country code (e.g. <code>+966501234567</code>).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-csv\">phone_number,first_name,last_name\n+966501234567,Sarah,Ahmed\n+966509876543,Mohammed,Khalid\n+966551234567,Fatima,Hassan\n</code></pre>\n<p>Maximum file size: 10 MB (approximately 200,000 recipients).</p>\n","urlObject":{"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","upload-csv"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Broadcast UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"broadcastId"}]}},"response":[{"id":"f39f1341-6cd3-480b-bea5-144c36e5f865","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"(Required) CSV file with phone numbers","key":"file","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/upload-csv","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","upload-csv"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"5afe1018-ca1b-4db2-a35a-69792a4723f5","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"(Required) CSV file with phone numbers","key":"file","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/upload-csv","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","upload-csv"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"f96c2856-1643-4e68-99f4-4e54d1863735","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"(Required) CSV file with phone numbers","key":"file","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/upload-csv","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","upload-csv"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"38bbc581-b89f-4518-b321-4a6754a031c7","name":"Conflict","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"(Required) CSV file with phone numbers","key":"file","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/upload-csv","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","upload-csv"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"553ab7c6-ff8a-4117-8feb-ad66e7458a90","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"(Required) CSV file with phone numbers","key":"file","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/broadcasts/:broadcastId/upload-csv","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","broadcasts",":broadcastId","upload-csv"],"variable":[{"key":"accountId"},{"key":"broadcastId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"b0aff8fd-18f1-43ba-a2a1-6c461432d655"}],"id":"55136bdf-ded4-481f-adf7-c82a3e1f53ad","description":"<h1 id=\"broadcasts\">Broadcasts</h1>\n<p>Broadcasts let you send a single WhatsApp template message to hundreds or thousands of contacts at once. Broadcasts are the HueChat equivalent of an email campaign or SMS blast — perfect for product announcements, promotional offers, service updates, and customer re-engagement.</p>\n<p><strong>Base path:</strong> <code>/api/v2/accounts/{account_id}/broadcasts</code></p>\n<p><strong>Broadcast lifecycle:</strong></p>\n<ol>\n<li><strong>Create</strong> a broadcast with a name, inbox, template, and recipient list (either inline JSON or via CSV upload). The broadcast starts in <code>draft</code> status.</li>\n<li><strong>Review and validate</strong> recipients — HueChat checks each phone number against the template's country allowlist and opt-in rules.</li>\n<li><strong>Send</strong> the broadcast to dispatch messages. Status changes to <code>in_progress</code>.</li>\n<li><strong>Track delivery</strong> in real time via the recipients endpoint or the reports endpoint. Each message transitions through <code>pending</code> → <code>sent</code> → <code>delivered</code> → <code>read</code> → optionally <code>failed</code>.</li>\n<li><strong>Cancel</strong> if needed — unsent messages will be skipped, but already-sent messages cannot be recalled.</li>\n</ol>\n<p><strong>Required scopes:</strong> <code>broadcasts:read</code> for read operations, <code>broadcasts:write</code> for create/update/send/cancel, <code>broadcasts:delete</code> for deletion.</p>\n<p><strong>WhatsApp compliance:</strong> Broadcasts can only use pre-approved WhatsApp templates. You cannot broadcast freeform text messages outside the 24-hour customer service window. Use the Templates endpoints to create and submit templates for Meta approval.</p>\n","_postman_id":"55136bdf-ded4-481f-adf7-c82a3e1f53ad"},{"name":"Templates","item":[{"name":"List templates","id":"56ce1d10-aa63-49a5-9ee0-bd400bc1ba5f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/templates?inbox_id=<integer>&category=<string>&status=<string>","description":"<p>Returns WhatsApp message templates for your account, with optional filtering by inbox, category, and approval status.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>templates:read</code></p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inbox_id</code></td>\n<td>integer</td>\n<td>Filter by WhatsApp inbox</td>\n</tr>\n<tr>\n<td><code>category</code></td>\n<td>string</td>\n<td><code>MARKETING</code>, <code>UTILITY</code>, <code>AUTHENTICATION</code></td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td><code>draft</code>, <code>pending</code>, <code>approved</code>, <code>rejected</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","accounts",":accountId","templates"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Filter by inbox ID</p>\n","type":"text/plain"},"key":"inbox_id","value":"<integer>"},{"description":{"content":"<p>Filter by category</p>\n","type":"text/plain"},"key":"category","value":"<string>"},{"description":{"content":"<p>Filter by status</p>\n","type":"text/plain"},"key":"status","value":"<string>"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"}]}},"response":[{"id":"1b96b87e-b037-4028-875c-4b1820a5b4ef","name":"200 — Template list","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":{"raw":"{{base_url}}/api/v2/accounts/:accountId/templates?inbox_id=<integer>&category=<string>&status=<string>","host":["{{base_url}}"],"path":["api","v2","accounts",":accountId","templates"],"query":[{"description":"Filter by inbox ID","key":"inbox_id","value":"<integer>"},{"description":"Filter by category","key":"category","value":"<string>"},{"description":"Filter by status","key":"status","value":"<string>"}],"variable":[{"key":"accountId","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Returns WhatsApp message templates for the account, with optional filtering by inbox, category, and approval status.\n\n**Scopes required:** `templates:read`\n\n**Category values:** `MARKETING`, `UTILITY`, `AUTHENTICATION`\n**Status values:** `draft`, `pending`, `approved`, `rejected`"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"templates\": [\n    {\n      \"id\": \"t1b2c3d4-e5f6-7890\",\n      \"account_id\": 1,\n      \"inbox_id\": 3,\n      \"name\": \"order_confirmation\",\n      \"language\": \"en\",\n      \"category\": \"UTILITY\",\n      \"status\": \"approved\",\n      \"components\": [\n        {\n          \"type\": \"HEADER\",\n          \"format\": \"TEXT\",\n          \"text\": \"Order Confirmed!\"\n        },\n        {\n          \"type\": \"BODY\",\n          \"text\": \"Hi {{1}}, your order #{{2}} has been confirmed.\"\n        },\n        {\n          \"type\": \"FOOTER\",\n          \"text\": \"Thank you for shopping with us\"\n        }\n      ],\n      \"meta_template_id\": \"123456789\",\n      \"quality_score\": \"HIGH\",\n      \"created_at\": \"2026-03-15T10:00:00Z\"\n    }\n  ]\n}"},{"id":"16408d82-d159-44c3-acfb-3973bace1b62","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates?inbox_id=<integer>&category=<string>&status=<string>","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates"],"query":[{"description":"Filter by inbox ID","key":"inbox_id","value":"<integer>"},{"description":"Filter by category","key":"category","value":"<string>"},{"description":"Filter by status","key":"status","value":"<string>"}],"variable":[{"key":"accountId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"448654fa-2c55-41b1-b726-f608e68bd11e","name":"Internal Server Error","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates?inbox_id=<integer>&category=<string>&status=<string>","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates"],"query":[{"description":"Filter by inbox ID","key":"inbox_id","value":"<integer>"},{"description":"Filter by category","key":"category","value":"<string>"},{"description":"Filter by status","key":"status","value":"<string>"}],"variable":[{"key":"accountId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"56ce1d10-aa63-49a5-9ee0-bd400bc1ba5f"},{"name":"Create template","id":"ebc38bff-9ef9-459c-9c8b-89e71b3c0758","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"order_update\",\n  \"language\": \"en\",\n  \"category\": \"UTILITY\",\n  \"inbox_id\": 3,\n  \"submit_to_meta\": false,\n  \"components\": [\n    {\n      \"type\": \"BODY\",\n      \"text\": \"Hi {{1}}, your order #{{2}} status: {{3}}\"\n    }\n  ],\n  \"example_values\": {\n    \"1\": \"Sarah\",\n    \"2\": \"ORD-123\",\n    \"3\": \"shipped\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:accountId/templates","description":"<p>Creates a new WhatsApp message template. Optionally submits it to Meta for approval immediately via the <code>submit_to_meta: true</code> flag.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>templates:write</code></p>\n<h2 id=\"required-fields\">Required Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Template name (lowercase letters, numbers, underscores only)</td>\n</tr>\n<tr>\n<td><code>language</code></td>\n<td>string</td>\n<td>ISO 639-1 language code</td>\n</tr>\n<tr>\n<td><code>category</code></td>\n<td>string</td>\n<td><code>MARKETING</code>, <code>UTILITY</code>, or <code>AUTHENTICATION</code></td>\n</tr>\n<tr>\n<td><code>inbox_id</code></td>\n<td>integer</td>\n<td>WhatsApp inbox the template belongs to</td>\n</tr>\n<tr>\n<td><code>components</code></td>\n<td>array</td>\n<td>Array of template components (HEADER, BODY, FOOTER, BUTTONS)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-fields\">Optional Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>submit_to_meta</code></td>\n<td>boolean</td>\n<td>If <code>true</code>, submits to Meta for approval immediately. Defaults to <code>false</code> (saves as draft).</td>\n</tr>\n<tr>\n<td><code>example_values</code></td>\n<td>object</td>\n<td>Sample values for template variables (required by Meta)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"components-schema\">Components Schema</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"BODY\",\n  \"text\": \"Hi {{1}}, your order #{{2}} is on its way!\"\n}\n</code></pre>\n<p>Header types: <code>TEXT</code>, <code>IMAGE</code>, <code>VIDEO</code>, <code>DOCUMENT</code>. Buttons: <code>QUICK_REPLY</code>, <code>URL</code>, <code>PHONE_NUMBER</code>.</p>\n","urlObject":{"path":["api","v2","accounts",":accountId","templates"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"}]}},"response":[{"id":"7ad90746-ac00-4fdf-ae81-0fa53db45440","name":"Created","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates"],"variable":[{"key":"accountId"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"054aa817-cb17-4dd7-8103-d10597ecdb13","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates"],"variable":[{"key":"accountId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"cf23ea47-eb21-4f11-a747-448b194cc124","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates"],"variable":[{"key":"accountId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"ebc38bff-9ef9-459c-9c8b-89e71b3c0758"},{"name":"AI-generate template content","id":"69e4500b-2bce-4f78-8ecf-c023c3c871da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"description\": \"A friendly order confirmation message with order number and estimated delivery date\",\n  \"category\": \"UTILITY\",\n  \"language\": \"en\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:accountId/templates/ai-generate","description":"<p>Uses HueChat's built-in AI to generate WhatsApp template body content from a natural-language description. Returns properly formatted template content with variables.</p>\n<p><strong>Rate Limit:</strong> 10/min</p>\n<p><strong>Scopes required:</strong> <code>templates:write</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"description\": \"A friendly order confirmation message with order number and estimated delivery date\",\n  \"category\": \"UTILITY\",\n  \"language\": \"en\"\n}\n</code></pre>\n<h2 id=\"optional-fields\">Optional Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>image_prompt</code></td>\n<td>string</td>\n<td>Description of an image to generate as the template header</td>\n</tr>\n<tr>\n<td><code>sub_type</code></td>\n<td>string</td>\n<td>Template subtype hint</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"possible-errors\">Possible Errors</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>422</td>\n<td><code>description_too_short</code></td>\n<td>Description must be at least 10 characters</td>\n</tr>\n<tr>\n<td>429</td>\n<td><code>monthly_limit_exceeded</code></td>\n<td>You've used all your AI generations for this month</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","accounts",":accountId","templates","ai-generate"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"}]}},"response":[{"id":"43bcb09d-dcd9-4d17-950f-a35b7428e080","name":"200 — Generated content","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"description\": \"A friendly order confirmation message with order number and estimated delivery date\",\n  \"category\": \"UTILITY\",\n  \"language\": \"en\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v2/accounts/:accountId/templates/ai-generate","host":["{{base_url}}"],"path":["api","v2","accounts",":accountId","templates","ai-generate"],"variable":[{"key":"accountId","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Uses AI to generate template body text and optional header image based on a description. Useful for quickly drafting marketing or utility templates.\n\n**Scopes required:** `templates:write`\n\nProvide a natural-language description of what the template should say, and the AI generates properly formatted WhatsApp template content."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"generated_body\": \"Hi {{1}}! Great news \\u2014 your order #{{2}} is confirmed and on its way. Estimated delivery: {{3}}. Track your package anytime in our app.\",\n  \"generated_image_url\": null,\n  \"usage\": {\n    \"generations_used\": 5,\n    \"generations_limit\": 100\n  }\n}"},{"id":"1bf48ec8-e732-4116-a2e7-cb2685cf0ad1","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"category\": \"<string>\",\n  \"description\": \"<string>\",\n  \"image_prompt\": \"<string>\",\n  \"language\": \"<string>\",\n  \"sub_type\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/ai-generate","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","ai-generate"],"variable":[{"key":"accountId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"94c0b660-2852-427a-a6d6-869276f514ad","name":"Unprocessable Entity","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"category\": \"<string>\",\n  \"description\": \"<string>\",\n  \"image_prompt\": \"<string>\",\n  \"language\": \"<string>\",\n  \"sub_type\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/ai-generate","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","ai-generate"],"variable":[{"key":"accountId"}]}},"status":"Unprocessable Entity (WebDAV) (RFC 4918)","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"70fb86bf-260b-4ea5-998c-fbd8cd347823","name":"Too Many Requests","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"category\": \"<string>\",\n  \"description\": \"<string>\",\n  \"image_prompt\": \"<string>\",\n  \"language\": \"<string>\",\n  \"sub_type\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/ai-generate","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","ai-generate"],"variable":[{"key":"accountId"}]}},"status":"Too Many Requests","code":429,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"4c1f5952-6e69-4583-94c9-4a3e18c8162f","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"category\": \"<string>\",\n  \"description\": \"<string>\",\n  \"image_prompt\": \"<string>\",\n  \"language\": \"<string>\",\n  \"sub_type\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/ai-generate","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","ai-generate"],"variable":[{"key":"accountId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"69e4500b-2bce-4f78-8ecf-c023c3c871da"},{"name":"Template analytics","id":"6a0826f7-9d26-4007-98ae-101717ffdce9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/templates/analytics/:templateId","description":"<p>Returns delivery and engagement analytics for a specific template — total sends, delivery rate, read rate, button click-through rate, opt-out rate, and Meta quality score over time.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>templates:read</code></p>\n","urlObject":{"path":["api","v2","accounts",":accountId","templates","analytics",":templateId"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Template UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"templateId"}]}},"response":[{"id":"39ffa1e4-a3bf-4fad-9144-c9b2fd31b2bf","name":"OK","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/analytics/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","analytics",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"2ba1cc14-ae5f-4af8-a2e3-26d38d1e2f66","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/analytics/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","analytics",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"8c098bae-9ccd-4811-8e93-970bdb84fc5e","name":"Not Found","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/analytics/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","analytics",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"2eb5023b-a437-472e-92ea-1d909c57dd3f","name":"Internal Server Error","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/analytics/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","analytics",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"6a0826f7-9d26-4007-98ae-101717ffdce9"},{"name":"List WhatsApp inboxes","id":"e8ebeaee-990d-416c-bd2e-0d0ab52a9883","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/templates/inboxes","description":"<p>Returns all WhatsApp-connected inboxes that can be used for templates and broadcasts.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>templates:read</code></p>\n","urlObject":{"path":["api","v2","accounts",":accountId","templates","inboxes"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"}]}},"response":[{"id":"447f09e9-2b4b-4d49-ba97-4a30b9540858","name":"OK","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/inboxes","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","inboxes"],"variable":[{"key":"accountId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"5273f561-0b40-4d61-b418-b0e2378b1dd0","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/inboxes","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","inboxes"],"variable":[{"key":"accountId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"e8ebeaee-990d-416c-bd2e-0d0ab52a9883"},{"name":"Resubmit template to Meta","id":"6d60a36f-2410-4a02-8e9c-79e9b751477e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"template_id\": \"t1b2c3d4-e5f6-7890\",\n  \"waba_id\": \"123456789012345\",\n  \"access_token\": \"EAABx...\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:accountId/templates/resubmit","description":"<p>Resubmits a previously rejected or modified template to Meta for re-approval.</p>\n<p><strong>Rate Limit:</strong> 10/min</p>\n<p><strong>Scopes required:</strong> <code>templates:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":accountId","templates","resubmit"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"}]}},"response":[{"id":"fc5014a6-0808-4e86-9516-d5a817a97145","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"access_token\": \"<string>\",\n  \"template_id\": \"<string>\",\n  \"waba_id\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/resubmit","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","resubmit"],"variable":[{"key":"accountId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"940289fd-3334-4814-9b1f-718aa51fb02c","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"access_token\": \"<string>\",\n  \"template_id\": \"<string>\",\n  \"waba_id\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/resubmit","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","resubmit"],"variable":[{"key":"accountId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"c5a5f23c-c9f6-40ad-9c9b-54017e63ab92","name":"Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"access_token\": \"<string>\",\n  \"template_id\": \"<string>\",\n  \"waba_id\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/resubmit","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","resubmit"],"variable":[{"key":"accountId"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"5d1c94b3-3f9c-4089-9063-752b7b144e31","name":"Conflict","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"access_token\": \"<string>\",\n  \"template_id\": \"<string>\",\n  \"waba_id\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/resubmit","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","resubmit"],"variable":[{"key":"accountId"}]}},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"de7601f1-833b-4269-87fd-75579ce88c2f","name":"Bad Gateway","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"access_token\": \"<string>\",\n  \"template_id\": \"<string>\",\n  \"waba_id\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/resubmit","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","resubmit"],"variable":[{"key":"accountId"}]}},"status":"Bad Gateway","code":502,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"6d60a36f-2410-4a02-8e9c-79e9b751477e"},{"name":"Sync templates from Meta","id":"ee87c276-197d-47b1-b177-e8e667e7a18a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inbox_id\": 3,\n  \"waba_id\": \"123456789012345\",\n  \"access_token\": \"EAABx...\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:accountId/templates/sync","description":"<p>Fetches the latest template list from Meta's WhatsApp Business API and syncs them into HueChat. Creates new templates, updates existing ones, and marks deleted ones.</p>\n<p><strong>Rate Limit:</strong> 5/min</p>\n<p><strong>Scopes required:</strong> <code>templates:write</code></p>\n<h2 id=\"request-body\">Request Body</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"inbox_id\": 3,\n  \"waba_id\": \"123456789012345\",\n  \"access_token\": \"EAABx...\"\n}\n</code></pre>\n<p>Requires your WhatsApp Business Account ID (<code>waba_id</code>) and a valid Meta system user access token with <code>whatsapp_business_management</code> scope.</p>\n","urlObject":{"path":["api","v2","accounts",":accountId","templates","sync"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"}]}},"response":[{"id":"905ebdef-e824-4eda-a608-b30788a75d7e","name":"200 — Synced","originalRequest":{"auth":{"type":"apikey","apikey":{"key":"api_access_token","value":"{{apiKey}}","in":"header"}},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inbox_id\": 3,\n  \"waba_id\": \"123456789012345\",\n  \"access_token\": \"EAABx...\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v2/accounts/:accountId/templates/sync","host":["{{base_url}}"],"path":["api","v2","accounts",":accountId","templates","sync"],"variable":[{"key":"accountId","value":"<integer>","description":"Your HueChat account ID (integer)"}]},"description":"Fetches the latest template list from Meta's WhatsApp Business API and syncs them into HueChat. Creates new templates, updates existing ones, and marks deleted ones.\n\n**Scopes required:** `templates:write`\n\nRequires your WhatsApp Business Account ID (`waba_id`) and a valid Meta access token."},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"synced\": 15,\n  \"created\": 3,\n  \"updated\": 10,\n  \"deleted\": 2,\n  \"errors\": []\n}"},{"id":"3cd307ef-8b88-42bb-b375-b16bc116051d","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"access_token\": \"<string>\",\n  \"account_id\": \"<integer>\",\n  \"inbox_id\": \"<integer>\",\n  \"waba_id\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/sync","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","sync"],"variable":[{"key":"accountId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"d726f8fa-a34d-40d1-a85e-7a55cf84a29a","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"access_token\": \"<string>\",\n  \"account_id\": \"<integer>\",\n  \"inbox_id\": \"<integer>\",\n  \"waba_id\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/sync","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","sync"],"variable":[{"key":"accountId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"fb83496d-bf9e-4ec7-bc5c-426756ff0e14","name":"Bad Gateway","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{\n  \"access_token\": \"<string>\",\n  \"account_id\": \"<integer>\",\n  \"inbox_id\": \"<integer>\",\n  \"waba_id\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/sync","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","sync"],"variable":[{"key":"accountId"}]}},"status":"Bad Gateway","code":502,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"ee87c276-197d-47b1-b177-e8e667e7a18a"},{"name":"Upload template media","id":"09a150d8-0540-468a-af0b-699130ac450d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"description":"<p>(Required) Media file (image/video/pdf, max 16MB)</p>\n","key":"file","type":"file","value":null}]},"url":"{{base_url}}/api/v2/accounts/:accountId/templates/upload-media","description":"<p>Uploads a media file (image, video, or PDF) to be used as a template header. Returns a media handle that can be referenced in template components.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>templates:write</code></p>\n<p><strong>Content-Type:</strong> <code>multipart/form-data</code></p>\n<h2 id=\"supported-formats\">Supported Formats</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type</th>\n<th>Formats</th>\n<th>Max Size</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Image</td>\n<td>JPEG, PNG</td>\n<td>5 MB</td>\n</tr>\n<tr>\n<td>Video</td>\n<td>MP4, 3GPP</td>\n<td>16 MB</td>\n</tr>\n<tr>\n<td>Document</td>\n<td>PDF</td>\n<td>100 MB</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","accounts",":accountId","templates","upload-media"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"}]}},"response":[{"id":"bbc0eaca-cb28-4efa-8cb6-7d6b6a47f999","name":"OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"(Required) Media file (image/video/pdf, max 16MB)","key":"file","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/upload-media","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","upload-media"],"variable":[{"key":"accountId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"5beffecb-21d8-4bba-8763-36fbb9cb8f71","name":"Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"(Required) Media file (image/video/pdf, max 16MB)","key":"file","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/upload-media","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","upload-media"],"variable":[{"key":"accountId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"7ce4e981-61d9-402e-a642-b5dca837b20f","name":"Internal Server Error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"formdata","formdata":[{"description":"(Required) Media file (image/video/pdf, max 16MB)","key":"file","type":"file"}]},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/upload-media","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates","upload-media"],"variable":[{"key":"accountId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"09a150d8-0540-468a-af0b-699130ac450d"},{"name":"Delete template","id":"dc4aff05-9b0a-4632-9f7c-4cb2787e4d81","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/templates/:templateId","description":"<p>Permanently deletes a template. If the template was previously submitted to Meta, it will also be deleted from Meta's system.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>templates:delete</code></p>\n","urlObject":{"path":["api","v2","accounts",":accountId","templates",":templateId"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Template UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"templateId"}]}},"response":[{"id":"ee9e1720-094f-49a3-89d9-f1e624d2da3e","name":"OK","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"f770370c-882d-41ea-aa10-e5c36fb2c6fb","name":"Bad Request","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"c94c6fc4-e974-42b8-8576-bcf464777ada","name":"Not Found","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"789488a3-d254-4ed1-b076-2aac63b41518","name":"Internal Server Error","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"dc4aff05-9b0a-4632-9f7c-4cb2787e4d81"},{"name":"Get template","id":"a04708be-1e14-4a3d-9b33-283df7f01a26","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/accounts/:accountId/templates/:templateId","description":"<p>Returns the full details of a single template including its Meta approval status, quality score, and rejection reason (if applicable).</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>templates:read</code></p>\n","urlObject":{"path":["api","v2","accounts",":accountId","templates",":templateId"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Template UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"templateId"}]}},"response":[{"id":"a4e774d1-065b-420b-96fa-851ec985195e","name":"OK","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"e7cd901a-600e-4aef-aea1-e508e3461b02","name":"Bad Request","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"947d5c83-9c70-49cb-89ed-6aab043b7aa1","name":"Not Found","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"a04708be-1e14-4a3d-9b33-283df7f01a26"},{"name":"Update template","id":"8e8bc1b5-aaa8-4519-8f4d-03a88f02fbb3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"api_access_token"},{"key":"value","value":"{{apiKey}}"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:accountId/templates/:templateId","description":"<p>Updates a template's content or metadata. Templates already approved by Meta will need resubmission via the <strong>Resubmit template</strong> endpoint after editing.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>templates:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":accountId","templates",":templateId"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"<integer>","key":"accountId"},{"description":{"content":"<p>Template UUID</p>\n","type":"text/plain"},"type":"any","value":"<string>","key":"templateId"}]}},"response":[{"id":"44949351-e583-435c-8b20-f1b127b73727","name":"OK","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"d842381f-1754-4f8a-84d0-b19c6b5aa51e","name":"Bad Request","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"053432d4-b03b-4995-bcdf-c64c2252c5ed","name":"Not Found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"56d5be70-92c8-4975-96a4-ae8e127dd310","name":"Conflict","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"},{"id":"f96af1c6-3e3b-495f-ba66-470e17087d75","name":"Internal Server Error","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: apikey","key":"api_access_token","value":"<API Key>"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://app.huechat.ai/api/v2/accounts/:accountId/templates/:templateId","host":["https://app.huechat.ai"],"path":["api","v2","accounts",":accountId","templates",":templateId"],"variable":[{"key":"accountId"},{"key":"templateId"}]}},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"8e8bc1b5-aaa8-4519-8f4d-03a88f02fbb3"},{"name":"List template categories","id":"7fc63336-8158-4ca4-90f0-31a27801cc39","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base_url}}/api/v2/templates/categories","description":"<p>Returns the list of available WhatsApp template categories: <code>MARKETING</code>, <code>UTILITY</code>, and <code>AUTHENTICATION</code>.</p>\n<p><strong>Rate Limit:</strong> Unlimited (cached)</p>\n<p><strong>Scopes required:</strong> None — this endpoint is publicly accessible.</p>\n","urlObject":{"path":["api","v2","templates","categories"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"ff511f62-0352-40ac-a899-376d3a5c6de7","name":"OK","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app.huechat.ai/api/v2/templates/categories"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"ad2\": -57191204,\n  \"ullamcoa\": -58271869.87855191\n}"}],"_postman_id":"7fc63336-8158-4ca4-90f0-31a27801cc39"}],"id":"54c3d3bd-a6d3-4fcc-b661-d50a5faffc6f","description":"<h1 id=\"templates\">Templates</h1>\n<p>Templates are pre-approved message formats used for sending structured WhatsApp messages outside the 24-hour customer service window. Every template must be submitted to Meta and approved before it can be used in a broadcast or session message.</p>\n<p><strong>Base path:</strong> <code>/api/v2/accounts/{account_id}/templates</code></p>\n<p><strong>Template categories:</strong></p>\n<ul>\n<li><strong>MARKETING</strong> — promotional content, product announcements, offers, newsletters</li>\n<li><strong>UTILITY</strong> — transactional messages, order confirmations, shipping updates, appointment reminders, OTPs (for non-auth use cases)</li>\n<li><strong>AUTHENTICATION</strong> — one-time passcodes and login verification messages</li>\n</ul>\n<p><strong>Template components:</strong></p>\n<ul>\n<li><strong>HEADER</strong> — optional, can be text, image, video, or document</li>\n<li><strong>BODY</strong> — required, supports variable substitution <code>{{1}}</code>, <code>{{2}}</code>, etc.</li>\n<li><strong>FOOTER</strong> — optional short text at the bottom</li>\n<li><strong>BUTTONS</strong> — optional quick-reply or call-to-action buttons (up to 10)</li>\n</ul>\n<p><strong>Template lifecycle:</strong></p>\n<ol>\n<li><strong>Create</strong> a template in <code>draft</code> status with your components and example values.</li>\n<li><strong>Submit</strong> to Meta for approval via the <code>submit_to_meta: true</code> flag on create, or the resubmit endpoint for previously rejected templates.</li>\n<li><strong>Approval</strong> takes anywhere from a few minutes to 24 hours. Status transitions: <code>draft</code> → <code>pending</code> → <code>approved</code> | <code>rejected</code>.</li>\n<li><strong>Use</strong> approved templates in broadcasts and direct template messages.</li>\n<li><strong>Monitor</strong> quality score in the analytics endpoint — low-quality templates risk being paused by Meta.</li>\n</ol>\n<p><strong>Required scopes:</strong> <code>templates:read</code> for read operations, <code>templates:write</code> for create/update/submit, <code>templates:delete</code> for deletion.</p>\n<p><strong>AI generation:</strong> Use the AI-generate endpoint to have HueChat's AI draft template body content from a natural-language description. Great for quickly drafting marketing templates with proper tone and structure.</p>\n","_postman_id":"54c3d3bd-a6d3-4fcc-b661-d50a5faffc6f"},{"name":"Contact Lists","item":[{"name":"List contact lists","id":"c4051b5f-ff15-4b45-9859-62412f019730","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/contact-lists?page=1&per_page=25","description":"<p>Returns a paginated list of contact lists for your account, with member counts and metadata.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>contact_lists:read</code></p>\n<p><strong>Query parameters:</strong></p>\n<ul>\n<li><code>page</code> (integer, optional) — page number, default <code>1</code></li>\n<li><code>per_page</code> (integer, optional) — results per page, default <code>25</code>, max <code>100</code></li>\n<li><code>q</code> (string, optional) — search by list name (case-insensitive partial match)</li>\n</ul>\n<p><strong>Response fields:</strong></p>\n<ul>\n<li><code>id</code> (UUID) — list identifier</li>\n<li><code>name</code> (string) — human-readable list name</li>\n<li><code>description</code> (string) — list description</li>\n<li><code>member_count</code> (integer) — number of contacts in the list</li>\n<li><code>created_at</code>, <code>updated_at</code> (ISO 8601 datetime)</li>\n</ul>\n","urlObject":{"path":["api","v2","accounts",":account_id","contact-lists"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Page number</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Results per page (max 100)</p>\n","type":"text/plain"},"key":"per_page","value":"25"},{"disabled":true,"description":{"content":"<p>Search by name</p>\n","type":"text/plain"},"key":"q","value":""}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"}]}},"response":[{"id":"4e18c803-063a-48ae-b49b-a9d46250c4b9","name":"200 — List of contact lists","originalRequest":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":{"raw":"{{base_url}}/api/v2/accounts/:account_id/contact-lists?page=1&per_page=25","host":["{{base_url}}"],"path":["api","v2","accounts",":account_id","contact-lists"],"query":[{"key":"page","value":"1","description":"Page number"},{"key":"per_page","value":"25","description":"Results per page (max 100)"},{"key":"q","value":"","description":"Search by name","disabled":true}],"variable":[{"key":"account_id","value":"{{account_id}}","description":"Your HueChat account ID (integer)"}]},"description":"Returns a paginated list of contact lists for your account, with member counts and metadata.\n\n**Rate Limit:** 120/min\n\n**Scopes required:** `contact_lists:read`\n\n**Query parameters:**\n- `page` (integer, optional) — page number, default `1`\n- `per_page` (integer, optional) — results per page, default `25`, max `100`\n- `q` (string, optional) — search by list name (case-insensitive partial match)\n\n**Response fields:**\n- `id` (UUID) — list identifier\n- `name` (string) — human-readable list name\n- `description` (string) — list description\n- `member_count` (integer) — number of contacts in the list\n- `created_at`, `updated_at` (ISO 8601 datetime)\n"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n      \"name\": \"VIP Customers\",\n      \"description\": \"Top 100 customers by lifetime value\",\n      \"member_count\": 100,\n      \"created_at\": \"2026-04-01T10:00:00Z\",\n      \"updated_at\": \"2026-04-06T15:30:00Z\"\n    },\n    {\n      \"id\": \"b2c3d4e5-f6a7-8901-bcde-f12345678901\",\n      \"name\": \"Trial Users \\u2014 Day 7\",\n      \"description\": \"Trial accounts on day 7 of their trial\",\n      \"member_count\": 437,\n      \"created_at\": \"2026-03-15T09:00:00Z\",\n      \"updated_at\": \"2026-04-06T08:00:00Z\"\n    }\n  ],\n  \"meta\": {\n    \"total\": 2,\n    \"page\": 1,\n    \"per_page\": 25\n  }\n}"}],"_postman_id":"c4051b5f-ff15-4b45-9859-62412f019730"},{"name":"Create contact list","id":"ff3e02e6-d4db-4389-8972-3430a4faa97c","request":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"VIP Customers\",\n  \"description\": \"Top 100 customers by lifetime value\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/contact-lists","description":"<p>Creates a new contact list. The list starts empty — use the <strong>Add members</strong> endpoint to populate it.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>contact_lists:write</code></p>\n<p><strong>Required fields:</strong></p>\n<ul>\n<li><code>name</code> (string) — list name (max 255 chars, must be unique within the account)</li>\n</ul>\n<p><strong>Optional fields:</strong></p>\n<ul>\n<li><code>description</code> (string) — longer description shown in the dashboard</li>\n</ul>\n<p><strong>Possible errors:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>name_required</code></td>\n<td>The <code>name</code> field is required</td>\n</tr>\n<tr>\n<td>409</td>\n<td><code>name_already_exists</code></td>\n<td>A list with this name already exists in the account</td>\n</tr>\n<tr>\n<td>422</td>\n<td><code>name_too_long</code></td>\n<td>List name exceeds 255 characters</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","accounts",":account_id","contact-lists"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"}]}},"response":[{"id":"89187256-d52f-49c0-8b89-475cdbdcb584","name":"201 — List created","originalRequest":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"VIP Customers\",\n  \"description\": \"Top 100 customers by lifetime value\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v2/accounts/:account_id/contact-lists","host":["{{base_url}}"],"path":["api","v2","accounts",":account_id","contact-lists"],"variable":[{"key":"account_id","value":"{{account_id}}","description":"Your HueChat account ID (integer)"}]},"description":"Creates a new contact list. The list starts empty — use the **Add members** endpoint to populate it.\n\n**Rate Limit:** 60/min\n\n**Scopes required:** `contact_lists:write`\n\n**Required fields:**\n- `name` (string) — list name (max 255 chars, must be unique within the account)\n\n**Optional fields:**\n- `description` (string) — longer description shown in the dashboard\n\n**Possible errors:**\n\n| Status | Code                | Message                                            |\n|--------|---------------------|----------------------------------------------------|\n| 400    | `name_required`     | The `name` field is required                       |\n| 409    | `name_already_exists` | A list with this name already exists in the account |\n| 422    | `name_too_long`     | List name exceeds 255 characters                   |\n"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n  \"name\": \"VIP Customers\",\n  \"description\": \"Top 100 customers by lifetime value\",\n  \"member_count\": 0,\n  \"created_at\": \"2026-04-06T15:30:00Z\",\n  \"updated_at\": \"2026-04-06T15:30:00Z\"\n}"}],"_postman_id":"ff3e02e6-d4db-4389-8972-3430a4faa97c"},{"name":"Get contact list","id":"ab6caded-c44f-47eb-a78c-86ecd150f24d","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/contact-lists/:list_id","description":"<p>Returns the full details of a single contact list, including current member count.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>contact_lists:read</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","contact-lists",":list_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Contact list UUID</p>\n","type":"text/plain"},"type":"any","value":"{{list_id}}","key":"list_id"}]}},"response":[],"_postman_id":"ab6caded-c44f-47eb-a78c-86ecd150f24d"},{"name":"Update contact list","id":"eb538a20-4976-431a-9a1b-14efb4e4d188","request":{"method":"PATCH","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"VIP Customers \\u2014 2026\",\n  \"description\": \"Updated description\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/contact-lists/:list_id","description":"<p>Updates a contact list's name or description. Cannot be used to add or remove members — use the dedicated members endpoints.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>contact_lists:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","contact-lists",":list_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Contact list UUID</p>\n","type":"text/plain"},"type":"any","value":"{{list_id}}","key":"list_id"}]}},"response":[],"_postman_id":"eb538a20-4976-431a-9a1b-14efb4e4d188"},{"name":"Delete contact list","id":"ed635bac-017f-461f-9257-4dffc3524038","request":{"method":"DELETE","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/contact-lists/:list_id","description":"<p>Permanently deletes a contact list. The contacts themselves are <strong>not</strong> deleted — only the list and its membership records are removed.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>contact_lists:delete</code></p>\n<p><strong>Note:</strong> This operation cannot be undone. If a broadcast is currently using this list as its recipient source, the broadcast will fail to send.</p>\n","urlObject":{"path":["api","v2","accounts",":account_id","contact-lists",":list_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Contact list UUID</p>\n","type":"text/plain"},"type":"any","value":"{{list_id}}","key":"list_id"}]}},"response":[],"_postman_id":"ed635bac-017f-461f-9257-4dffc3524038"},{"name":"List members of a contact list","id":"e70d5e2d-a47c-4aef-9ab2-b25ce3e609f6","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/contact-lists/:list_id/members?page=1&per_page=100","description":"<p>Returns the contacts that are members of the specified list, paginated.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>contact_lists:read</code></p>\n<p><strong>Query parameters:</strong></p>\n<ul>\n<li><code>page</code> (integer) — page number</li>\n<li><code>per_page</code> (integer) — results per page (max 200)</li>\n</ul>\n","urlObject":{"path":["api","v2","accounts",":account_id","contact-lists",":list_id","members"],"host":["{{base_url}}"],"query":[{"key":"page","value":"1"},{"key":"per_page","value":"100"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Contact list UUID</p>\n","type":"text/plain"},"type":"any","value":"{{list_id}}","key":"list_id"}]}},"response":[],"_postman_id":"e70d5e2d-a47c-4aef-9ab2-b25ce3e609f6"},{"name":"Add members to a contact list","id":"880b7911-659e-4203-a7d4-fad78f91314e","request":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"contact_ids\": [\n    1024,\n    1025,\n    1026,\n    1027\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/contact-lists/:list_id/members","description":"<p>Adds one or more contacts to a list. Contacts that are already members are silently skipped (idempotent).</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>contact_lists:write</code></p>\n<p><strong>Request body:</strong></p>\n<ul>\n<li><code>contact_ids</code> (array of integers) — IDs of contacts to add (max 1000 per request)</li>\n</ul>\n<p>For larger imports, use the bulk-import endpoint with a CSV file.</p>\n","urlObject":{"path":["api","v2","accounts",":account_id","contact-lists",":list_id","members"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Contact list UUID</p>\n","type":"text/plain"},"type":"any","value":"{{list_id}}","key":"list_id"}]}},"response":[{"id":"3afb614a-aa9f-4d63-ba67-797243e05fdc","name":"200 — Members added","originalRequest":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"contact_ids\": [\n    1024,\n    1025,\n    1026,\n    1027\n  ]\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v2/accounts/:account_id/contact-lists/:list_id/members","host":["{{base_url}}"],"path":["api","v2","accounts",":account_id","contact-lists",":list_id","members"],"variable":[{"key":"account_id","value":"{{account_id}}","description":"Your HueChat account ID (integer)"},{"key":"list_id","value":"{{list_id}}","description":"Contact list UUID"}]},"description":"Adds one or more contacts to a list. Contacts that are already members are silently skipped (idempotent).\n\n**Rate Limit:** 60/min\n\n**Scopes required:** `contact_lists:write`\n\n**Request body:**\n- `contact_ids` (array of integers) — IDs of contacts to add (max 1000 per request)\n\nFor larger imports, use the bulk-import endpoint with a CSV file.\n"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"added\": 4,\n  \"already_members\": 0,\n  \"not_found\": [],\n  \"list_member_count\": 104\n}"}],"_postman_id":"880b7911-659e-4203-a7d4-fad78f91314e"},{"name":"Remove members from a contact list","id":"7144c2d2-f4df-4d7f-aa99-6c9176fe5662","request":{"method":"DELETE","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"contact_ids\": [\n    1024,\n    1025\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/contact-lists/:list_id/members","description":"<p>Removes one or more contacts from a list. Contacts that are not currently members are silently skipped.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>contact_lists:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","contact-lists",":list_id","members"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Contact list UUID</p>\n","type":"text/plain"},"type":"any","value":"{{list_id}}","key":"list_id"}]}},"response":[],"_postman_id":"7144c2d2-f4df-4d7f-aa99-6c9176fe5662"}],"id":"997d79a5-23d2-4c88-b3de-50540e803403","description":"<h1 id=\"contact-lists\">Contact Lists</h1>\n<p>Contact Lists let you organize contacts into segmentable groups for targeted broadcasts, automation triggers, and audience analytics. Unlike contact tags (which are simple labels), lists are first-class objects with their own ID, name, description, and member count — perfect for managing campaign audiences, customer cohorts, and dynamic segments.</p>\n<p><strong>Base path:</strong> <code>/api/v2/accounts/{account_id}/contact-lists</code></p>\n<p><strong>Common use cases:</strong></p>\n<ul>\n<li>Build a \"VIP Customers\" list and use it as the recipient set for a high-value broadcast.</li>\n<li>Sync customer cohorts from your data warehouse into HueChat lists for targeted re-engagement campaigns.</li>\n<li>Maintain a dynamic \"Inactive 30 Days\" list updated nightly via the API for win-back automations.</li>\n<li>Add new leads to a \"Welcome Series\" list to trigger an automated onboarding sequence.</li>\n</ul>\n<p><strong>Required scopes:</strong> <code>contact_lists:read</code> for read operations, <code>contact_lists:write</code> for create/update/add-members/remove-members, <code>contact_lists:delete</code> for deletion.</p>\n","_postman_id":"997d79a5-23d2-4c88-b3de-50540e803403"},{"name":"Tickets","item":[{"name":"List tickets","id":"577f0b6c-a05e-466a-9728-0e54f50812b9","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/tickets?status=open&page=1&per_page=25","description":"<p>Returns a paginated list of tickets, with optional filtering by status, priority, assignee, or contact.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>tickets:read</code></p>\n<p><strong>Query parameters:</strong></p>\n<ul>\n<li><code>status</code> (string) — <code>open</code>, <code>in_progress</code>, <code>waiting_on_customer</code>, <code>closed</code></li>\n<li><code>priority</code> (string) — <code>low</code>, <code>medium</code>, <code>high</code>, <code>critical</code></li>\n<li><code>assignee_id</code> (integer) — filter by assigned agent ID</li>\n<li><code>contact_id</code> (integer) — filter by contact ID</li>\n<li><code>page</code>, <code>per_page</code> — pagination</li>\n<li><code>sort</code> (string) — sort field, prefix with <code>-</code> for descending. Allowed: <code>created_at</code>, <code>updated_at</code>, <code>due_date</code>, <code>priority</code></li>\n</ul>\n","urlObject":{"path":["api","v2","accounts",":account_id","tickets"],"host":["{{base_url}}"],"query":[{"key":"status","value":"open"},{"disabled":true,"key":"priority","value":"high"},{"key":"page","value":"1"},{"key":"per_page","value":"25"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"}]}},"response":[{"id":"57c156c4-37f5-4d2f-ac37-1ed3bf1eb0c3","name":"200 — Ticket list","originalRequest":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":{"raw":"{{base_url}}/api/v2/accounts/:account_id/tickets?status=open&page=1&per_page=25","host":["{{base_url}}"],"path":["api","v2","accounts",":account_id","tickets"],"query":[{"key":"status","value":"open"},{"key":"priority","value":"high","disabled":true},{"key":"page","value":"1"},{"key":"per_page","value":"25"}],"variable":[{"key":"account_id","value":"{{account_id}}","description":"Your HueChat account ID (integer)"}]},"description":"Returns a paginated list of tickets, with optional filtering by status, priority, assignee, or contact.\n\n**Rate Limit:** 120/min\n\n**Scopes required:** `tickets:read`\n\n**Query parameters:**\n- `status` (string) — `open`, `in_progress`, `waiting_on_customer`, `closed`\n- `priority` (string) — `low`, `medium`, `high`, `critical`\n- `assignee_id` (integer) — filter by assigned agent ID\n- `contact_id` (integer) — filter by contact ID\n- `page`, `per_page` — pagination\n- `sort` (string) — sort field, prefix with `-` for descending. Allowed: `created_at`, `updated_at`, `due_date`, `priority`\n"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"id\": \"t1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n      \"title\": \"Cannot log in to my account\",\n      \"description\": \"Customer reports 401 errors when attempting to sign in via the mobile app.\",\n      \"status\": \"in_progress\",\n      \"priority\": \"high\",\n      \"contact\": {\n        \"id\": 1024,\n        \"name\": \"Sarah Ahmed\"\n      },\n      \"assignee\": {\n        \"id\": 5,\n        \"name\": \"Agent Smith\"\n      },\n      \"conversation_id\": 42,\n      \"due_date\": \"2026-04-08T17:00:00Z\",\n      \"created_at\": \"2026-04-06T10:00:00Z\",\n      \"updated_at\": \"2026-04-06T14:30:00Z\"\n    }\n  ],\n  \"meta\": {\n    \"total\": 1,\n    \"page\": 1,\n    \"per_page\": 25\n  }\n}"}],"_postman_id":"577f0b6c-a05e-466a-9728-0e54f50812b9"},{"name":"Create ticket","id":"d2e99e31-f8f1-4515-8d40-d003c04ca97f","request":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"title\": \"Cannot log in to my account\",\n  \"description\": \"Customer reports 401 errors when attempting to sign in via the mobile app. Has tried clearing cache and reinstalling.\",\n  \"contact_id\": 1024,\n  \"conversation_id\": 42,\n  \"status\": \"open\",\n  \"priority\": \"high\",\n  \"assignee_id\": 5,\n  \"due_date\": \"2026-04-08T17:00:00Z\",\n  \"custom_fields\": {\n    \"product_area\": \"Authentication\",\n    \"affected_version\": \"3.2.1\",\n    \"platform\": \"iOS\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/tickets","description":"<p>Creates a new support ticket. Optionally link it to an existing conversation and/or contact.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>tickets:write</code></p>\n<p><strong>Required fields:</strong></p>\n<ul>\n<li><code>title</code> (string) — short ticket title (max 255 chars)</li>\n<li><code>contact_id</code> (integer) — the contact this ticket belongs to</li>\n</ul>\n<p><strong>Optional fields:</strong></p>\n<ul>\n<li><code>description</code> (string) — longer Markdown-supported description</li>\n<li><code>status</code> (string) — initial status, defaults to <code>open</code></li>\n<li><code>priority</code> (string) — <code>low</code>, <code>medium</code>, <code>high</code>, <code>critical</code>. Defaults to <code>medium</code>.</li>\n<li><code>assignee_id</code> (integer) — agent to assign the ticket to</li>\n<li><code>conversation_id</code> (integer) — link the ticket to an existing conversation</li>\n<li><code>due_date</code> (ISO 8601 datetime) — SLA deadline</li>\n<li><code>custom_fields</code> (object) — arbitrary key-value metadata</li>\n</ul>\n<p><strong>Possible errors:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Code</th>\n<th>Message</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td><code>title_required</code></td>\n<td>The <code>title</code> field is required</td>\n</tr>\n<tr>\n<td>400</td>\n<td><code>invalid_priority</code></td>\n<td>Priority must be one of low/medium/high/critical</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>contact_not_found</code></td>\n<td>The specified <code>contact_id</code> does not exist</td>\n</tr>\n<tr>\n<td>404</td>\n<td><code>conversation_not_found</code></td>\n<td>The specified <code>conversation_id</code> does not exist</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","accounts",":account_id","tickets"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"}]}},"response":[{"id":"09420a2f-0b27-4a5c-9613-980119c5e6f6","name":"201 — Ticket created","originalRequest":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"title\": \"Cannot log in to my account\",\n  \"description\": \"Customer reports 401 errors when attempting to sign in via the mobile app. Has tried clearing cache and reinstalling.\",\n  \"contact_id\": 1024,\n  \"conversation_id\": 42,\n  \"status\": \"open\",\n  \"priority\": \"high\",\n  \"assignee_id\": 5,\n  \"due_date\": \"2026-04-08T17:00:00Z\",\n  \"custom_fields\": {\n    \"product_area\": \"Authentication\",\n    \"affected_version\": \"3.2.1\",\n    \"platform\": \"iOS\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{base_url}}/api/v2/accounts/:account_id/tickets","host":["{{base_url}}"],"path":["api","v2","accounts",":account_id","tickets"],"variable":[{"key":"account_id","value":"{{account_id}}","description":"Your HueChat account ID (integer)"}]},"description":"Creates a new support ticket. Optionally link it to an existing conversation and/or contact.\n\n**Rate Limit:** 60/min\n\n**Scopes required:** `tickets:write`\n\n**Required fields:**\n- `title` (string) — short ticket title (max 255 chars)\n- `contact_id` (integer) — the contact this ticket belongs to\n\n**Optional fields:**\n- `description` (string) — longer Markdown-supported description\n- `status` (string) — initial status, defaults to `open`\n- `priority` (string) — `low`, `medium`, `high`, `critical`. Defaults to `medium`.\n- `assignee_id` (integer) — agent to assign the ticket to\n- `conversation_id` (integer) — link the ticket to an existing conversation\n- `due_date` (ISO 8601 datetime) — SLA deadline\n- `custom_fields` (object) — arbitrary key-value metadata\n\n**Possible errors:**\n\n| Status | Code                  | Message                                          |\n|--------|-----------------------|--------------------------------------------------|\n| 400    | `title_required`      | The `title` field is required                    |\n| 400    | `invalid_priority`    | Priority must be one of low/medium/high/critical |\n| 404    | `contact_not_found`   | The specified `contact_id` does not exist        |\n| 404    | `conversation_not_found` | The specified `conversation_id` does not exist |\n"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"t1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n  \"title\": \"Cannot log in to my account\",\n  \"status\": \"open\",\n  \"priority\": \"high\",\n  \"contact\": {\n    \"id\": 1024,\n    \"name\": \"Sarah Ahmed\",\n    \"email\": \"sarah@example.com\"\n  },\n  \"assignee\": {\n    \"id\": 5,\n    \"name\": \"Agent Smith\"\n  },\n  \"conversation_id\": 42,\n  \"due_date\": \"2026-04-08T17:00:00Z\",\n  \"custom_fields\": {\n    \"product_area\": \"Authentication\",\n    \"affected_version\": \"3.2.1\",\n    \"platform\": \"iOS\"\n  },\n  \"created_at\": \"2026-04-06T15:30:00Z\",\n  \"updated_at\": \"2026-04-06T15:30:00Z\"\n}"}],"_postman_id":"d2e99e31-f8f1-4515-8d40-d003c04ca97f"},{"name":"Get ticket","id":"988d5c27-e855-460a-946b-23a9df613bb4","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/tickets/:ticket_id","description":"<p>Returns the full details of a single ticket, including all custom fields and the linked conversation/contact.</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>tickets:read</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","tickets",":ticket_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Ticket UUID</p>\n","type":"text/plain"},"type":"any","value":"{{ticket_id}}","key":"ticket_id"}]}},"response":[],"_postman_id":"988d5c27-e855-460a-946b-23a9df613bb4"},{"name":"Update ticket","id":"f90e549a-e46e-4ccc-a728-6ea0b8839e9c","request":{"method":"PATCH","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"status\": \"in_progress\",\n  \"assignee_id\": 5,\n  \"priority\": \"critical\",\n  \"custom_fields\": {\n    \"escalated\": true\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/tickets/:ticket_id","description":"<p>Updates one or more fields on a ticket. Only include the fields you want to change.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>tickets:write</code></p>\n<p><strong>Updatable fields:</strong> <code>title</code>, <code>description</code>, <code>status</code>, <code>priority</code>, <code>assignee_id</code>, <code>due_date</code>, <code>custom_fields</code></p>\n<p>When you change <code>status</code> to <code>closed</code>, the <code>closed_at</code> timestamp is automatically set. The webhook event <code>ticket.closed</code> will fire.</p>\n","urlObject":{"path":["api","v2","accounts",":account_id","tickets",":ticket_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Ticket UUID</p>\n","type":"text/plain"},"type":"any","value":"{{ticket_id}}","key":"ticket_id"}]}},"response":[],"_postman_id":"f90e549a-e46e-4ccc-a728-6ea0b8839e9c"},{"name":"Delete ticket","id":"6c06524e-acf1-44d6-b121-5200e1650c49","request":{"method":"DELETE","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/tickets/:ticket_id","description":"<p>Permanently deletes a ticket. The linked conversation, contact, and any deals are <strong>not</strong> affected — only the ticket record itself is removed.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>tickets:delete</code></p>\n<p><strong>Note:</strong> This is a hard delete and cannot be undone. To preserve audit history, prefer setting status to <code>closed</code> instead.</p>\n","urlObject":{"path":["api","v2","accounts",":account_id","tickets",":ticket_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Ticket UUID</p>\n","type":"text/plain"},"type":"any","value":"{{ticket_id}}","key":"ticket_id"}]}},"response":[],"_postman_id":"6c06524e-acf1-44d6-b121-5200e1650c49"},{"name":"Add comment to ticket","id":"b22bb111-1990-40f2-9126-5a761dd6e87f","request":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"content\": \"Reproduced this issue. Logged a bug as ENG-1234. ETA Friday.\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/tickets/:ticket_id/comments","description":"<p>Adds an internal comment to a ticket. Comments are visible to your team but not sent to the customer.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>tickets:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","tickets",":ticket_id","comments"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Ticket UUID</p>\n","type":"text/plain"},"type":"any","value":"{{ticket_id}}","key":"ticket_id"}]}},"response":[],"_postman_id":"b22bb111-1990-40f2-9126-5a761dd6e87f"}],"id":"9677599e-c49e-4024-906f-b9b037da9020","description":"<h1 id=\"tickets\">Tickets</h1>\n<p>The Tickets API provides a structured support ticketing system on top of HueChat conversations. While conversations are real-time chat threads, tickets are formal records with statuses, priorities, due dates, assignees, and custom workflows — ideal for B2B support, internal IT helpdesks, and any case-management workflow.</p>\n<p><strong>Base path:</strong> <code>/api/v2/accounts/{account_id}/tickets</code></p>\n<p><strong>Tickets vs. Conversations:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Feature</th>\n<th>Conversation</th>\n<th>Ticket</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Lifecycle</td>\n<td>open / pending / resolved / snoozed</td>\n<td>open / in-progress / waiting / closed</td>\n</tr>\n<tr>\n<td>Identifier</td>\n<td>integer display_id</td>\n<td>UUID</td>\n</tr>\n<tr>\n<td>Linked to</td>\n<td>One contact, one inbox</td>\n<td>One contact, optional conversation, optional deal</td>\n</tr>\n<tr>\n<td>Has SLA</td>\n<td>Optional</td>\n<td>Native (due_date field)</td>\n</tr>\n<tr>\n<td>Has priority</td>\n<td>low / medium / high / urgent</td>\n<td>low / medium / high / critical</td>\n</tr>\n<tr>\n<td>Custom fields</td>\n<td>Yes (via custom_attributes)</td>\n<td>Yes (via custom_fields)</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Common use cases:</strong></p>\n<ul>\n<li>Convert a customer chat into a tracked support ticket with a due date and assigned engineer.</li>\n<li>Build a public-facing ticket form on your website that creates tickets via this API.</li>\n<li>Sync tickets bidirectionally with Jira, Linear, or Zendesk for engineering escalations.</li>\n<li>Generate weekly reports of tickets opened, closed, and average resolution time per team or product area.</li>\n</ul>\n<p><strong>Required scopes:</strong> <code>tickets:read</code> for read operations, <code>tickets:write</code> for create/update/assign, <code>tickets:delete</code> for deletion.</p>\n","_postman_id":"9677599e-c49e-4024-906f-b9b037da9020"},{"name":"Deals","item":[{"name":"List deals","id":"82bcb440-6374-42ad-b415-2c17000219f7","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/deals?stage=negotiation&page=1&per_page=25","description":"<p>Returns a paginated list of deals with optional filtering by stage, owner, or contact.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>deals:read</code></p>\n<p><strong>Query parameters:</strong></p>\n<ul>\n<li><code>stage</code> (string) — filter by pipeline stage</li>\n<li><code>owner_id</code> (integer) — filter by deal owner (assigned agent)</li>\n<li><code>contact_id</code> (integer) — filter by linked contact</li>\n<li><code>min_value</code>, <code>max_value</code> (number) — filter by deal value range</li>\n<li><code>expected_close_after</code>, <code>expected_close_before</code> (ISO 8601 date) — filter by expected close date</li>\n<li><code>page</code>, <code>per_page</code> — pagination</li>\n<li><code>sort</code> (string) — <code>-value</code>, <code>-expected_close_date</code>, <code>-created_at</code>, etc.</li>\n</ul>\n","urlObject":{"path":["api","v2","accounts",":account_id","deals"],"host":["{{base_url}}"],"query":[{"key":"stage","value":"negotiation"},{"key":"page","value":"1"},{"key":"per_page","value":"25"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"}]}},"response":[{"id":"764014ee-9668-4e2f-b595-31cf2ca7894b","name":"200 — Deal list","originalRequest":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":{"raw":"{{base_url}}/api/v2/accounts/:account_id/deals?stage=negotiation&page=1&per_page=25","host":["{{base_url}}"],"path":["api","v2","accounts",":account_id","deals"],"query":[{"key":"stage","value":"negotiation"},{"key":"page","value":"1"},{"key":"per_page","value":"25"}],"variable":[{"key":"account_id","value":"{{account_id}}","description":"Your HueChat account ID (integer)"}]},"description":"Returns a paginated list of deals with optional filtering by stage, owner, or contact.\n\n**Rate Limit:** 120/min\n\n**Scopes required:** `deals:read`\n\n**Query parameters:**\n- `stage` (string) — filter by pipeline stage\n- `owner_id` (integer) — filter by deal owner (assigned agent)\n- `contact_id` (integer) — filter by linked contact\n- `min_value`, `max_value` (number) — filter by deal value range\n- `expected_close_after`, `expected_close_before` (ISO 8601 date) — filter by expected close date\n- `page`, `per_page` — pagination\n- `sort` (string) — `-value`, `-expected_close_date`, `-created_at`, etc.\n"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"id\": \"d1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n      \"name\": \"Acme Corp \\u2014 Enterprise Plan\",\n      \"stage\": \"negotiation\",\n      \"value\": 24000.0,\n      \"currency\": \"USD\",\n      \"probability\": 75,\n      \"expected_close_date\": \"2026-04-30\",\n      \"contact\": {\n        \"id\": 1024,\n        \"name\": \"Sarah Ahmed\",\n        \"email\": \"sarah@acme.com\"\n      },\n      \"owner\": {\n        \"id\": 5,\n        \"name\": \"Sales Rep \\u2014 Alex\"\n      },\n      \"tags\": [\n        \"enterprise\",\n        \"q2-target\"\n      ],\n      \"created_at\": \"2026-03-15T10:00:00Z\",\n      \"updated_at\": \"2026-04-06T14:00:00Z\"\n    }\n  ],\n  \"meta\": {\n    \"total\": 1,\n    \"page\": 1,\n    \"per_page\": 25,\n    \"pipeline_summary\": {\n      \"lead\": 12,\n      \"contacted\": 8,\n      \"qualified\": 5,\n      \"proposal\": 3,\n      \"negotiation\": 2,\n      \"closed_won\": 7,\n      \"closed_lost\": 4\n    },\n    \"total_pipeline_value\": 187500.0\n  }\n}"}],"_postman_id":"82bcb440-6374-42ad-b415-2c17000219f7"},{"name":"Create deal","id":"e7270f95-1009-4483-8a5f-d43490ef7b85","request":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Acme Corp \\u2014 Enterprise Plan\",\n  \"contact_id\": 1024,\n  \"value\": 24000.0,\n  \"currency\": \"USD\",\n  \"stage\": \"qualified\",\n  \"probability\": 60,\n  \"expected_close_date\": \"2026-04-30\",\n  \"owner_id\": 5,\n  \"description\": \"30-seat enterprise plan with SSO and dedicated support. Decision-maker confirmed; budget approved by CFO last week.\",\n  \"tags\": [\n    \"enterprise\",\n    \"q2-target\"\n  ],\n  \"custom_fields\": {\n    \"lead_source\": \"inbound\",\n    \"company_size\": \"200-500\",\n    \"competing_with\": \"Intercom\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/deals","description":"<p>Creates a new sales deal. Each deal must be linked to an existing contact.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>deals:write</code></p>\n<p><strong>Required fields:</strong></p>\n<ul>\n<li><code>name</code> (string) — deal name (max 255 chars)</li>\n<li><code>contact_id</code> (integer) — primary contact for this deal</li>\n<li><code>value</code> (number) — monetary value</li>\n<li><code>currency</code> (string) — ISO 4217 currency code (e.g. <code>USD</code>, <code>EUR</code>, <code>SAR</code>)</li>\n</ul>\n<p><strong>Optional fields:</strong></p>\n<ul>\n<li><code>stage</code> (string) — pipeline stage, defaults to <code>lead</code></li>\n<li><code>probability</code> (integer 0-100) — likelihood of closing, defaults to a stage-based value</li>\n<li><code>expected_close_date</code> (date <code>YYYY-MM-DD</code>) — projected close date</li>\n<li><code>owner_id</code> (integer) — agent who owns this deal</li>\n<li><code>description</code> (string) — Markdown-supported notes</li>\n<li><code>tags</code> (array of strings) — labels for filtering and reporting</li>\n<li><code>custom_fields</code> (object) — arbitrary key-value metadata</li>\n</ul>\n","urlObject":{"path":["api","v2","accounts",":account_id","deals"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"}]}},"response":[],"_postman_id":"e7270f95-1009-4483-8a5f-d43490ef7b85"},{"name":"Get deal","id":"516981c3-6298-485c-b272-675ba440e13e","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/deals/:deal_id","description":"<p>Returns the full details of a single deal, including the activity timeline (stage changes, value updates, comments).</p>\n<p><strong>Rate Limit:</strong> 240/min</p>\n<p><strong>Scopes required:</strong> <code>deals:read</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","deals",":deal_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Deal UUID</p>\n","type":"text/plain"},"type":"any","value":"{{deal_id}}","key":"deal_id"}]}},"response":[],"_postman_id":"516981c3-6298-485c-b272-675ba440e13e"},{"name":"Update deal","id":"ea6b5e51-2bfc-4dbb-a12e-6f2b3a0bc333","request":{"method":"PATCH","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"stage\": \"negotiation\",\n  \"value\": 28000.0,\n  \"probability\": 75,\n  \"expected_close_date\": \"2026-04-25\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/deals/:deal_id","description":"<p>Updates one or more fields on a deal. Stage changes are tracked in the deal's activity timeline.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>deals:write</code></p>\n<p>When you change <code>stage</code> to <code>closed_won</code>, the <code>closed_at</code> timestamp is set and the webhook event <code>deal.won</code> fires. Same for <code>closed_lost</code> → <code>deal.lost</code>.</p>\n","urlObject":{"path":["api","v2","accounts",":account_id","deals",":deal_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Deal UUID</p>\n","type":"text/plain"},"type":"any","value":"{{deal_id}}","key":"deal_id"}]}},"response":[],"_postman_id":"ea6b5e51-2bfc-4dbb-a12e-6f2b3a0bc333"},{"name":"Delete deal","id":"37e16439-263a-437b-a6a2-c1c21954fa05","request":{"method":"DELETE","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/deals/:deal_id","description":"<p>Permanently deletes a deal and its activity history. This action cannot be undone.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>deals:delete</code></p>\n<p><strong>Note:</strong> Linked contacts, conversations, and tickets are not affected. To preserve historical pipeline data, prefer setting stage to <code>closed_lost</code> with a <code>lost_reason</code> instead of deleting.</p>\n","urlObject":{"path":["api","v2","accounts",":account_id","deals",":deal_id"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Deal UUID</p>\n","type":"text/plain"},"type":"any","value":"{{deal_id}}","key":"deal_id"}]}},"response":[],"_postman_id":"37e16439-263a-437b-a6a2-c1c21954fa05"},{"name":"Add note to deal","id":"7f7499d0-11b9-4d9a-8b77-ea7860bcf3a0","request":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"content\": \"Had a 30-min call with the CTO. Main concern is data residency \\u2014 confirmed we can deploy to EU region. Sending updated proposal Friday.\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/deals/:deal_id/notes","description":"<p>Adds a note to a deal's activity timeline. Notes are visible to your team and useful for documenting calls, meetings, and decisions.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>deals:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","deals",":deal_id","notes"],"host":["{{base_url}}"],"query":[],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"},{"description":{"content":"<p>Deal UUID</p>\n","type":"text/plain"},"type":"any","value":"{{deal_id}}","key":"deal_id"}]}},"response":[],"_postman_id":"7f7499d0-11b9-4d9a-8b77-ea7860bcf3a0"},{"name":"Pipeline summary","id":"c44a277c-1e17-40ff-aae2-92d16d0322f7","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/deals/pipeline?period=month","description":"<p>Returns aggregate metrics for the deal pipeline: count and total value per stage, weighted forecast, win rate over a time window.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>deals:read</code></p>\n<p><strong>Query parameters:</strong></p>\n<ul>\n<li><code>period</code> (string) — <code>week</code>, <code>month</code>, <code>quarter</code>, <code>year</code>. Defaults to <code>month</code>.</li>\n<li><code>owner_id</code> (integer, optional) — restrict metrics to a single deal owner</li>\n</ul>\n<p><strong>Response includes:</strong></p>\n<ul>\n<li><code>stages</code> — count and value per stage</li>\n<li><code>weighted_forecast</code> — sum of (value × probability) across open stages</li>\n<li><code>win_rate</code> — percentage of closed deals that ended in <code>closed_won</code> over the period</li>\n<li><code>average_deal_size</code> — mean value of closed-won deals over the period</li>\n<li><code>average_sales_cycle_days</code> — mean days from creation to close</li>\n</ul>\n","urlObject":{"path":["api","v2","accounts",":account_id","deals","pipeline"],"host":["{{base_url}}"],"query":[{"key":"period","value":"month"}],"variable":[{"description":{"content":"<p>Your HueChat account ID (integer)</p>\n","type":"text/plain"},"type":"any","value":"{{account_id}}","key":"account_id"}]}},"response":[{"id":"f02e8871-9beb-4ca9-9207-fea5d5262531","name":"200 — Pipeline summary","originalRequest":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":{"raw":"{{base_url}}/api/v2/accounts/:account_id/deals/pipeline?period=month","host":["{{base_url}}"],"path":["api","v2","accounts",":account_id","deals","pipeline"],"query":[{"key":"period","value":"month"}],"variable":[{"key":"account_id","value":"{{account_id}}","description":"Your HueChat account ID (integer)"}]},"description":"Returns aggregate metrics for the deal pipeline: count and total value per stage, weighted forecast, win rate over a time window.\n\n**Rate Limit:** 60/min\n\n**Scopes required:** `deals:read`\n\n**Query parameters:**\n- `period` (string) — `week`, `month`, `quarter`, `year`. Defaults to `month`.\n- `owner_id` (integer, optional) — restrict metrics to a single deal owner\n\n**Response includes:**\n- `stages` — count and value per stage\n- `weighted_forecast` — sum of (value × probability) across open stages\n- `win_rate` — percentage of closed deals that ended in `closed_won` over the period\n- `average_deal_size` — mean value of closed-won deals over the period\n- `average_sales_cycle_days` — mean days from creation to close\n"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"period\": \"month\",\n  \"stages\": {\n    \"lead\": {\n      \"count\": 24,\n      \"value\": 142000\n    },\n    \"contacted\": {\n      \"count\": 18,\n      \"value\": 98500\n    },\n    \"qualified\": {\n      \"count\": 12,\n      \"value\": 87000\n    },\n    \"proposal\": {\n      \"count\": 7,\n      \"value\": 64000\n    },\n    \"negotiation\": {\n      \"count\": 4,\n      \"value\": 41000\n    },\n    \"closed_won\": {\n      \"count\": 9,\n      \"value\": 78000\n    },\n    \"closed_lost\": {\n      \"count\": 3,\n      \"value\": 22000\n    }\n  },\n  \"weighted_forecast\": 156400,\n  \"win_rate\": 0.75,\n  \"average_deal_size\": 8666.67,\n  \"average_sales_cycle_days\": 24\n}"}],"_postman_id":"c44a277c-1e17-40ff-aae2-92d16d0322f7"}],"id":"57179d14-cc2a-407f-8b3c-a3cca0cd05b4","description":"<h1 id=\"business-deals\">Business Deals</h1>\n<p>The Deals API turns HueChat into a lightweight CRM. Track sales opportunities through your pipeline from first contact to closed-won, with stages, values, expected close dates, and full activity history. Each deal is linked to a contact and can optionally be linked to conversations and tickets, giving your sales and support teams a unified view of every customer relationship.</p>\n<p><strong>Base path:</strong> <code>/api/v2/accounts/{account_id}/deals</code></p>\n<p><strong>Deal lifecycle (default pipeline):</strong></p>\n<ol>\n<li><strong>lead</strong> — Initial inquiry, qualification stage</li>\n<li><strong>contacted</strong> — Outreach made, awaiting response</li>\n<li><strong>qualified</strong> — Decision-maker confirmed, budget verified</li>\n<li><strong>proposal</strong> — Quote or proposal sent</li>\n<li><strong>negotiation</strong> — Terms being discussed</li>\n<li><strong>closed_won</strong> — Deal won, contract signed</li>\n<li><strong>closed_lost</strong> — Deal lost, with reason captured</li>\n</ol>\n<p>You can customize the pipeline stages by editing the <code>stage</code> field — any string value is accepted, allowing you to model your own sales process.</p>\n<p><strong>Common use cases:</strong></p>\n<ul>\n<li>Build a sales pipeline view in your dashboard, filtering deals by stage and assigned rep.</li>\n<li>Sync deals bidirectionally with Pipedrive, HubSpot, or Salesforce.</li>\n<li>Trigger broadcast campaigns to contacts with deals in the <code>negotiation</code> stage.</li>\n<li>Generate revenue forecasts by aggregating <code>value</code> across deals weighted by <code>probability</code>.</li>\n</ul>\n<p><strong>Required scopes:</strong> <code>deals:read</code> for read operations, <code>deals:write</code> for create/update/assign, <code>deals:delete</code> for deletion.</p>\n","_postman_id":"57179d14-cc2a-407f-8b3c-a3cca0cd05b4"},{"name":"Outbound Webhooks","item":[{"name":"Webhook API","item":[{"name":"List webhook subscriptions","id":"77cad0c3-28f4-4693-b2fd-3889da1ad689","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/outbound-webhooks","description":"<p>Returns all outbound webhook subscriptions for the account.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>outbound_webhooks:read</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","outbound-webhooks"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","key":"account_id"}]}},"response":[],"_postman_id":"77cad0c3-28f4-4693-b2fd-3889da1ad689"},{"name":"Create webhook subscription","id":"bfb0f2f5-af30-4eca-abb1-e11fd82f49c7","request":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"https://your-server.example.com/huechat-webhook\",\n  \"name\": \"CRM Sync\",\n  \"description\": \"Pushes contact and conversation events into our CRM\",\n  \"events\": [\n    \"conversation.created\",\n    \"conversation.status_changed\",\n    \"message.created\",\n    \"contact.created\",\n    \"contact.updated\"\n  ],\n  \"is_active\": true\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/outbound-webhooks","description":"<p>Creates a new outbound webhook subscription. Returns the full subscription object including the auto-generated <code>secret</code> (shown only once — store it securely).</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>outbound_webhooks:write</code></p>\n<p><strong>Required fields:</strong></p>\n<ul>\n<li><code>url</code> (string) — your endpoint URL (must use HTTPS)</li>\n<li><code>events</code> (array of strings) — event types to subscribe to (see Webhook Body Content folder for the full list)</li>\n</ul>\n<p><strong>Optional fields:</strong></p>\n<ul>\n<li><code>name</code> (string) — human-readable name shown in the dashboard</li>\n<li><code>description</code> (string) — longer description</li>\n<li><code>is_active</code> (boolean) — whether the webhook is active immediately, defaults to <code>true</code></li>\n</ul>\n","urlObject":{"path":["api","v2","accounts",":account_id","outbound-webhooks"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","key":"account_id"}]}},"response":[],"_postman_id":"bfb0f2f5-af30-4eca-abb1-e11fd82f49c7"},{"name":"Get webhook subscription","id":"0746330f-1869-4002-8d1d-bbd789632808","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/outbound-webhooks/:webhook_id","description":"<p>Returns the full details of a single webhook subscription, including its current status, last delivery time, and consecutive failure count.</p>\n<p><strong>Rate Limit:</strong> 120/min</p>\n<p><strong>Scopes required:</strong> <code>outbound_webhooks:read</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","outbound-webhooks",":webhook_id"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","key":"account_id"},{"type":"any","key":"webhook_id"}]}},"response":[],"_postman_id":"0746330f-1869-4002-8d1d-bbd789632808"},{"name":"Update webhook subscription","id":"1b91d73a-0c5e-46f3-836c-e96bad13815d","request":{"method":"PATCH","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"events\": [\n    \"message.created\",\n    \"conversation.created\"\n  ],\n  \"is_active\": true\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/v2/accounts/:account_id/outbound-webhooks/:webhook_id","description":"<p>Updates a webhook subscription's URL, event list, name, or active status.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>outbound_webhooks:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","outbound-webhooks",":webhook_id"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","key":"account_id"},{"type":"any","key":"webhook_id"}]}},"response":[],"_postman_id":"1b91d73a-0c5e-46f3-836c-e96bad13815d"},{"name":"Delete webhook subscription","id":"098bb5dc-6ff6-494d-ae57-3dcead6dab77","request":{"method":"DELETE","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/outbound-webhooks/:webhook_id","description":"<p>Permanently deletes a webhook subscription. After deletion, no further events will be delivered to this URL.</p>\n<p><strong>Rate Limit:</strong> 30/min</p>\n<p><strong>Scopes required:</strong> <code>outbound_webhooks:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","outbound-webhooks",":webhook_id"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","key":"account_id"},{"type":"any","key":"webhook_id"}]}},"response":[],"_postman_id":"098bb5dc-6ff6-494d-ae57-3dcead6dab77"},{"name":"Test webhook delivery","id":"db8e2450-9995-41dd-9260-df0ae3842a56","request":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/outbound-webhooks/:webhook_id/test","description":"<p>Sends a test event to the configured webhook URL so you can verify your endpoint is reachable and responding correctly.</p>\n<p>The test payload is a synthetic <code>webhook.test</code> event signed with the same secret as production deliveries.</p>\n<p><strong>Rate Limit:</strong> 10/min</p>\n<p><strong>Scopes required:</strong> <code>outbound_webhooks:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","outbound-webhooks",":webhook_id","test"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","key":"account_id"},{"type":"any","key":"webhook_id"}]}},"response":[],"_postman_id":"db8e2450-9995-41dd-9260-df0ae3842a56"},{"name":"Get delivery logs","id":"b5ebb374-ed47-4119-9d7f-f022d3b2b141","request":{"method":"GET","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/outbound-webhooks/:webhook_id/logs","description":"<p>Returns the most recent delivery attempts for a webhook subscription, including the request payload, response status, response body, and any error messages.</p>\n<p><strong>Rate Limit:</strong> 60/min</p>\n<p><strong>Scopes required:</strong> <code>outbound_webhooks:read</code></p>\n<p><strong>Query parameters:</strong></p>\n<ul>\n<li><code>limit</code> (integer) — max log entries to return (default 50, max 200)</li>\n<li><code>status</code> (string) — filter by <code>success</code> or <code>failed</code></li>\n</ul>\n","urlObject":{"path":["api","v2","accounts",":account_id","outbound-webhooks",":webhook_id","logs"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","key":"account_id"},{"type":"any","key":"webhook_id"}]}},"response":[],"_postman_id":"b5ebb374-ed47-4119-9d7f-f022d3b2b141"},{"name":"Rotate webhook secret","id":"2bc207d9-e2a0-4a7b-abc0-e4b942b24446","request":{"method":"POST","header":[{"key":"api_access_token","value":"{{api_token}}","type":"text"}],"url":"{{base_url}}/api/v2/accounts/:account_id/outbound-webhooks/:webhook_id/rotate-secret","description":"<p>Generates a new signing secret for the webhook subscription. The new secret is shown only once — store it securely.</p>\n<p>After rotation, you have a 24-hour grace period during which both the old and new secrets are accepted. After 24 hours, only the new secret is valid.</p>\n<p><strong>Rate Limit:</strong> 5/min</p>\n<p><strong>Scopes required:</strong> <code>outbound_webhooks:write</code></p>\n","urlObject":{"path":["api","v2","accounts",":account_id","outbound-webhooks",":webhook_id","rotate-secret"],"host":["{{base_url}}"],"query":[],"variable":[{"type":"any","key":"account_id"},{"type":"any","key":"webhook_id"}]}},"response":[],"_postman_id":"2bc207d9-e2a0-4a7b-abc0-e4b942b24446"}],"id":"e9e7bfd3-cf7d-4266-b817-e76e469feda0","description":"<h1 id=\"outbound-webhook-api\">Outbound Webhook API</h1>\n<p>Programmatic management of outbound webhook subscriptions. Use these endpoints to create, list, update, and delete webhook subscriptions, and to test delivery to a configured URL.</p>\n<p><strong>Note:</strong> Outbound webhook management is restricted to account administrators. Regular agents cannot create or modify webhook subscriptions via this API. Use a scoped API key created by an administrator with the <code>outbound_webhooks:write</code> scope.</p>\n","_postman_id":"e9e7bfd3-cf7d-4266-b817-e76e469feda0"},{"name":"Webhook Body Content","item":[{"name":"conversation.created","id":"3f81e4ca-b71a-4de2-af31-64679a467c57","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"conversation.created\",\n  \"event_uuid\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"timestamp\": 1712400000.123,\n  \"data\": {\n    \"id\": 42,\n    \"uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"account_id\": 1,\n    \"inbox_id\": 3,\n    \"status\": \"open\",\n    \"priority\": null,\n    \"display_id\": 42,\n    \"labels\": [],\n    \"muted\": false,\n    \"can_reply\": true,\n    \"additional_attributes\": {\n      \"browser\": {\n        \"browser_name\": \"Chrome\"\n      }\n    },\n    \"custom_attributes\": {},\n    \"created_at\": 1712400000,\n    \"updated_at\": 1712400000,\n    \"meta\": {\n      \"sender\": {\n        \"id\": 1024,\n        \"name\": \"Sarah Ahmed\",\n        \"email\": \"sarah@example.com\",\n        \"phone_number\": \"+966501234567\",\n        \"thumbnail\": \"\",\n        \"type\": \"contact\"\n      },\n      \"channel\": \"Channel::WebWidget\",\n      \"assignee\": null,\n      \"team\": null,\n      \"hmac_verified\": true\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>This event fires when a new conversation is created in your account, regardless of the source (web widget, API, WhatsApp inbound, email, etc.).</p>\n<p>Use this event to:</p>\n<ul>\n<li>Notify your team in Slack/Teams when a new conversation arrives</li>\n<li>Auto-create a record in your CRM the moment a new lead reaches out</li>\n<li>Trigger custom routing logic in an external system before HueChat assigns the conversation</li>\n</ul>\n<p>The payload includes the full conversation object with the embedded contact (sender), inbox metadata, and channel type.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3f81e4ca-b71a-4de2-af31-64679a467c57"},{"name":"conversation.status_changed","id":"25468cb9-8009-4771-ad75-986beba42f5e","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"conversation.status_changed\",\n  \"event_uuid\": \"660e8400-e29b-41d4-a716-446655440001\",\n  \"timestamp\": 1712403600.456,\n  \"data\": {\n    \"id\": 42,\n    \"display_id\": 42,\n    \"previous_status\": \"open\",\n    \"current_status\": \"resolved\",\n    \"changed_by\": {\n      \"id\": 5,\n      \"name\": \"Agent Smith\",\n      \"type\": \"user\"\n    },\n    \"snoozed_until\": null\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires whenever a conversation's status changes (e.g. open → resolved, resolved → reopened, open → snoozed).</p>\n<p>The payload includes the previous status, the new status, and metadata about who triggered the change (an agent, the API, or an automation rule).</p>\n<p>Use this event to:</p>\n<ul>\n<li>Update your external CRM whenever a conversation is resolved</li>\n<li>Track resolution time for SLA reporting</li>\n<li>Trigger a customer satisfaction survey when status changes to <code>resolved</code></li>\n</ul>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"25468cb9-8009-4771-ad75-986beba42f5e"},{"name":"conversation.updated","id":"4eb36880-ee00-40cc-8486-a2254d6cf5af","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"conversation.updated\",\n  \"event_uuid\": \"770e8400-e29b-41d4-a716-446655440002\",\n  \"timestamp\": 1712401200.789,\n  \"data\": {\n    \"id\": 42,\n    \"display_id\": 42,\n    \"changes\": {\n      \"assignee_id\": {\n        \"from\": null,\n        \"to\": 5\n      },\n      \"priority\": {\n        \"from\": null,\n        \"to\": \"high\"\n      },\n      \"labels\": {\n        \"from\": [],\n        \"to\": [\n          \"billing\",\n          \"vip\"\n        ]\n      }\n    },\n    \"current\": {\n      \"id\": 42,\n      \"status\": \"open\",\n      \"priority\": \"high\",\n      \"labels\": [\n        \"billing\",\n        \"vip\"\n      ],\n      \"meta\": {\n        \"sender\": {\n          \"id\": 1024,\n          \"name\": \"Sarah Ahmed\"\n        },\n        \"assignee\": {\n          \"id\": 5,\n          \"name\": \"Agent Smith\"\n        }\n      }\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when any field on a conversation changes other than status (which has its own event). Includes assignment changes, label changes, priority changes, and custom-attribute updates.</p>\n<p>The payload includes the full updated conversation object plus a <code>changes</code> map showing exactly which fields changed.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4eb36880-ee00-40cc-8486-a2254d6cf5af"},{"name":"message.created","id":"8ecb5e70-2844-42ba-99ba-c346720fd37e","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"message.created\",\n  \"event_uuid\": \"880e8400-e29b-41d4-a716-446655440003\",\n  \"timestamp\": 1712400060.012,\n  \"data\": {\n    \"id\": 500,\n    \"content\": \"Hi! I need help with my subscription, I was charged twice this month.\",\n    \"account_id\": 1,\n    \"inbox_id\": 3,\n    \"conversation_id\": 42,\n    \"message_type\": \"incoming\",\n    \"content_type\": \"text\",\n    \"status\": \"sent\",\n    \"private\": false,\n    \"source_id\": \"wamid.HBgNOTY2NTAxMjM0NTY3FQIAEhgU\",\n    \"echo_id\": null,\n    \"created_at\": 1712400060,\n    \"sender\": {\n      \"id\": 1024,\n      \"name\": \"Sarah Ahmed\",\n      \"type\": \"contact\",\n      \"phone_number\": \"+966501234567\"\n    },\n    \"conversation\": {\n      \"id\": 42,\n      \"display_id\": 42,\n      \"status\": \"open\",\n      \"assignee_id\": 5,\n      \"unread_count\": 1,\n      \"last_activity_at\": 1712400060\n    },\n    \"attachments\": []\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires whenever a new message is created in any conversation — incoming from a customer, outgoing from an agent or API, or a system activity message.</p>\n<p>This is the most frequently triggered webhook event. Use it for:</p>\n<ul>\n<li>Real-time chat backups and compliance archiving</li>\n<li>Forwarding messages to a custom analytics pipeline</li>\n<li>Triggering chatbot/AI responses to incoming messages</li>\n<li>Auto-translating incoming messages to your team's language</li>\n</ul>\n<p>The payload includes the full message object plus a snapshot of the parent conversation.</p>\n<p><strong>Tip:</strong> Filter by <code>data.message_type</code> to react only to incoming messages: <code>incoming</code>, <code>outgoing</code>, or <code>activity</code>.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"8ecb5e70-2844-42ba-99ba-c346720fd37e"},{"name":"message.updated","id":"f770707e-be07-4e13-be70-cf7882200259","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"message.updated\",\n  \"event_uuid\": \"990e8400-e29b-41d4-a716-446655440004\",\n  \"timestamp\": 1712400120.345,\n  \"data\": {\n    \"id\": 502,\n    \"conversation_id\": 42,\n    \"message_type\": \"outgoing\",\n    \"previous_status\": \"sent\",\n    \"current_status\": \"delivered\",\n    \"delivered_at\": 1712400120,\n    \"read_at\": null\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a message's status changes (e.g. <code>sent</code> → <code>delivered</code> → <code>read</code>) or when a message is edited. Most commonly used for tracking WhatsApp delivery and read receipts.</p>\n<p>The payload includes the message ID, the updated status, and the new timestamps for <code>delivered_at</code> / <code>read_at</code>.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f770707e-be07-4e13-be70-cf7882200259"},{"name":"contact.created","id":"e368fe5f-3ceb-4641-b506-9f02ba527825","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"contact.created\",\n  \"event_uuid\": \"aa0e8400-e29b-41d4-a716-446655440005\",\n  \"timestamp\": 1712400000.678,\n  \"data\": {\n    \"id\": 1024,\n    \"name\": \"Sarah Ahmed\",\n    \"email\": \"sarah@example.com\",\n    \"phone_number\": \"+966501234567\",\n    \"identifier\": null,\n    \"blocked\": false,\n    \"thumbnail\": \"\",\n    \"additional_attributes\": {},\n    \"custom_attributes\": {},\n    \"created_at\": 1712400000,\n    \"updated_at\": 1712400000\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a new contact record is created in your account, either via the API, the dashboard, or automatically when an unknown user starts a conversation through any channel.</p>\n<p>Use this event to sync new contacts into your CRM, marketing automation, or analytics platform in real time.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e368fe5f-3ceb-4641-b506-9f02ba527825"},{"name":"contact.updated","id":"936290fc-93ed-436b-b71a-cb8f7a036f93","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"contact.updated\",\n  \"event_uuid\": \"bb0e8400-e29b-41d4-a716-446655440006\",\n  \"timestamp\": 1712403600.901,\n  \"data\": {\n    \"id\": 1024,\n    \"changes\": {\n      \"email\": {\n        \"from\": \"sarah@example.com\",\n        \"to\": \"sarah@newcompany.com\"\n      },\n      \"custom_attributes\": {\n        \"from\": {\n          \"plan\": \"starter\"\n        },\n        \"to\": {\n          \"plan\": \"enterprise\",\n          \"company_size\": \"200-500\"\n        }\n      }\n    },\n    \"current\": {\n      \"id\": 1024,\n      \"name\": \"Sarah Ahmed\",\n      \"email\": \"sarah@newcompany.com\",\n      \"phone_number\": \"+966501234567\",\n      \"custom_attributes\": {\n        \"plan\": \"enterprise\",\n        \"company_size\": \"200-500\"\n      }\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when an existing contact's profile is updated — name change, email update, custom attribute change, etc. Includes a <code>changes</code> map with the previous and new values for each updated field.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"936290fc-93ed-436b-b71a-cb8f7a036f93"},{"name":"contact.deleted","id":"2b138834-8982-4dac-9b6b-f8bf233db794","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"contact.deleted\",\n  \"event_uuid\": \"cc0e8400-e29b-41d4-a716-446655440007\",\n  \"timestamp\": 1712410000.234,\n  \"data\": {\n    \"id\": 1024,\n    \"name\": \"Sarah Ahmed\",\n    \"phone_number\": \"+966501234567\",\n    \"deleted_at\": 1712410000\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a contact is deleted from your account. The payload includes only the ID and basic identifying fields, since the full record is no longer available.</p>\n<p>Use this event to maintain GDPR-compliant deletion across all your downstream systems.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2b138834-8982-4dac-9b6b-f8bf233db794"},{"name":"conversation.label_added","id":"31f37a34-9b18-45a8-be80-104141e4b761","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"conversation.label_added\",\n  \"event_uuid\": \"dd0e8400-e29b-41d4-a716-446655440008\",\n  \"timestamp\": 1712401800.567,\n  \"data\": {\n    \"conversation_id\": 42,\n    \"display_id\": 42,\n    \"label\": \"urgent\",\n    \"all_labels\": [\n      \"billing\",\n      \"vip\",\n      \"urgent\"\n    ],\n    \"added_by\": {\n      \"id\": 5,\n      \"name\": \"Agent Smith\",\n      \"type\": \"user\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a label is added to a conversation. Use this event for label-driven automations — for example, page an on-call engineer when the <code>urgent</code> label is applied.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"31f37a34-9b18-45a8-be80-104141e4b761"},{"name":"conversation.label_removed","id":"168d9d82-2216-42c8-9ab0-1d88b316fa0f","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"conversation.label_removed\",\n  \"event_uuid\": \"ee0e8400-e29b-41d4-a716-446655440009\",\n  \"timestamp\": 1712401900.89,\n  \"data\": {\n    \"conversation_id\": 42,\n    \"display_id\": 42,\n    \"label\": \"urgent\",\n    \"all_labels\": [\n      \"billing\",\n      \"vip\"\n    ],\n    \"removed_by\": {\n      \"id\": 5,\n      \"name\": \"Agent Smith\",\n      \"type\": \"user\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a label is removed from a conversation.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"168d9d82-2216-42c8-9ab0-1d88b316fa0f"},{"name":"broadcast.completed","id":"5e9a8fed-e382-45fc-b2a9-4803a7ce634c","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"broadcast.completed\",\n  \"event_uuid\": \"ff0e8400-e29b-41d4-a716-446655440010\",\n  \"timestamp\": 1712410000.111,\n  \"data\": {\n    \"id\": \"b1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"name\": \"Product Launch Announcement\",\n    \"status\": \"completed\",\n    \"recipient_count\": 1500,\n    \"stats\": {\n      \"sent\": 1480,\n      \"delivered\": 1450,\n      \"read\": 980,\n      \"failed\": 20\n    },\n    \"started_at\": \"2026-04-06T14:00:00Z\",\n    \"completed_at\": \"2026-04-06T14:15:00Z\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a broadcast finishes sending all its recipient messages. The payload includes the final delivery stats and a link to the recipients endpoint for detailed per-message status.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5e9a8fed-e382-45fc-b2a9-4803a7ce634c"},{"name":"template.approved","id":"bfab108c-f8df-4607-b9fc-fdb61841f832","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"template.approved\",\n  \"event_uuid\": \"110e8400-e29b-41d4-a716-446655440011\",\n  \"timestamp\": 1712413600.222,\n  \"data\": {\n    \"id\": \"t1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"name\": \"order_shipped\",\n    \"language\": \"en\",\n    \"category\": \"UTILITY\",\n    \"previous_status\": \"pending\",\n    \"current_status\": \"approved\",\n    \"meta_template_id\": \"789012345678\",\n    \"approved_at\": 1712413600\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a WhatsApp template you submitted to Meta is approved. After this event, the template can be used in broadcasts and direct messages.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"bfab108c-f8df-4607-b9fc-fdb61841f832"},{"name":"template.rejected","id":"71f05209-143b-4526-b9c8-3975d16633ef","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"template.rejected\",\n  \"event_uuid\": \"220e8400-e29b-41d4-a716-446655440012\",\n  \"timestamp\": 1712413700.333,\n  \"data\": {\n    \"id\": \"t2b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"name\": \"promo_blast\",\n    \"language\": \"en\",\n    \"category\": \"MARKETING\",\n    \"previous_status\": \"pending\",\n    \"current_status\": \"rejected\",\n    \"rejection_reason\": \"POLICY_VIOLATION\",\n    \"rejection_detail\": \"Template content does not comply with WhatsApp Business Policy section 4.2 (promotional language outside approved categories).\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a WhatsApp template is rejected by Meta. The payload includes the rejection reason so you can fix the template and resubmit it.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"71f05209-143b-4526-b9c8-3975d16633ef"},{"name":"ticket.created","id":"ce7bacc9-20c5-4f65-949c-5c8850bc2cb1","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"ticket.created\",\n  \"event_uuid\": \"330e8400-e29b-41d4-a716-446655440013\",\n  \"timestamp\": 1712420000.444,\n  \"data\": {\n    \"id\": \"t1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"title\": \"Cannot log in to my account\",\n    \"status\": \"open\",\n    \"priority\": \"high\",\n    \"contact_id\": 1024,\n    \"conversation_id\": 42,\n    \"assignee_id\": 5,\n    \"due_date\": \"2026-04-08T17:00:00Z\",\n    \"created_at\": 1712420000\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a new support ticket is created via the API or the dashboard. Use this event to sync tickets into Jira, Linear, or any external tracker.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ce7bacc9-20c5-4f65-949c-5c8850bc2cb1"},{"name":"ticket.closed","id":"2cc99a86-6304-4901-a40a-0f6413148314","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"ticket.closed\",\n  \"event_uuid\": \"440e8400-e29b-41d4-a716-446655440014\",\n  \"timestamp\": 1712430000.555,\n  \"data\": {\n    \"id\": \"t1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"title\": \"Cannot log in to my account\",\n    \"previous_status\": \"in_progress\",\n    \"current_status\": \"closed\",\n    \"closed_by\": {\n      \"id\": 5,\n      \"name\": \"Agent Smith\"\n    },\n    \"closed_at\": 1712430000,\n    \"resolution_time_seconds\": 10000\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a ticket's status changes to <code>closed</code>. Includes the resolution time and the agent who closed it.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2cc99a86-6304-4901-a40a-0f6413148314"},{"name":"deal.won","id":"452d1554-86ad-4626-9ddd-c28e2262ee8d","request":{"method":"POST","header":[{"key":"X-HueChat-Signature","value":"t=1712400000,v1=abc...","description":"<p>HMAC-SHA256 signature header (see Signature Verification section)</p>\n"}],"body":{"mode":"raw","raw":"{\n  \"version\": 1,\n  \"event\": \"deal.won\",\n  \"event_uuid\": \"550e8400-e29b-41d4-a716-446655440015\",\n  \"timestamp\": 1712440000.666,\n  \"data\": {\n    \"id\": \"d1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"name\": \"Acme Corp \\u2014 Enterprise Plan\",\n    \"value\": 28000.0,\n    \"currency\": \"USD\",\n    \"stage\": \"closed_won\",\n    \"contact_id\": 1024,\n    \"owner_id\": 5,\n    \"closed_at\": 1712440000,\n    \"sales_cycle_days\": 32\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook","description":"<p>Fires when a deal's stage changes to <code>closed_won</code>. Use this event to trigger downstream workflows: send a thank-you email, kick off the onboarding process, post a celebration in Slack, etc.</p>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"452d1554-86ad-4626-9ddd-c28e2262ee8d"}],"id":"1620ad2c-a027-470f-bb86-ad3d37934adc","description":"<h1 id=\"webhook-body-content\">Webhook Body Content</h1>\n<p>Every webhook payload from HueChat shares a common envelope structure with the event-specific data nested inside a <code>data</code> object.</p>\n<h2 id=\"top-level-fields-every-payload\">Top-level fields (every payload)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>version</code></td>\n<td>integer</td>\n<td>The webhook schema version. Currently <code>1</code> for all events.</td>\n</tr>\n<tr>\n<td><code>event</code></td>\n<td>string</td>\n<td>The event type (e.g. <code>conversation.created</code>, <code>message.created</code>, <code>deal.won</code>)</td>\n</tr>\n<tr>\n<td><code>event_uuid</code></td>\n<td>string (UUID)</td>\n<td>A unique identifier for this delivery, useful for idempotency and tracing duplicate retries</td>\n</tr>\n<tr>\n<td><code>timestamp</code></td>\n<td>float</td>\n<td>The time the event occurred, expressed as a Unix timestamp in seconds with millisecond precision</td>\n</tr>\n<tr>\n<td><code>data</code></td>\n<td>object</td>\n<td>An object containing the event-specific payload. The structure varies depending on the event</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"idempotency\">Idempotency</h2>\n<p>HueChat may retry failed webhook deliveries up to 10 times with exponential backoff. To avoid processing the same event twice, store the <code>event_uuid</code> of every event you successfully process in a deduplication cache (Redis, a database table with a unique index, etc.) and skip events whose UUID you've already seen.</p>\n<h2 id=\"event-types\">Event Types</h2>\n<p>The folders below show example payloads for every HueChat webhook event you can subscribe to. Each example is a real-world JSON payload that your webhook handler might receive.</p>\n","_postman_id":"1620ad2c-a027-470f-bb86-ad3d37934adc"},{"name":"Signature Verification","id":"dfb3340f-b165-4e70-90a5-9b48bf8e13a1","request":{"method":"POST","header":[],"url":"https://your-server.example.com/webhook","description":"<h1 id=\"signature-verification\">Signature Verification</h1>\n<p>Every webhook delivery from HueChat includes a signature header so you can verify that the request was actually sent by HueChat and not a third party. <strong>Always verify the signature before processing the payload.</strong></p>\n<h2 id=\"the-signature-header\">The Signature Header</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>X-HueChat-Signature: t=1712400000,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8f9\n</code></pre><p>The header contains two key=value pairs separated by a comma:</p>\n<ul>\n<li><code>t</code> — the Unix timestamp (in seconds) when the webhook was sent</li>\n<li><code>v1</code> — the hex-encoded HMAC-SHA256 signature of the payload</li>\n</ul>\n<h2 id=\"how-to-verify\">How to Verify</h2>\n<ol>\n<li>Extract the <code>t</code> (timestamp) and <code>v1</code> (signature) values from the header</li>\n<li>Build the signed payload string: <code>{timestamp}.{raw_json_body}</code></li>\n<li>Compute HMAC-SHA256 of the signed payload using your webhook secret as the key</li>\n<li>Compare the computed hex digest with the <code>v1</code> value using a constant-time comparison</li>\n<li>(Optional but recommended) Reject the request if <code>t</code> is more than 5 minutes old to prevent replay attacks</li>\n</ol>\n<p>Your webhook secret was generated when you created the webhook subscription and is shown only once. If you lose it, use the <strong>Rotate Secret</strong> endpoint to generate a new one.</p>\n<h2 id=\"code-examples\">Code Examples</h2>\n<h3 id=\"python\">Python</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-python\">import hmac\nimport hashlib\nimport time\n\ndef verify_huechat_signature(payload: bytes, header: str, secret: str, tolerance: int = 300) -&gt; bool:\n    \"\"\"\n    Verify a HueChat webhook signature.\n\n    Args:\n        payload: The raw request body bytes\n        header: The X-HueChat-Signature header value\n        secret: Your webhook signing secret\n        tolerance: Max age in seconds before request is rejected (default: 5 minutes)\n\n    Returns:\n        True if signature is valid and recent, False otherwise\n    \"\"\"\n    parts = dict(p.split(\"=\", 1) for p in header.split(\",\"))\n    timestamp = parts.get(\"t\", \"\")\n    signature = parts.get(\"v1\", \"\")\n    if not timestamp or not signature:\n        return False\n\n    signed_payload = f\"{timestamp}.{payload.decode('utf-8')}\"\n    expected = hmac.new(\n        secret.encode(\"utf-8\"),\n        signed_payload.encode(\"utf-8\"),\n        hashlib.sha256,\n    ).hexdigest()\n\n    if not hmac.compare_digest(expected, signature):\n        return False\n\n    if abs(time.time() - int(timestamp)) &gt; tolerance:\n        return False\n\n    return True\n</code></pre>\n<h3 id=\"nodejs\">Node.js</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">const crypto = require(\"crypto\");\n\nfunction verifyHuechatSignature(payload, header, secret, tolerance = 300) {\n    const parts = Object.fromEntries(\n        header.split(\",\").map(p =&gt; p.split(\"=\", 2))\n    );\n    const { t: timestamp, v1: signature } = parts;\n    if (!timestamp || !signature) return false;\n\n    const signedPayload = `${timestamp}.${payload}`;\n    const expected = crypto\n        .createHmac(\"sha256\", secret)\n        .update(signedPayload)\n        .digest(\"hex\");\n\n    const expectedBuf = Buffer.from(expected, \"hex\");\n    const signatureBuf = Buffer.from(signature, \"hex\");\n\n    if (\n        expectedBuf.length !== signatureBuf.length ||\n        !crypto.timingSafeEqual(expectedBuf, signatureBuf)\n    ) {\n        return false;\n    }\n\n    if (Math.abs(Date.now() / 1000 - parseInt(timestamp)) &gt; tolerance) {\n        return false;\n    }\n\n    return true;\n}\n\n// Express.js example\napp.post(\"/webhook\", express.raw({ type: \"application/json\" }), (req, res) =&gt; {\n    const signature = req.headers[\"x-huechat-signature\"];\n    const valid = verifyHuechatSignature(req.body.toString(), signature, process.env.HUECHAT_WEBHOOK_SECRET);\n    if (!valid) return res.status(401).send(\"Invalid signature\");\n    const event = JSON.parse(req.body);\n    // ... process event ...\n    res.status(200).send(\"ok\");\n});\n</code></pre>\n<h3 id=\"php\">PHP</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-php\">function verifyHuechatSignature(string $payload, string $header, string $secret, int $tolerance = 300): bool {\n    $parts = [];\n    foreach (explode(\",\", $header) as $part) {\n        $kv = explode(\"=\", $part, 2);\n        if (count($kv) === 2) {\n            $parts[$kv[0]] = $kv[1];\n        }\n    }\n    if (empty($parts[\"t\"]) || empty($parts[\"v1\"])) {\n        return false;\n    }\n    $signedPayload = $parts[\"t\"] . \".\" . $payload;\n    $expected = hash_hmac(\"sha256\", $signedPayload, $secret);\n    if (!hash_equals($expected, $parts[\"v1\"])) {\n        return false;\n    }\n    if (abs(time() - intval($parts[\"t\"])) &gt; $tolerance) {\n        return false;\n    }\n    return true;\n}\n</code></pre>\n<h3 id=\"go\">Go</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-go\">package webhook\n\nimport (\n    \"crypto/hmac\"\n    \"crypto/sha256\"\n    \"encoding/hex\"\n    \"math\"\n    \"strconv\"\n    \"strings\"\n    \"time\"\n)\n\nfunc VerifyHuechatSignature(payload []byte, header, secret string, tolerance time.Duration) bool {\n    parts := make(map[string]string)\n    for _, p := range strings.Split(header, \",\") {\n        kv := strings.SplitN(p, \"=\", 2)\n        if len(kv) == 2 {\n            parts[kv[0]] = kv[1]\n        }\n    }\n    timestamp, ok1 := parts[\"t\"]\n    signature, ok2 := parts[\"v1\"]\n    if !ok1 || !ok2 {\n        return false\n    }\n    signedPayload := timestamp + \".\" + string(payload)\n    mac := hmac.New(sha256.New, []byte(secret))\n    mac.Write([]byte(signedPayload))\n    expected := hex.EncodeToString(mac.Sum(nil))\n\n    sigBytes, err := hex.DecodeString(signature)\n    if err != nil {\n        return false\n    }\n    expBytes, _ := hex.DecodeString(expected)\n    if !hmac.Equal(expBytes, sigBytes) {\n        return false\n    }\n    ts, err := strconv.ParseInt(timestamp, 10, 64)\n    if err != nil {\n        return false\n    }\n    if math.Abs(float64(time.Now().Unix()-ts)) &gt; tolerance.Seconds() {\n        return false\n    }\n    return true\n}\n</code></pre>\n<h2 id=\"best-practices\">Best Practices</h2>\n<ul>\n<li><strong>Always use a constant-time comparison</strong> (<code>hmac.compare_digest</code>, <code>crypto.timingSafeEqual</code>, <code>hash_equals</code>, <code>hmac.Equal</code>). Never use <code>==</code> to compare signatures — that opens you up to timing attacks.</li>\n<li><strong>Always check the timestamp tolerance.</strong> A 5-minute window is a sensible default. This prevents an attacker who captures a valid request from replaying it later.</li>\n<li><strong>Read the raw request body</strong> before parsing it as JSON. Many web frameworks parse the JSON automatically and re-serialize it differently, which would cause the signature to fail. Use the raw bytes.</li>\n<li><strong>Store your webhook secret in a secure secrets manager</strong> (AWS Secrets Manager, HashiCorp Vault, environment variables in a managed runtime). Never commit it to source control.</li>\n<li><strong>Rotate your secret if it leaks.</strong> Use the <strong>Rotate Secret</strong> endpoint and update your webhook receiver to accept both old and new secrets for a brief overlap window.</li>\n</ul>\n","urlObject":{"protocol":"https","path":["webhook"],"host":["your-server","example","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"dfb3340f-b165-4e70-90a5-9b48bf8e13a1"}],"id":"89dbf8a6-3877-4bc8-a0ec-b2e837ecc36b","description":"<h1 id=\"outbound-webhooks\">Outbound Webhooks</h1>\n<p>Outbound webhooks deliver real-time HTTP POST notifications to your server when events happen in your HueChat account: a new conversation is created, a message arrives, a contact is updated, a deal is won, and many more.</p>\n<p>Webhooks are the backbone of any real-time integration between HueChat and your own systems. Use them to:</p>\n<ul>\n<li><strong>Sync data into your CRM, data warehouse, or analytics platform</strong> the moment events happen, without polling.</li>\n<li><strong>Build custom routing logic</strong> that processes events outside HueChat and writes back via the API.</li>\n<li><strong>Trigger automations</strong> in workflow tools like Zapier, Make, n8n, or your own internal job queue.</li>\n<li><strong>Notify your team</strong> in Slack, Discord, Microsoft Teams, or any other messaging platform.</li>\n<li><strong>Power chatbots and AI assistants</strong> that need to react to incoming messages in real time.</li>\n</ul>\n<h2 id=\"requirements\">Requirements</h2>\n<ul>\n<li>Your webhook endpoint must be reachable over <strong>HTTPS</strong> with a valid SSL certificate.</li>\n<li>Your endpoint must respond with a <code>2xx</code> status code within <strong>10 seconds</strong>.</li>\n<li>Your handler must be <strong>idempotent</strong> — HueChat may retry failed deliveries up to 10 times with exponential backoff (1s, 2s, 4s, 8s, 16s, 32s, 1m, 2m, 5m, 10m).</li>\n<li>After 10 consecutive failures, the webhook is <strong>automatically disabled</strong> and the account owner is notified by email.</li>\n<li>You should <strong>verify the <code>X-HueChat-Signature</code> header</strong> before trusting any payload — see the Signature Verification section for code samples.</li>\n</ul>\n<h2 id=\"setting-up-a-webhook\">Setting Up a Webhook</h2>\n<ol>\n<li><strong>Create an endpoint</strong> in your application that accepts HTTPS POST requests with a JSON body.</li>\n<li><strong>Implement signature verification</strong> using one of the code samples in the Signature Verification section. Always verify before parsing the payload.</li>\n<li><strong>Create a webhook subscription</strong> via the dashboard (Settings → Integrations → Webhooks) or via the API endpoints in the <strong>Webhook API</strong> subfolder. The response will include a <code>secret</code> (shown only once) — store it in your secrets manager.</li>\n<li><strong>Subscribe to events</strong> by passing the event names you care about. You can subscribe to as many or as few events as you like.</li>\n<li><strong>Test the delivery</strong> using the <strong>Test webhook delivery</strong> endpoint, which sends a synthetic event to your URL so you can confirm everything is wired up correctly.</li>\n</ol>\n<h2 id=\"folder-contents\">Folder Contents</h2>\n<ul>\n<li><strong>Webhook API</strong> — endpoints to programmatically create, list, update, delete, and test webhook subscriptions</li>\n<li><strong>Webhook Body Content</strong> — example payloads for every supported event type, plus the common envelope structure</li>\n<li><strong>Signature Verification</strong> — full documentation and code samples (Python, Node.js, PHP, Go) for verifying the <code>X-HueChat-Signature</code> header</li>\n</ul>\n","_postman_id":"89dbf8a6-3877-4bc8-a0ec-b2e837ecc36b"}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":["// Auto-set authorization header from environment","if (pm.environment.get('api_token')) {","    pm.request.headers.add({","        key: 'api_access_token',","        value: pm.environment.get('api_token')","    });","}","","// Auto-replace account_id in URL","if (pm.environment.get('account_id')) {","    let url = pm.request.url.toString();","    if (url.includes('{accountId}') || url.includes(':accountId')) {","        // Postman handles {{account_id}} automatically","    }","}"]}}],"variable":[{"key":"baseUrl","value":"https://app.huechat.ai"}]}