# Wachat - [Authentication](https://developers.wachat.net/guides/authentication.md): Authenticate every Wachat API request with a bearer token. - [Quickstart](https://developers.wachat.net/guides/quickstart.md): Make your first Wachat API request. - [Webhooks](https://developers.wachat.net/guides/webhooks.md): Receive real-time WhatsApp events in your application. - [Get current workspace](https://developers.wachat.net/api-reference/account/get-current-workspace.md): Returns the account and workspace associated with the bearer token. Use this endpoint when your integration needs to confirm the active workspace, inspect its plan and limits, or read the feature flags available to the API key. - [Get usage](https://developers.wachat.net/api-reference/account/get-usage.md): Returns the current billing-period message usage for the authenticated workspace. Use it to show consumption, remaining allowance, reset timing, and available wallet credits before sending campaigns or high-volume messages. - [List devices](https://developers.wachat.net/api-reference/device/list-devices.md): Lists the WhatsApp devices and provider channels owned by the workspace. Use it to select a sender, inspect connection status, and obtain device IDs for message requests. - [Create device](https://developers.wachat.net/api-reference/device/create-device.md): Creates a WhatsApp device for the authenticated workspace and starts the pairing process. The response includes the initial device information and QR data when available; scan it with WhatsApp to finish connecting the sender. - [Get device QR code](https://developers.wachat.net/api-reference/device/get-device-qr-code.md): Returns or refreshes the QR code for a device that is waiting for WhatsApp pairing. Use the response to render the QR code in your integration and poll the device status until pairing is complete. - [Get device](https://developers.wachat.net/api-reference/device/get-device.md): Returns one connected device and its current connection state. - [Delete device](https://developers.wachat.net/api-reference/device/delete-device.md): Permanently removes a connected device and its associated sender data. Use it when a WhatsApp number should no longer send from this workspace. - [List conversations](https://developers.wachat.net/api-reference/conversation/list-conversations.md): Lists recent WhatsApp conversations for the workspace. Use it to build an inbox or locate a conversation ID before requesting its messages. - [List conversation messages](https://developers.wachat.net/api-reference/conversation/list-conversation-messages.md): Lists the messages belonging to one conversation, ordered for conversation history and support workflows. Use the conversation ID returned by the conversations endpoint to load a thread into your application. - [List messages](https://developers.wachat.net/api-reference/message/list-messages.md): Lists recent messages for the workspace. Use it for message history, delivery reconciliation, and support views; filter and pagination options are described by the request parameters. - [Create messages](https://developers.wachat.net/api-reference/message/create-messages.md): Sends one WhatsApp message through a connected workspace device. Use it for text, media, location, and supported interactive message types; the request can select a sender or use the workspace default. - [Get message](https://developers.wachat.net/api-reference/message/get-message.md): Returns the delivery status and metadata for one message. Use the message ID from the send response to reconcile queued, sent, delivered, read, or failed states. - [List templates](https://developers.wachat.net/api-reference/template/list-templates.md): Lists WhatsApp templates available to the workspace. Use it to select approved templates for individual sends, broadcasts, and campaigns. - [Create templates](https://developers.wachat.net/api-reference/template/create-templates.md): Creates a WhatsApp template submission with its body, variables, category, and optional header or buttons. Use it when you need a reusable message that can be submitted for Meta approval. - [List template categories](https://developers.wachat.net/api-reference/template/list-template-categories.md): Returns the Meta template categories accepted when creating or updating a WhatsApp template. Use this list to validate the category value before submitting a template for approval. - [Send template](https://developers.wachat.net/api-reference/template/send-template.md): Sends one approved WhatsApp template to a single recipient with the variable values supplied by your application. Use this endpoint for transactional or campaign messages that must follow a Meta-approved template, including optional header media and button values. - [Get template](https://developers.wachat.net/api-reference/template/get-template.md): Deletes a WhatsApp template from the workspace. - [Update template](https://developers.wachat.net/api-reference/template/update-template.md): Updates a WhatsApp template and its editable content. - [Delete template](https://developers.wachat.net/api-reference/template/delete-template.md): Deletes a WhatsApp template from the workspace. - [List contacts](https://developers.wachat.net/api-reference/contact/list-contacts.md): Lists contacts belonging to the authenticated workspace with pagination and optional search. Use it to build recipient pickers, synchronize a CRM, or find the contact ID required by other endpoints. - [Create contacts](https://developers.wachat.net/api-reference/contact/create-contacts.md): Creates a contact in the authenticated workspace. Use it to add a recipient before sending, store profile data and custom attributes, and reuse the contact in groups, broadcasts, or campaigns. - [Get contact](https://developers.wachat.net/api-reference/contact/get-contact.md): Deletes one contact from the workspace. Use it when the recipient should no longer be available to contact, group, campaign, or CRM workflows. - [Update contact](https://developers.wachat.net/api-reference/contact/update-contact.md): Updates the supplied fields of one contact without replacing unrelated attributes. Use it to keep recipient names, numbers, tags, or custom data synchronized with your application. - [Delete contact](https://developers.wachat.net/api-reference/contact/delete-contact.md): Deletes one contact from the workspace. Use it when the recipient should no longer be available to contact, group, campaign, or CRM workflows. - [List contact groups](https://developers.wachat.net/api-reference/contactgroup/list-contact-groups.md): Lists contact groups and their member counts for the workspace. - [Create contact groups](https://developers.wachat.net/api-reference/contactgroup/create-contact-groups.md): Creates a contact group for organizing recipients. Use groups to reuse a target audience across broadcasts and campaigns instead of sending a long recipient list on every request. - [Delete contact group](https://developers.wachat.net/api-reference/contactgroup/delete-contact-group.md): Deletes a contact group and detaches its membership links. Contacts themselves are not deleted by this operation. - [List deals](https://developers.wachat.net/api-reference/deal/list-deals.md): Lists CRM deals with optional pipeline, stage, and status filters. Use it to build sales views and retrieve opportunities for follow-up automation. - [Create deals](https://developers.wachat.net/api-reference/deal/create-deals.md): Creates a CRM deal associated with the workspace. Use it to represent an opportunity and track its pipeline, stage, value, status, and contact relationship. - [Get deal](https://developers.wachat.net/api-reference/deal/get-deal.md): Returns one CRM deal with its pipeline and contact information. - [Update deal](https://developers.wachat.net/api-reference/deal/update-deal.md): Updates a CRM deal, including its stage and status. Use it to advance an opportunity as conversations and sales activity progress. - [Delete deal](https://developers.wachat.net/api-reference/deal/delete-deal.md): Deletes a CRM deal from the workspace. - [List broadcasts](https://developers.wachat.net/api-reference/broadcast/list-broadcasts.md): Lists recent broadcasts for the workspace. Use it to show delivery history, status, and campaign operations to workspace users. - [Create broadcasts](https://developers.wachat.net/api-reference/broadcast/create-broadcasts.md): Creates and dispatches a broadcast to contacts or groups using a message or approved template. Use it for one-to-many delivery when you need recipient-level status tracking. - [Get broadcast](https://developers.wachat.net/api-reference/broadcast/get-broadcast.md): Returns one broadcast with its current status and delivery counts. Use it to monitor a broadcast after dispatch or before deciding whether to stop it. - [List broadcast recipients](https://developers.wachat.net/api-reference/broadcast/list-broadcast-recipients.md): Returns per-recipient delivery information for a broadcast. Use it to identify pending, delivered, failed, or rejected recipients after a broadcast is created. - [Stop broadcast](https://developers.wachat.net/api-reference/broadcast/stop-broadcast.md): Stops a scheduled or in-progress broadcast when it should no longer deliver. Messages already accepted by the sender may still complete, while recipients that have not been processed are prevented from continuing. - [Get campaign statistics](https://developers.wachat.net/api-reference/campaign/get-campaign-statistics.md): Returns workspace-level campaign delivery statistics. Use it to compare campaign outcomes and monitor totals across sent, delivered, failed, and pending messages. - [List campaigns](https://developers.wachat.net/api-reference/campaign/list-campaigns.md): Lists campaigns for the workspace. Use it to display campaign history, status, and performance before opening an individual campaign. - [Create campaigns](https://developers.wachat.net/api-reference/campaign/create-campaigns.md): Creates and dispatches a campaign to a defined recipient audience, immediately or on a schedule. Use campaigns for larger sends that need delivery metrics and lifecycle status. - [Get campaign](https://developers.wachat.net/api-reference/campaign/get-campaign.md): Returns one campaign with recipient counts, status, and delivery metrics. - [Delete campaign](https://developers.wachat.net/api-reference/campaign/delete-campaign.md): Deletes a campaign according to its current lifecycle state. - [Stop campaign](https://developers.wachat.net/api-reference/campaign/stop-campaign.md): Stops a scheduled or running campaign. Use this endpoint to halt future processing while preserving the campaign record and its existing delivery history. - [List auto-replies](https://developers.wachat.net/api-reference/autoreply/list-auto-replies.md): Lists keyword auto-reply rules configured for the workspace. Use it to display, audit, or manage the rules that answer matching inbound messages. - [Create auto-replies](https://developers.wachat.net/api-reference/autoreply/create-auto-replies.md): Creates a keyword auto-reply rule that responds when an inbound message matches its configured trigger. Use it for simple automated answers without creating a full flow. - [Get auto-reply](https://developers.wachat.net/api-reference/autoreply/get-auto-reply.md): Deletes an auto-reply rule and prevents it from responding to future matching messages. - [Update auto-reply](https://developers.wachat.net/api-reference/autoreply/update-auto-reply.md): Updates the trigger, response, or status of an auto-reply rule. - [Delete auto-reply](https://developers.wachat.net/api-reference/autoreply/delete-auto-reply.md): Deletes an auto-reply rule and prevents it from responding to future matching messages. - [List flows](https://developers.wachat.net/api-reference/flow/list-flows.md): Lists automation flows available to the workspace. Use it to let your application select a flow for contact enrollment and lifecycle automation. - [Get flow](https://developers.wachat.net/api-reference/flow/get-flow.md): Returns one automation flow and its configuration. Use it to inspect the flow before enrolling contacts or displaying its status in an automation dashboard. - [Enroll contact in flow](https://developers.wachat.net/api-reference/flow/enroll-contact-in-flow.md): Enrolls a contact into an automation flow using a contact ID or phone number. Enrollment is idempotent, so retrying the same request does not create duplicate subscriptions. - [List flow subscribers](https://developers.wachat.net/api-reference/flow/list-flow-subscribers.md): Lists the contacts enrolled in an automation flow together with their current subscription state. Use it to monitor who entered a flow and to build operational dashboards. - [List scheduled messages](https://developers.wachat.net/api-reference/scheduled/list-scheduled-messages.md): Lists upcoming and recent scheduled messages for the workspace. Use it to build a schedule view or find the ID needed to inspect or cancel a pending send. - [Create scheduled messages](https://developers.wachat.net/api-reference/scheduled/create-scheduled-messages.md): Schedules a WhatsApp message, template, or flow send for a future time. Use the request timezone and send timestamp to control delivery timing; the response identifies the scheduled job for later tracking or cancellation. - [Get scheduled message](https://developers.wachat.net/api-reference/scheduled/get-scheduled-message.md): Returns one scheduled message and its current processing state. Use it to confirm the planned content, recipient set, send time, and whether the job has already been processed. - [Delete scheduled message](https://developers.wachat.net/api-reference/scheduled/delete-scheduled-message.md): Cancels a future scheduled message before it is processed. Use the scheduled message ID returned when the job was created. - [List webhooks](https://developers.wachat.net/api-reference/webhook/list-webhooks.md): Lists the outbound webhook endpoints registered for the workspace. Use it to inspect active URLs, subscribed events, enabled status, and the webhook IDs used for updates or deletion. - [Create webhooks](https://developers.wachat.net/api-reference/webhook/create-webhooks.md): Registers an outbound webhook endpoint for the workspace. Wachat sends subscribed message, delivery, contact, device, broadcast, and campaign events to the URL; use a signing secret to verify that deliveries came from Wachat. - [Delete webhook](https://developers.wachat.net/api-reference/webhook/delete-webhook.md): Removes a registered webhook endpoint and stops future event deliveries to it. Use the webhook ID returned by the list or create operation. - [List reseller workspaces](https://developers.wachat.net/api-reference/resellerworkspace/list-reseller-workspaces.md): Lists the isolated reseller workspaces owned by the authenticated primary workspace. Use it to display reseller accounts and track the workspaces managed through the reseller API. - [Create reseller workspace](https://developers.wachat.net/api-reference/resellerworkspace/create-reseller-workspace.md): Creates an isolated reseller workspace and returns its initial workspace key. Use it when provisioning a new customer environment; the generated key must be stored securely because it is returned only once. - [Issue reseller API key](https://developers.wachat.net/api-reference/resellerworkspace/issue-reseller-api-key.md): Issues a replacement operational API key for a reseller workspace. Revoke the existing active key first, then store the returned key securely because it is shown only when issued. - [Revoke reseller API key](https://developers.wachat.net/api-reference/resellerworkspace/revoke-reseller-api-key.md): Revokes the active operational API key for a reseller workspace. Use it immediately when a key is exposed or when access for that reseller must be stopped. ## OpenAPI Specs - [openapi](/openapi.json) - [openapi](/openapi.yaml)