# ChatSyncs - [Understanding the ChatSyncs Developer API (Beginner's Guide)](https://developer.chatsyncs.com/developer-api/explained.md): A beginner's guide to the ChatSyncs Developer API — what it is, the assistant analogy for how it works, what 'your application' means, and exactly where you paste the API code for a website, Google Sheets, CRM, PHP, Node.js, Python, or Postman. Use when a customer asks what the API is, when to use i… - [Introduction](https://developer.chatsyncs.com/developer-api/introduction.md): How to authenticate and make requests to the ChatSyncs Developer API — base URL, the apiToken parameter, GET vs POST support, and the {status, message} response shape every endpoint returns. Use when a developer asks how to get their API key, what URL to call, or how to read a ChatSyncs API response… - [Finding Your IDs & API Token](https://developer.chatsyncs.com/developer-api/finding-ids.md): Where to find every ID the ChatSyncs Developer API asks for — apiToken, phone_number_id, template_id, bot_flow_unique_id, label_id, team_member_id, sequence_id, whatsapp_catalog_id, order_unique_id, and package_id — with a screenshot of exactly where each one lives in the dashboard. Use when a devel… - [Get My Info](https://developer.chatsyncs.com/developer-api/user/get-my-info.md): Fetch your own ChatSyncs account profile via the API — plan/package, subscriber and message-credit usage, and the connected WhatsApp bots on the account. Use when a developer asks how to check their own account's usage limits or connected numbers programmatically. - [Account Connect](https://developer.chatsyncs.com/developer-api/whatsapp/account-connect.md): Connect a WhatsApp Business Account to ChatSyncs via the API, using a WhatsApp Business Account ID and Meta access token. Use when a developer asks how to programmatically connect a WABA instead of doing it through the dashboard. - [Send Text Message](https://developer.chatsyncs.com/developer-api/whatsapp/send-text-message.md): Send a plain WhatsApp text message to any mobile number via the ChatSyncs API — request parameters, GET and POST examples, and the success/error response shapes. Use when a developer asks how to send a WhatsApp message from their own server/code, or why their send request returned a subscriber-limit… - [Send Template Message](https://developer.chatsyncs.com/developer-api/whatsapp/send-template-message.md): Send an approved WhatsApp message template to a phone number via the ChatSyncs API — generated end-to-end from the API Developer Console, no hand-written fields. Use when a developer asks how to message someone outside the 24-hour window, or how to send a specific template programmatically. - [Send Interactive Buttons](https://developer.chatsyncs.com/developer-api/whatsapp/send-interactive-buttons.md): Send a WhatsApp session message with up to 3 reply buttons via the ChatSyncs API, optionally with an image/video/document header. Use when a developer asks how to send tappable reply buttons, or why a media+buttons request failed. - [Send File / Media](https://developer.chatsyncs.com/developer-api/whatsapp/send-file.md): Send an image, video, audio, or document over WhatsApp via the ChatSyncs API, using a public media URL or a media_id from Upload Media. Use when a developer asks how to send a file/image/video to a WhatsApp number. - [Upload Media](https://developer.chatsyncs.com/developer-api/whatsapp/upload-media.md): Upload a file to ChatSyncs to get a media_id and media_type for use with the Send File API, via multipart/form-data. Use when a developer asks how to send the same file to many recipients without re-uploading it each time. - [Get Conversation](https://developer.chatsyncs.com/developer-api/whatsapp/get-conversation.md): Fetch the message history of a particular WhatsApp subscriber via the ChatSyncs API, with limit/offset pagination. Use when a developer asks how to pull a subscriber's chat history into their own system. - [Get Post Back List](https://developer.chatsyncs.com/developer-api/whatsapp/get-postback-list.md): List all postbacks (quick replies / button actions) configured on a WhatsApp bot via the ChatSyncs API. Use when a developer asks how to look up postback IDs programmatically, e.g. to use with Outbound Actions triggers. - [Get Delivery Message Status](https://developer.chatsyncs.com/developer-api/whatsapp/get-message-status.md): Check the delivery status (sent, delivered, read, failed) of a WhatsApp message via the ChatSyncs API, using only the wa_message_id returned from a send call. Use when a developer asks how to confirm a message was delivered or read. - [Bot Template Get](https://developer.chatsyncs.com/developer-api/whatsapp/get-template-list.md): List WhatsApp message templates created on a bot via the ChatSyncs API, including approval status and template JSON. Use when a developer asks how to programmatically check template approval status or pull a template's structure. - [Create Template](https://developer.chatsyncs.com/developer-api/whatsapp/create-template.md): Create a WhatsApp message template through the ChatSyncs API and submit it to WhatsApp for approval — a normal marketing or utility message, a one-time-passcode (OTP) message, or a carousel. Use when a developer asks how to create a template programmatically, which fields each template type takes, w… - [Template Status](https://developer.chatsyncs.com/developer-api/whatsapp/template-status.md): Check live from WhatsApp whether a message template is approved, still in review, rejected or paused, along with its quality rating and the rejection reason, using the ChatSyncs API. Use when a developer asks how to tell when a newly created template is ready to send, why a template was rejected, or… - [Bot Flow List](https://developer.chatsyncs.com/developer-api/whatsapp/get-bot-flow-list.md): List the chatbot flows configured on a WhatsApp number via the ChatSyncs API, with each flow's unique_id. Use when a developer needs the bot_flow_unique_id that Trigger Bot Flow asks for. - [Trigger Bot Flow](https://developer.chatsyncs.com/developer-api/whatsapp/trigger-bot-flow.md): Trigger a specific Keyword Replies flow for any mobile number via the ChatSyncs API, using the flow's unique ID. Use when a developer asks how to programmatically start a bot conversation instead of waiting for the user to message first. - [Subscriber Get](https://developer.chatsyncs.com/developer-api/subscriber/get-subscriber.md): Look up a single subscriber by phone number via the ChatSyncs API, including assigned agent, bot/AI reply status, and labels. Use when a developer asks how to fetch a subscriber's profile programmatically. - [Subscriber List](https://developer.chatsyncs.com/developer-api/subscriber/list-subscribers.md): List all subscribers on a WhatsApp bot via the ChatSyncs API, with limit/offset pagination and an option to sort by most recent message. Use when a developer asks how to export or sync their full subscriber list. - [Create Subscriber](https://developer.chatsyncs.com/developer-api/subscriber/create-subscriber.md): Create a WhatsApp subscriber/contact via the ChatSyncs API without waiting for them to message your bot first — request parameters, GET and POST examples, and the response shapes for success, duplicate, and account-not-found cases. Use when a developer asks how to add a contact programmatically or b… - [Subscriber Update](https://developer.chatsyncs.com/developer-api/subscriber/update-subscriber.md): Update an existing subscriber's name, gender, or labels via the ChatSyncs API. Use when a developer asks how to keep subscriber profile data in sync with their own CRM. - [Delete Subscriber](https://developer.chatsyncs.com/developer-api/subscriber/delete-subscriber.md): Permanently delete a WhatsApp subscriber via the ChatSyncs API. Use when a developer asks how to remove a contact programmatically, e.g. to honor a deletion/right-to-be-forgotten request. - [Reset User Input Flow](https://developer.chatsyncs.com/developer-api/subscriber/reset-user-input-flow.md): Reset a subscriber's progress through an Input Flow via the ChatSyncs API, letting them restart it from the first question. Use when a developer asks how to let a customer redo a form they got stuck on. - [Subscriber Assign Chat to Team Member](https://developer.chatsyncs.com/developer-api/subscriber/assign-chat-to-team-member.md): Assign a subscriber's conversation to a specific team member via the ChatSyncs API. Use when a developer asks how to route a chat to a human agent programmatically, e.g. from a CRM trigger. - [Mark Conversation Status](https://developer.chatsyncs.com/developer-api/subscriber/mark-conversation-status.md): Mark a subscriber's conversation as resolved, reopened, archived, unarchived, blocked, or unblocked via the ChatSyncs API. Use when a developer asks how to close out or reopen a conversation programmatically, e.g. from a CRM or support-ticket workflow. - [Subscriber Assign Custom Fields](https://developer.chatsyncs.com/developer-api/subscriber/assign-custom-fields.md): Set one or more custom field values on a subscriber via the ChatSyncs API, using a JSON object of field name/value pairs. Use when a developer asks how to sync CRM data into a subscriber's custom fields. - [Custom Fields List](https://developer.chatsyncs.com/developer-api/subscriber/list-custom-fields.md): List every custom field defined on your ChatSyncs account via the API, including each field's reply type. Use when a developer asks how to discover valid custom field names before calling Assign Custom Fields. - [Subscriber Assign Labels](https://developer.chatsyncs.com/developer-api/subscriber/assign-labels.md): Assign one or more labels to a subscriber via the ChatSyncs API, using comma-separated label IDs. Use when a developer asks how to tag/segment subscribers programmatically. - [Subscriber Remove Labels](https://developer.chatsyncs.com/developer-api/subscriber/remove-labels.md): Remove one or more labels from a subscriber via the ChatSyncs API, using comma-separated label IDs. Use when a developer asks how to un-tag subscribers programmatically. - [Subscriber Assign Sequences](https://developer.chatsyncs.com/developer-api/subscriber/assign-sequence.md): Enroll a subscriber into one or more Sequences via the ChatSyncs API, using comma-separated sequence IDs. Use when a developer asks how to start an onboarding/drip campaign programmatically. - [Subscriber Remove Sequences](https://developer.chatsyncs.com/developer-api/subscriber/remove-sequence.md): Unenroll a subscriber from one or more Sequences via the ChatSyncs API, using comma-separated sequence IDs. Use when a developer asks how to stop a drip campaign for a subscriber programmatically. - [Sequence List](https://developer.chatsyncs.com/developer-api/subscriber/list-sequences.md): List the follow-up sequences on a WhatsApp number via the ChatSyncs API, with their IDs. Use when a developer needs the sequence_ids that Assign Sequences or Remove Sequences ask for. - [Add Notes To Subscriber](https://developer.chatsyncs.com/developer-api/subscriber/add-notes.md): Attach an internal note to a subscriber via the ChatSyncs API. Use when a developer asks how to log CRM context (e.g. a support ticket summary) onto a subscriber's record programmatically. - [CRM Overview](https://developer.chatsyncs.com/developer-api/subscriber/get-crm-overview.md): Get a subscriber's CRM deal via the ChatSyncs API: pipeline, stage, value, currency, expected close date, owner, lead score, source and status. Use when a developer asks how to read a contact's deal or find the pipeline_id and stage_id that Update CRM Overview needs. - [Update CRM Overview](https://developer.chatsyncs.com/developer-api/subscriber/update-crm-overview.md): Create or update a subscriber's CRM deal via the ChatSyncs API: title, pipeline, stage, value, currency, expected close date, owner, lead score and source. Use when a developer asks how to create a deal or move a contact to another stage programmatically. - [Label List](https://developer.chatsyncs.com/developer-api/label/list-labels.md): List all labels created on a WhatsApp bot via the ChatSyncs API. Use when a developer asks how to look up label IDs before calling Assign Labels. - [Label Create](https://developer.chatsyncs.com/developer-api/label/create-label.md): Create a new label on a WhatsApp bot via the ChatSyncs API. Use when a developer asks how to programmatically create segments before assigning them to subscribers. - [Catalog List](https://developer.chatsyncs.com/developer-api/catalog/list-catalogs.md): List WhatsApp product catalogs connected to your ChatSyncs account via the API, including checkout settings. Use when a developer asks how to fetch their catalog IDs before syncing or pulling orders. - [Catalog Sync](https://developer.chatsyncs.com/developer-api/catalog/sync-catalog.md): Sync a WhatsApp product catalog's products via the ChatSyncs API. Use when a developer asks how to refresh catalog products programmatically after updating their product feed. - [Catalog Order List](https://developer.chatsyncs.com/developer-api/catalog/list-orders.md): List orders placed through a WhatsApp product catalog via the ChatSyncs API, including cart totals, payment method, and shipping address. Use when a developer asks how to sync catalog orders into their own order management system. - [Catalog Order Status Change](https://developer.chatsyncs.com/developer-api/catalog/update-order-status.md): Change a WhatsApp catalog order's status (Approved, Completed, Shipped, Delivered, Refunded) via the ChatSyncs API. Use when a developer asks how to sync order fulfillment status back into ChatSyncs from their own order system. - [Team Member List](https://developer.chatsyncs.com/developer-api/user/list-team-members.md): List the people on a ChatSyncs account's team via the API, with their IDs, roles and whether each is active. Use when a developer needs a team_member_id to assign a conversation to someone, or asks how to see who is on the team. - [Team Role List](https://developer.chatsyncs.com/developer-api/user/list-team-roles.md): List the roles a ChatSyncs team member can have via the API: which modules each role can use and its monthly limits. Use when a developer asks what a team member's role allows, or needs a role_id. - [Get Direct Login URL](https://developer.chatsyncs.com/developer-api/user/direct-login-url.md): Generate a secure one-time login URL for a ChatSyncs user via the API, creating the user if they don't exist. Use when a developer asks how to build single sign-on into ChatSyncs from their own platform. - [Get Direct Login URL (New Users Only)](https://developer.chatsyncs.com/developer-api/user/direct-login-url-new-users.md): Create a new ChatSyncs user and return a one-time login URL via the API, returning an error instead of a URL if the user already exists. Use when a developer asks how to provision brand-new accounts only, without accidentally logging into an existing one. - [ChatSyncs MCP — Introduction](https://developer.chatsyncs.com/mcp/introduction.md): What the ChatSyncs MCP server is and what it lets an AI assistant you already use (Claude, ChatGPT, Claude Code, Codex, Cursor, Gemini CLI, VS Code Copilot) do with your ChatSyncs account: send WhatsApp messages and templates, manage contacts, labels and deals, read conversations. Also covers what y… - [Which AI app should I use with ChatSyncs?](https://developer.chatsyncs.com/mcp/choose-an-app.md): A side-by-side comparison of the AI apps that can connect to ChatSyncs through MCP (Claude, ChatGPT, Claude Code, OpenAI Codex, Cursor, Gemini CLI, VS Code with GitHub Copilot and others), showing the plan each needs, how you sign in, and how hard setup is. Use when a customer asks which AI assistan… - [Get your ChatSyncs API key](https://developer.chatsyncs.com/mcp/api-key.md): Where to find your ChatSyncs API key on the API Developer Console, how to keep it safe, where it ends up when you connect an AI app, and how to cut off every connected AI app at once by regenerating it. Use when a customer asks where their API key is, what to paste on the ChatSyncs connect page, whe… - [How connecting works](https://developer.chatsyncs.com/mcp/connect.md): What happens when you connect an AI app to ChatSyncs: the ChatSyncs connect page that asks for your API key (Authorize and Cancel buttons, the permissions it lists, the Connected as message), how long the connection lasts, where your key is stored, and the settings for apps without a guide, includin… - [Connect Claude to ChatSyncs](https://developer.chatsyncs.com/mcp/apps/claude.md): Step-by-step: add ChatSyncs to Claude (claude.ai, Claude Desktop and the Claude mobile apps) as a custom connector under Customize → Connectors, choose the right sign-in options (Sign in now, Register automatically), paste your API key on the ChatSyncs page, turn the connector on in a chat, and remo… - [Connect ChatGPT to ChatSyncs](https://developer.chatsyncs.com/mcp/apps/chatgpt.md): Step-by-step: connect ChatSyncs to ChatGPT on the web by opening Plugins (chatgpt.com/plugins), choosing Add → Create custom MCP server with the server URL https://mcp.chatsyncs.com/mcp and OAuth authentication, pasting your API key on the ChatSyncs page, and using it in a chat with @ChatSyncs. Cove… - [Connect Claude Code to ChatSyncs](https://developer.chatsyncs.com/mcp/apps/claude-code.md): Step-by-step: add ChatSyncs to Claude Code with one command (claude mcp add --transport http --scope user chatsyncs https://mcp.chatsyncs.com/mcp), sign in through /mcp → Authenticate by pasting your API key on the ChatSyncs page, check it with claude mcp list, and remove it with claude mcp remove.… - [Connect OpenAI Codex to ChatSyncs](https://developer.chatsyncs.com/mcp/apps/codex.md): Step-by-step: add ChatSyncs to OpenAI Codex from the ChatGPT desktop app (Settings → MCP servers → Add server, Streamable HTTP, Authenticate), the Codex IDE extension, or the CLI (codex mcp add chatsyncs --url https://mcp.chatsyncs.com/mcp, then codex mcp login chatsyncs), pasting your API key on th… - [Connect Cursor to ChatSyncs](https://developer.chatsyncs.com/mcp/apps/cursor.md): Step-by-step: add ChatSyncs to the Cursor editor by putting a chatsyncs entry in ~/.cursor/mcp.json (mcpServers with url https://mcp.chatsyncs.com/mcp), signing in from Cursor's Customize panel by pasting your API key on the ChatSyncs page and letting the browser open Cursor again, the API-key heade… - [Connect VS Code (GitHub Copilot) to ChatSyncs](https://developer.chatsyncs.com/mcp/apps/vs-code.md): Step-by-step: add ChatSyncs to GitHub Copilot in Visual Studio Code with the MCP: Add Server command (HTTP, https://mcp.chatsyncs.com/mcp, saved globally), trust it, sign in by pasting your API key on the ChatSyncs page, and use its tools in Copilot Chat. Includes an mcp.json alternative that prompt… - [Connect Gemini CLI to ChatSyncs](https://developer.chatsyncs.com/mcp/apps/gemini-cli.md): Step-by-step: add ChatSyncs to Google's Gemini CLI with gemini mcp add --scope user --transport http and your API key in an Authorization header, or the equivalent mcpServers entry with httpUrl in ~/.gemini/settings.json, check it with /mcp, and remove it with gemini mcp remove. Also covers browser… - [Connect other apps to ChatSyncs (Windsurf, Zed, Cline, n8n, Make)](https://developer.chatsyncs.com/mcp/apps/other-apps.md): How to connect ChatSyncs to MCP apps without their own guide (Windsurf / Devin Desktop, Zed, Cline, n8n's MCP Client Tool and Make's MCP Client module), with the exact config for each: server URL https://mcp.chatsyncs.com/mcp, OAuth sign-in or an Authorization Bearer header, and when the key-in-URL… - [What the assistant can do — tool reference](https://developer.chatsyncs.com/mcp/tools.md): The complete list of the 43 ChatSyncs abilities (tools) an AI assistant gets through the MCP server, covering sending messages, creating and checking templates, managing subscribers, labels, custom fields, sequences, deals, bot flows and catalog orders, and looking up the public ChatSyncs documentat… - [Things to ask — worked examples](https://developer.chatsyncs.com/mcp/examples.md): Real prompts that work with the ChatSyncs MCP server, covering daily inbox triage, following up leads, sending order updates, organising contacts with labels and custom fields, and handling catalog orders. Use when a customer has connected the MCP and asks what they should actually say to the assist… - [MCP troubleshooting](https://developer.chatsyncs.com/mcp/troubleshooting.md): Fixes for common problems connecting or using the ChatSyncs MCP server in Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code and Gemini CLI: the connect page rejecting a key, Unknown application, Invalid redirect and This page expired errors, a redirect_uri or Missing issuer parameter error, a des… ## OpenAPI Specs - [openapi](/developer-api/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.