> ## 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 hero (dark)](https://mintcdn.com/gowa-docs/p-lrQtRqy58EOj6i/images/hero-dark.png?fit=max\&auto=format\&n=p-lrQtRqy58EOj6i\&q=85\&s=17890078ad44883eca7da42984ef4efc)

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 **v9.7.0**.

> [!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

> **[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`.

> **[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.

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

> **[Scheduled sends](https://gowa-docs.mintlify.site/examples/scheduled-sends.md)**
>
> Send any message later, once or on a daily, weekly or monthly repeat.

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

> **[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.

## 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.