> ## Documentation Index
> Fetch the complete documentation index at: https://gowa-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GOWA: WhatsApp REST API

> Self-hosted WhatsApp Web multi-device API in Go: a REST API, webhooks, an MCP server and Chatwoot integration in one binary.

![WhatsApp API MultiDevice Hero Light](https://mintcdn.com/gowa-docs/fmg2izHnKArFAB0e/images/GOWA-WhatsApp-Multi-Device-Integration-Overview.png?fit=max\&auto=format\&n=fmg2izHnKArFAB0e\&q=85\&s=18fadf6c0eeed1a7303404955fc903b4)

GOWA ([go-whatsapp-web-multidevice](https://github.com/aldinokemal/go-whatsapp-web-multidevice)) is a self-hosted server that links to WhatsApp as a companion device, the same way WhatsApp Web does, and exposes it over HTTP. It is a single Go binary (`whatsapp rest`) built on [whatsmeow](https://github.com/tulir/whatsmeow). These docs track the repository's `main` branch, including merged changes after **v9.7.0**. A release binary or pinned Docker tag can lack newer endpoints and security defaults. Check `GET /app/info` and the release notes before using an example.

> [!WARNING]
>
> GOWA is an unofficial client. It is not affiliated with WhatsApp or Meta, and using it can get a number restricted or banned. Do not use it for spam or bulk unsolicited messaging.

## What one server gives you

> [card] [Multiple accounts](https://gowa-docs.mintlify.site/concepts/multidevice.md)
>
> Run several WhatsApp numbers on one server. Each is a device slot, selected per request with `X-Device-Id`.

> [card] [REST API](https://gowa-docs.mintlify.site/api-reference/introduction.md)
>
> Send text, media, polls, locations and contacts. Manage chats, groups, newsletters and your profile.

> [card] [Webhooks](https://gowa-docs.mintlify.site/concepts/webhooks.md)
>
> Signed HTTP callbacks for messages, receipts, reactions, group, call and newsletter events.

> [card] [Scheduled sends](https://gowa-docs.mintlify.site/examples/scheduled-sends.md)
>
> Schedule supported send types once or on a daily, weekly or monthly repeat.

> [card] [MCP server](https://gowa-docs.mintlify.site/integrations/mcp.md)
>
> Streamable-HTTP MCP endpoint at `/mcp` so AI agents can send and read messages.

> [card] [Chatwoot](https://gowa-docs.mintlify.site/integrations/chatwoot.md)
>
> Mirror WhatsApp conversations into a Chatwoot inbox and reply from Chatwoot.

A web dashboard ([gowa-ui](https://github.com/aldinokemal/gowa-ui)) is served at `/` for pairing devices and trying the API by hand.

See [interactive messages](https://gowa-docs.mintlify.site/examples/interactive-messages.md) for experimental buttons and carousels, [newsletters](https://gowa-docs.mintlify.site/examples/newsletters.md) for channel subscriptions, and [server metrics](https://gowa-docs.mintlify.site/api-reference/metrics.md) for monitoring.

## Get started

**1. Run GOWA**

Start it with Docker or a release binary. See the [Quickstart](https://gowa-docs.mintlify.site/quickstart.md).

**2. Create a device and pair it**

`POST /devices`, then scan the QR code or use a pairing code. See [Authentication](https://gowa-docs.mintlify.site/authentication.md).

**3. Send a message**

`POST /send/message` with Basic Auth and `X-Device-Id`.

**4. Receive events**

Point `WHATSAPP_WEBHOOK` at your endpoint. See [Webhooks](https://gowa-docs.mintlify.site/concepts/webhooks.md).

## Not included

* **Official SDKs.** There are none. Call the HTTP API directly (see [Client examples](https://gowa-docs.mintlify.site/api-reference/sdks/go.md)) or generate a client from the [OpenAPI spec](https://github.com/aldinokemal/go-whatsapp-web-multidevice/blob/main/docs/openapi.yaml). A community n8n node exists: [`@aldinokemal2104/n8n-nodes-gowa`](https://www.npmjs.com/package/@aldinokemal2104/n8n-nodes-gowa).
* **Rate limiting.** GOWA does not throttle requests. See [Sending limits](https://gowa-docs.mintlify.site/advanced/rate-limiting.md).

## Support

* [GitHub issues](https://github.com/aldinokemal/go-whatsapp-web-multidevice/issues)
* [Releases and changelog](https://github.com/aldinokemal/go-whatsapp-web-multidevice/releases)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.