# WhatsApp API MultiDevice > GOWA official documentation - [GOWA: WhatsApp REST API](https://gowa-docs.mintlify.app/index.md): Self-hosted WhatsApp Web multi-device API in Go: a REST API, webhooks, an MCP server and Chatwoot integration in one binary. - [Quickstart](https://gowa-docs.mintlify.app/quickstart.md): Run GOWA, pair a WhatsApp account and send your first message in a few minutes. - [Installation](https://gowa-docs.mintlify.app/installation.md): Install GOWA with Docker, Docker Compose, a release binary or from source, and run it behind a reverse proxy. - [Authentication](https://gowa-docs.mintlify.app/authentication.md): Protect the API with Basic Auth, then pair each WhatsApp account by QR code, pairing code or passkey. - [Configuration Reference](https://gowa-docs.mintlify.app/configuration.md): Every GOWA environment variable and command-line flag, with defaults. - [Multi-Device & Device Selection](https://gowa-docs.mintlify.app/concepts/multidevice.md): Run several WhatsApp accounts on one GOWA server and choose which one each request uses with X-Device-Id. - [Sessions & Connection Lifecycle](https://gowa-docs.mintlify.app/concepts/sessions.md): How GOWA stores WhatsApp sessions, reconnects after restarts, and what logout and removal do. - [Webhooks](https://gowa-docs.mintlify.app/concepts/webhooks.md): Receive WhatsApp events as signed HTTP POST requests: configuration, event types, payload format, signatures and retries. - [Sending Messages](https://gowa-docs.mintlify.app/examples/sending-messages.md): Send text, media, contacts, locations, links, polls and presence with the /send endpoints. - [Receiving Messages](https://gowa-docs.mintlify.app/examples/receiving-messages.md): Handle incoming messages with webhooks, or read stored chats and messages from GOWA's chat storage. - [Media Handling](https://gowa-docs.mintlify.app/examples/media-handling.md): Upload and send media, understand size limits and conversions, and download media from incoming messages. - [Group Management](https://gowa-docs.mintlify.app/examples/group-management.md): Create groups, manage participants and admins, handle join requests, change settings and send to groups. - [Scheduled Sends](https://gowa-docs.mintlify.app/examples/scheduled-sends.md): Send any message later, once or on a daily, weekly or monthly repeat, and manage schedules through /send/schedules. - [MCP Server](https://gowa-docs.mintlify.app/integrations/mcp.md): Let AI agents use WhatsApp through GOWA's built-in Model Context Protocol endpoint at /mcp. - [Chatwoot Integration](https://gowa-docs.mintlify.app/integrations/chatwoot.md): Mirror WhatsApp conversations into a Chatwoot inbox and let agents reply from Chatwoot. - [Sending Limits](https://gowa-docs.mintlify.app/advanced/rate-limiting.md): GOWA does not rate-limit requests. What limits do exist, how WhatsApp restricts senders, and how to pace your traffic. - [Error Handling](https://gowa-docs.mintlify.app/advanced/error-handling.md): GOWA's response envelope, error codes and HTTP statuses, and how to handle them. - [Production Best Practices](https://gowa-docs.mintlify.app/advanced/best-practices.md): Run GOWA safely in production: security, storage, backups, reverse proxy, monitoring and sending hygiene. - [Login to whatsapp server](https://gowa-docs.mintlify.app/api-reference/app/login-to-whatsapp-server.md) - [Login with pairing code](https://gowa-docs.mintlify.app/api-reference/app/login-with-pairing-code.md) - [Remove database and logout](https://gowa-docs.mintlify.app/api-reference/app/remove-database-and-logout.md) - [Reconnecting to whatsapp server](https://gowa-docs.mintlify.app/api-reference/app/reconnecting-to-whatsapp-server.md) - [Get list connected devices](https://gowa-docs.mintlify.app/api-reference/app/get-list-connected-devices.md) - [User Info](https://gowa-docs.mintlify.app/api-reference/user/user-info.md) - [User Avatar](https://gowa-docs.mintlify.app/api-reference/user/user-avatar.md) - [User Change Avatar](https://gowa-docs.mintlify.app/api-reference/user/user-change-avatar.md) - [User Change Push Name](https://gowa-docs.mintlify.app/api-reference/user/user-change-push-name.md): Update the display name (push name) shown to others in WhatsApp - [User My Privacy Setting](https://gowa-docs.mintlify.app/api-reference/user/user-my-privacy-setting.md) - [User My List Groups](https://gowa-docs.mintlify.app/api-reference/user/user-my-list-groups.md) - [User My List Groups](https://gowa-docs.mintlify.app/api-reference/user/user-my-list-groups-1.md) - [Get list of user contacts](https://gowa-docs.mintlify.app/api-reference/user/get-list-of-user-contacts.md) - [Check if user is on WhatsApp](https://gowa-docs.mintlify.app/api-reference/user/check-if-user-is-on-whatsapp.md) - [Get Business Profile Information](https://gowa-docs.mintlify.app/api-reference/user/get-business-profile-information.md): Retrieve detailed business profile information for a WhatsApp business account - [Send Message](https://gowa-docs.mintlify.app/api-reference/send/send-message.md) - [Send Image](https://gowa-docs.mintlify.app/api-reference/send/send-image.md) - [Send Audio](https://gowa-docs.mintlify.app/api-reference/send/send-audio.md) - [Send File](https://gowa-docs.mintlify.app/api-reference/send/send-file.md) - [Send Video](https://gowa-docs.mintlify.app/api-reference/send/send-video.md) - [Send Contact](https://gowa-docs.mintlify.app/api-reference/send/send-contact.md) - [Send Link](https://gowa-docs.mintlify.app/api-reference/send/send-link.md) - [Send Location](https://gowa-docs.mintlify.app/api-reference/send/send-location.md) - [Send Poll / Vote](https://gowa-docs.mintlify.app/api-reference/send/send-poll-vote.md) - [Send presence status](https://gowa-docs.mintlify.app/api-reference/send/send-presence-status.md) - [Send chat presence (typing indicator)](https://gowa-docs.mintlify.app/api-reference/send/send-chat-presence-typing-indicator.md): Send typing indicator to start or stop showing that you are composing a message - [Revoke Message](https://gowa-docs.mintlify.app/api-reference/message/revoke-message.md) - [Delete Message](https://gowa-docs.mintlify.app/api-reference/message/delete-message.md) - [Send reaction to message](https://gowa-docs.mintlify.app/api-reference/message/send-reaction-to-message.md) - [Edit message by message ID before 15 minutes](https://gowa-docs.mintlify.app/api-reference/message/edit-message-by-message-id-before-15-minutes.md) - [Mark as read message](https://gowa-docs.mintlify.app/api-reference/message/mark-as-read-message.md) - [Star message](https://gowa-docs.mintlify.app/api-reference/message/star-message.md) - [Unstar message](https://gowa-docs.mintlify.app/api-reference/message/unstar-message.md) - [Get list of chats](https://gowa-docs.mintlify.app/api-reference/chat/get-list-of-chats.md): Retrieve a list of chat conversations with their basic information - [Get messages from a specific chat](https://gowa-docs.mintlify.app/api-reference/chat/get-messages-from-a-specific-chat.md): Retrieve messages from a specific chat conversation with filtering options - [Label or unlabel a chat](https://gowa-docs.mintlify.app/api-reference/chat/label-or-unlabel-a-chat.md): Apply or remove a label from a chat conversation - [Pin or unpin a chat](https://gowa-docs.mintlify.app/api-reference/chat/pin-or-unpin-a-chat.md): Pin or unpin a chat conversation to the top of the chat list - [Group Info](https://gowa-docs.mintlify.app/api-reference/group/group-info.md) - [Create group and add participant](https://gowa-docs.mintlify.app/api-reference/group/create-group-and-add-participant.md) - [Adding more participants to group](https://gowa-docs.mintlify.app/api-reference/group/adding-more-participants-to-group.md) - [Remove participants from group](https://gowa-docs.mintlify.app/api-reference/group/remove-participants-from-group.md) - [Promote participants to admin](https://gowa-docs.mintlify.app/api-reference/group/promote-participants-to-admin.md) - [Demote participants to member](https://gowa-docs.mintlify.app/api-reference/group/demote-participants-to-member.md) - [Join group with link](https://gowa-docs.mintlify.app/api-reference/group/join-group-with-link.md) - [Get group information from invitation link](https://gowa-docs.mintlify.app/api-reference/group/get-group-information-from-invitation-link.md): Retrieve group information without joining the group using its invitation link - [Get list of participant requests to join group](https://gowa-docs.mintlify.app/api-reference/group/get-list-of-participant-requests-to-join-group.md) - [Approve participant request to join group](https://gowa-docs.mintlify.app/api-reference/group/approve-participant-request-to-join-group.md) - [Reject participant request to join group](https://gowa-docs.mintlify.app/api-reference/group/reject-participant-request-to-join-group.md) - [Leave group](https://gowa-docs.mintlify.app/api-reference/group/leave-group.md) - [Set group photo](https://gowa-docs.mintlify.app/api-reference/group/set-group-photo.md) - [Set group name](https://gowa-docs.mintlify.app/api-reference/group/set-group-name.md) - [Set group locked status](https://gowa-docs.mintlify.app/api-reference/group/set-group-locked-status.md): Lock/unlock group so only admins can modify group info - [Set group announce mode](https://gowa-docs.mintlify.app/api-reference/group/set-group-announce-mode.md): Enable/disable announce mode so only admins can send messages - [Set group topic](https://gowa-docs.mintlify.app/api-reference/group/set-group-topic.md): Set or remove group topic/description - [Unfollow newsletter](https://gowa-docs.mintlify.app/api-reference/newsletter/unfollow-newsletter.md) - [API Reference](https://gowa-docs.mintlify.app/api-reference/introduction.md): Base URL, authentication, device selection, request formats and the response envelope for the GOWA REST API. - [API Authentication](https://gowa-docs.mintlify.app/api-reference/authentication.md): GOWA authenticates API calls with HTTP Basic Auth only. - [Rate Limits](https://gowa-docs.mintlify.app/api-reference/rate-limits.md): The GOWA API has no request rate limits; WhatsApp's own limits still apply. - [Errors](https://gowa-docs.mintlify.app/api-reference/errors.md): Error response format and the codes returned by the GOWA API. - [Go](https://gowa-docs.mintlify.app/api-reference/sdks/go.md): Call the GOWA REST API from Go with net/http. - [JavaScript](https://gowa-docs.mintlify.app/api-reference/sdks/javascript.md): Call the GOWA REST API from Node.js or the browser with fetch. - [Python](https://gowa-docs.mintlify.app/api-reference/sdks/python.md): Call the GOWA REST API from Python with requests. - [Postman](https://gowa-docs.mintlify.app/api-reference/sdks/postman.md): Import GOWA's OpenAPI specification into Postman or Insomnia. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) - [openapi](/openapi.yml) ## Optional - [GitHub](https://github.com/aldinokemal/go-whatsapp-web-multidevice) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.