# Texterchat ## Docs - [Authentication](https://help.texterchat.com/api-reference/authentication.md): Bearer tokens and scopes - [List Channel Health Problems](https://help.texterchat.com/api-reference/channels/list-channel-health-problems.md): Retrieve a list of current channel health problems. You can filter by severity, account, or channel, and optionally include already-resolved problems. Useful for monitoring system health and diagnosing issues that may affect messaging performance. - [Resolve Channel Health Problem](https://help.texterchat.com/api-reference/channels/resolve-channel-health-problem.md): Mark a specific channel health problem as resolved in Texter. Once resolved, the problem no longer appears in active health problem listings. - [Assign Chat](https://help.texterchat.com/api-reference/chats/assign-chat.md): Assign a specific chat to a designated agent and/or department. When a chat is assigned, its status is automatically set to **PENDING** for that agent and/or department. - [Get Chat by Chat ID](https://help.texterchat.com/api-reference/chats/get-chat-by-chat-id.md): Retrieve a chat by its ID. The response is the chat's **public view** - a trimmed set of properties (it does not include `_id`, `labels`, `crmData` or `displayName`, and `botState` is narrowed to just its session `id`). To retrieve the complete chat record, use **Search Chats**. - [Resolve Chat](https://help.texterchat.com/api-reference/chats/resolve-chat.md): Change the status of a chat to **RESOLVED**. This works regardless of the current chat status, and is typically used once a human agent (or your external system) has finished the conversation. After a chat is resolved, any new incoming message from the contact is routed back to the bot defined in Te… - [Search Chats](https://help.texterchat.com/api-reference/chats/search-chats.md): Search for chats based on various query parameters. The most common use case is searching by the contact's phone number using the `search` parameter. - [Update Chat Properties](https://help.texterchat.com/api-reference/chats/update-chat-properties.md): Modify attributes of a chat. Most commonly used to change a contact's display name in Texter or to enable/disable an external bot for the chat. - [Update CRM Data](https://help.texterchat.com/api-reference/chats/update-crm-data.md): Update the CRM data attached to a specific chat. Supports multiple merge strategies so you can fully replace, shallow merge, deep merge, or fill in missing fields only. - [Enums & Common Fields](https://help.texterchat.com/api-reference/enums.md): Every status value, type enum and identifier in one place - [Generate Public Media URL](https://help.texterchat.com/api-reference/files/generate-public-media-url.md): Generate a public URL for a media file stored in Texter. - [Introduction](https://help.texterchat.com/api-reference/introduction.md): Control every aspect of the Texter platform programmatically - [Create Label](https://help.texterchat.com/api-reference/labels/create-label.md): Create a new label in Texter. - [Delete Label](https://help.texterchat.com/api-reference/labels/delete-label.md): Permanently delete a label from Texter. - [Get Label Data](https://help.texterchat.com/api-reference/labels/get-label-data.md): Fetch the details of a specific label by its unique label ID. - [List All Labels](https://help.texterchat.com/api-reference/labels/list-all-labels.md): Retrieve a list of all labels defined in Texter. - [Manage Labels in Chat](https://help.texterchat.com/api-reference/labels/manage-labels-in-chat.md): Manage labels for a specific chat. Provide **exactly one** of three actions: `add`, `remove`, or `set` (with label IDs). - [Update Existing Label](https://help.texterchat.com/api-reference/labels/update-existing-label.md): Update the details of an existing label. You can modify the label's `name` or `color`, but not its `id`. - [Create New Template](https://help.texterchat.com/api-reference/manage-templates/create-new-template.md): This endpoint is the first of three required to create and submit a new template. - [Create or Update Localization](https://help.texterchat.com/api-reference/manage-templates/create-or-update-localization.md): Use this endpoint after creating a new template to define or update its WhatsApp-facing content - the language, body, header, buttons, and other components. - [Delete Template](https://help.texterchat.com/api-reference/manage-templates/delete-template.md): Permanently delete a template message. - [List All Templates](https://help.texterchat.com/api-reference/manage-templates/list-all-templates.md): Retrieve all approved templates. You may optionally specify an account ID if multiple channels are connected, filter templates by whether they include a header, or include pending and rejected templates with `includeAll`. - [Send Template Message](https://help.texterchat.com/api-reference/manage-templates/send-template-message.md): Send an existing, approved template message to a recipient. You can provide dynamic variables, header media, and metadata about the recipient, and you can override predefined behaviors such as the action performed after the recipient replies. - [Submit Template for Approval](https://help.texterchat.com/api-reference/manage-templates/submit-template-for-approval.md): Submit your template for WhatsApp approval. Call this only after you have successfully created a template and added a localization. - [Update Existing Template](https://help.texterchat.com/api-reference/manage-templates/update-existing-template.md): Update properties of a template - primarily its behavior within Texter. You can modify any attribute defined during template creation, **except** its `name` and `category`. - [Get Messages of a Chat](https://help.texterchat.com/api-reference/messages/get-messages-of-a-chat.md): Retrieve messages from a specific chat. Messages are returned in ascending order (earliest to latest), up to `limit` messages (default 50). - [Send a Message to Chat](https://help.texterchat.com/api-reference/messages/send-a-message-to-chat.md): Send a session message to an existing chat. Messages can include text, media (image, video, document, audio), interactive buttons, list menus, contact cards and locations. - [The Chat object](https://help.texterchat.com/api-reference/objects/chat.md): A conversation with a contact on a connected channel - [The Label object](https://help.texterchat.com/api-reference/objects/label.md): A label defined in Texter - [The Message object](https://help.texterchat.com/api-reference/objects/message.md): A message within a chat - [The Problem object](https://help.texterchat.com/api-reference/objects/problem.md): A channel health problem record - [The Quick Reply object](https://help.texterchat.com/api-reference/objects/quick-reply.md): Prepared message(s) agents can send into matching chats with one click - [The Scenario object](https://help.texterchat.com/api-reference/objects/scenario.md): An event subscription (scenario) with its revisions and drafts - [The Scenario Run object](https://help.texterchat.com/api-reference/objects/scenario-run.md): One execution record of a scenario - your webhook debugging tool - [The Template object](https://help.texterchat.com/api-reference/objects/template.md): A WhatsApp template in Texter - internal behavior plus WhatsApp provider state - [Create Quick Reply](https://help.texterchat.com/api-reference/quick-replies/create-quick-reply.md): Create a new quick reply. A quick reply holds one or more prepared messages (`send.contents`, same structure as **Send a Message to Chat** bodies) and a `send.target` list defining which channels - or which single chat - it is available for. The contents are validated against the limits of every tar… - [Delete Quick Reply](https://help.texterchat.com/api-reference/quick-replies/delete-quick-reply.md): Permanently delete a quick reply. For AI suggestions, delete the quick reply once it is no longer relevant so it disappears from the agent's suggestion panel. - [Get Existing Quick Replies](https://help.texterchat.com/api-reference/quick-replies/get-existing-quick-replies.md): Retrieve quick replies, with optional filtering and sorting. By default results are sorted by creation time, newest first. - [Update Existing Quick Reply](https://help.texterchat.com/api-reference/quick-replies/update-existing-quick-reply.md): Update a quick reply. The body is an **array of operations** (1-1000), each containing exactly one of: - [Copy Scenario](https://help.texterchat.com/api-reference/scenarios-advanced/copy-scenario.md): Create a new scenario as a copy of an existing revision of another scenario. - [Create Draft](https://help.texterchat.com/api-reference/scenarios-advanced/create-draft.md): Create a draft of the scenario based on an existing revision, so you can edit it with **Update Draft** and publish the result as a new revision. - [Create Empty Scenario](https://help.texterchat.com/api-reference/scenarios-advanced/create-empty-scenario.md): Create a new, empty scenario as a draft with a single trigger event. Build its loaders, conditions and actions afterwards with the **Update Draft** operations, then publish it with **Create Revision**. For webhook subscriptions, the simpler path is **Import Subscription** with a ready template. - [Create Revision (Publish Draft)](https://help.texterchat.com/api-reference/scenarios-advanced/create-revision-publish-draft.md): Turn the scenario's current draft into a new revision (a published, activatable version). - [Delete Draft](https://help.texterchat.com/api-reference/scenarios-advanced/delete-draft.md): Discard the scenario's current draft. - [Delete Revision](https://help.texterchat.com/api-reference/scenarios-advanced/delete-revision.md): Permanently delete a specific (inactive) revision of the scenario. - [List Components - Actions](https://help.texterchat.com/api-reference/scenarios-advanced/list-components--actions.md): List all available action components (e.g. `request`) and their parameters. - [List Components - Conditions](https://help.texterchat.com/api-reference/scenarios-advanced/list-components--conditions.md): List all available condition components (e.g. `filtrex`, `compare`) and their parameters. - [List Components - Events](https://help.texterchat.com/api-reference/scenarios-advanced/list-components--events.md): List all events that can trigger a scenario, with the data providers each one exposes. - [List Components - Loaders](https://help.texterchat.com/api-reference/scenarios-advanced/list-components--loaders.md): List all available data loaders (e.g. `chat`) and their parameters. - [List Scenario Runs](https://help.texterchat.com/api-reference/scenarios-advanced/list-scenario-runs.md): Retrieve execution records of your scenarios - useful for **debugging webhook subscriptions**: see whether the event fired, whether the conditions matched (`conditionsResult`), whether the webhook request succeeded (`success`), and per-step timings and errors. - [Update Draft](https://help.texterchat.com/api-reference/scenarios-advanced/update-draft.md): Apply a list of edit operations to the scenario's draft. The body is an **array of operations**, each containing exactly one of: - [Activate Subscription](https://help.texterchat.com/api-reference/subscribe-to-events/activate-subscription.md): Resume a paused subscription, or revert to a specific version of the scenario. - [Delete Subscription](https://help.texterchat.com/api-reference/subscribe-to-events/delete-subscription.md): Permanently remove a subscription and all its history. - [Import Subscription (Subscribe to an Event)](https://help.texterchat.com/api-reference/subscribe-to-events/import-subscription-subscribe-to-an-event.md): Create an event subscription by importing one of the pre-defined scenario templates. Pick the template for the event you want from the request examples, then change only: - [Inactivate Subscription](https://help.texterchat.com/api-reference/subscribe-to-events/inactivate-subscription.md): Pause a subscription. The scenario remains in your account but stops triggering webhooks until reactivated. - [List All Subscriptions](https://help.texterchat.com/api-reference/subscribe-to-events/list-all-subscriptions.md): Retrieve a list of all existing event subscriptions and scenarios in Texter. All subscription scenarios created from the templates in this section start with the prefix `(SUB)` in their name. - [List All Unsubscribed Users](https://help.texterchat.com/api-reference/templates-subscriptions/list-all-unsubscribed-users.md): Retrieve every unsubscribed recipient across all channels. If you only want unsubscribed recipients of a specific channel, use **Unsubscribed from Specific Account** instead. - [Resubscribe to Templates](https://help.texterchat.com/api-reference/templates-subscriptions/resubscribe-to-templates.md): Subscribe a recipient to receive template messages. By default, all recipients are subscribed; they become unsubscribed only if they opt out themselves or are removed manually in Texter or via the **Unsubscribe from Templates** endpoint. - [Unsubscribe from Templates](https://help.texterchat.com/api-reference/templates-subscriptions/unsubscribe-from-templates.md): Unsubscribe a recipient from template messages. A recipient can also unsubscribe by replying with **"הסר"** to a template message they received, or an agent can remove them manually in Texter. - [Unsubscribed from Specific Account](https://help.texterchat.com/api-reference/templates-subscriptions/unsubscribed-from-specific-account.md): Retrieve all recipients who unsubscribed from template messages under a given account (channel), specified by the account ID. - [Webhooks Overview](https://help.texterchat.com/api-reference/webhooks-guide.md): Receive real-time events from your Texter environment - [Channel Health Problem Created](https://help.texterchat.com/api-reference/webhooks/channel-health-events/channel-health-problem-created.md): Fires when a new channel health problem is detected - [Channel Health Problem Resolved](https://help.texterchat.com/api-reference/webhooks/channel-health-events/channel-health-problem-resolved.md): Fires when a channel health problem is resolved - [Chat Labels Changed](https://help.texterchat.com/api-reference/webhooks/chat-events/chat-labels-changed.md): Fires whenever a chat's labels change, with the full diff - [Chat Pending](https://help.texterchat.com/api-reference/webhooks/chat-events/chat-pending.md): Fires when a chat starts waiting for a human agent - [Chat Resolved](https://help.texterchat.com/api-reference/webhooks/chat-events/chat-resolved.md): Fires when a chat is resolved (by anyone) - [Chat Resolved by Agent](https://help.texterchat.com/api-reference/webhooks/chat-events/chat-resolved-by-agent.md): Fires when a human agent resolves a chat - [Chat Resolved by Bot](https://help.texterchat.com/api-reference/webhooks/chat-events/chat-resolved-by-bot.md): Fires when the bot resolves a chat automatically - [Chat Subscribed to Template Messages](https://help.texterchat.com/api-reference/webhooks/chat-events/chat-subscribed.md): Fires when a chat opts back in to template messages - [Chat Taken](https://help.texterchat.com/api-reference/webhooks/chat-events/chat-taken.md): Fires when an agent takes (is assigned) a chat - [Chat Unsubscribed from Template Messages](https://help.texterchat.com/api-reference/webhooks/chat-events/chat-unsubscribed.md): Fires when a chat opts out of template messages - [External Bot Disabled](https://help.texterchat.com/api-reference/webhooks/chat-events/external-bot-disabled.md): Fires when externalBot is switched off for a chat - [External Bot Enabled](https://help.texterchat.com/api-reference/webhooks/chat-events/external-bot-enabled.md): Fires when externalBot is switched on for a chat - [Specific Label Added to Chat](https://help.texterchat.com/api-reference/webhooks/chat-events/specific-label-added.md): Fires only when one specific label is added to a chat - [All Messages](https://help.texterchat.com/api-reference/webhooks/message-events/all-messages.md): Fires for each new message - both incoming and outgoing - [Message Status Changed](https://help.texterchat.com/api-reference/webhooks/message-events/message-status-changed.md): Fires on every delivery-status change of outgoing messages - [Messages Failed to Deliver](https://help.texterchat.com/api-reference/webhooks/message-events/messages-failed-to-deliver.md): Fires when an outgoing message fails to deliver - [Messages with Attachments](https://help.texterchat.com/api-reference/webhooks/message-events/messages-with-attachments.md): Fires when a new incoming message contains media - [Messages with Specific Text](https://help.texterchat.com/api-reference/webhooks/message-events/messages-with-specific-text.md): Fires when a new incoming message matches your text criteria - [New Incoming Messages](https://help.texterchat.com/api-reference/webhooks/message-events/new-incoming-messages.md): Fires for each new incoming (contact) message - [שליחת תבנית לרשימת תפוצה](https://help.texterchat.com/guides/broadcasts/send-template.md): מדריך לשליחת הודעת תבנית לרשימת תפוצה - [היכרות בסיסית](https://help.texterchat.com/guides/inbox.md): מדריכי וידאו לשימוש בתיבת האינבוקס - [יצירת הודעת תבנית](https://help.texterchat.com/guides/templates/create.md): מדריך לבניית הודעת תבנית העוברת את אישור WhatsApp - [שגיאות נפוצות בהודעות תבנית](https://help.texterchat.com/guides/templates/errors.md): זיהוי ופתרון שגיאות נפוצות ביצירה ובשליחת הודעות תבנית - [דוגמאות להודעות תבנית](https://help.texterchat.com/guides/templates/examples.md): דוגמאות לתבניות שירות ותבניות שיווק - [ברוכים הבאים לטקסטר](https://help.texterchat.com/guides/welcome.md): היכרות עם מערכת טקסטר לניהול שיחות WhatsApp עסקיות ## OpenAPI Specs - [openapi](https://help.texterchat.com/api-reference/openapi.json) ## Optional - [דוקומנטציית בוט](https://whatsper.github.io/texterdocs/) - [Changelog](https://docs.texterchat.com/changelog/) - [Bot Documentation](https://whatsper.github.io/texterdocs/) - [Changelog](https://docs.texterchat.com/changelog)