# WhatIsUp.dev > Developer-first WhatsApp gateway. One pair, full primitive surface — messages, groups, contacts, chats, business catalogs, stories, newsletters, presence, calls. REST + signed webhooks. Stateless where it can be, stateful where it must. WhatIsUp is built for agents and humans equally. Every endpoint is described in a single OpenAPI 3.1 spec. Webhooks are HMAC-SHA256 signed (Stripe-style). API keys are Bearer tokens prefixed `zpk_live_` or `zpk_test_`. ## Quickstart 1. Create an account: https://app.whatisup.dev/signup 2. Issue an API key from the dashboard. 3. Create a channel: `POST https://api.whatisup.dev/v1/channels` 4. Pair via QR (`GET /v1/channels/{id}/qr`) or pairing code (`POST /v1/channels/{id}/pair-code`). 5. Send a message: `POST /v1/channels/{id}/messages` with `{ "type": "text", "to": "+1...", "text": "hi" }`. 6. Receive inbound traffic by registering a webhook: `POST /v1/webhook-endpoints`. ## Machine-readable spec - OpenAPI 3.1 (canonical): https://api.whatisup.dev/openapi.json - OpenAPI mirror (CDN): https://whatisup.dev/openapi.json - Full LLM-optimized context: https://whatisup.dev/llms-full.txt ## Docs - [Overview](https://whatisup.dev/docs) - [Quickstart](https://whatisup.dev/docs/quickstart) - [Authentication](https://whatisup.dev/docs/authentication) - [API reference](https://whatisup.dev/docs/api) - [Webhooks](https://whatisup.dev/docs/webhooks) - [Errors](https://whatisup.dev/docs/errors) - [Rate limits](https://whatisup.dev/docs/rate-limits) - [Idempotency](https://whatisup.dev/docs/idempotency) - [SDKs](https://whatisup.dev/docs/sdks) - [WhatsApp capability matrix](https://whatisup.dev/docs/whatsapp) - [Changelog](https://whatisup.dev/docs/changelog) ## Optional - [Pricing](https://whatisup.dev/pricing) - [Status](https://whatisup.dev/status) - [Contact](https://whatisup.dev/contact)