MauKirim API
MauKirim is a managed WhatsApp gateway. You use it to send OTP codes, send notifications, and rent managed WhatsApp numbers that you operate through a REST API — without running your own WhatsApp infrastructure or phone numbers.
Every request goes to one origin, the deployment you are registered on:
https://app.maukirim.com/api/v1Replace https://app.maukirim.com with the origin you were given when your account was created. The API is
HTTPS-only, returns JSON, and authenticates with an API key in an Authorization header.
The four things you can do
Section titled “The four things you can do”| Service | What it is for | Endpoint |
|---|---|---|
| OTP | Send a one-time code to a phone number and verify what the user typed. Codes are generated by MauKirim, never returned to you. | POST /otp/send, POST /otp/verify |
| Notification | Send a templated WhatsApp message on MauKirim’s shared sending number. | POST /messages/send |
| Rented numbers | Rent a dedicated WhatsApp number, brand it, send from it, set your presence, and receive events on your own webhook. | GET /devices and /devices/{id}/… |
| Google Business | Connect your clients’ Google Business Profiles (Growth package and above) — yours, or through a hosted page your own clients use: keep listings current, publish posts, add photos, read insights, answer reviews, verify businesses. | /gmb/locations, /gmb/connect-sessions, … |
Both sending services are billed from your credit balance, and both are charged per message. Google Business is part of the package and is never billed from credits. See Credits and pricing.
Your first request
Section titled “Your first request”An OTP send needs one API key with the otp scope and one Idempotency-Key:
curl -X POST https://app.maukirim.com/api/v1/otp/send \ -H "Authorization: Bearer mk_live_…" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: signup-user-8821" \ -d '{ "phone": "+6281234567890", "purpose": "signup" }'{ "ok": true, "challengeId": "otp_…", "batchId": "gwb_…", "expiresAt": "2026-09-28T13:20:00.000Z" }The user receives a six-digit code. Your backend then calls POST /otp/verify with the challengeId and
what they typed. Read Quickstart for the full sequence, or
Authentication to create a key.
How this documentation is organised
Section titled “How this documentation is organised”| If you want to… | Read |
|---|---|
| Create a key, pick scopes, understand what a key can do | Authentication |
| Get from zero to a verified OTP | Quickstart |
| Send OTP codes | Send and verify an OTP |
| Send notifications from a template | Send a notification |
| Rent a number and drive it | Rent and use a number |
| Connect Google Business Profiles | Google Business Profile |
| Let your own clients connect their Google Business Profile | Connect your clients’ Google Business Profiles |
| Read and reply to Google reviews | Google reviews |
| Publish a Google post or add a photo | Posts, Photos |
| Read how a business performs on Google | Insights |
| Stay inside the Google budget | Google Business rate limits |
| Receive delivery events | Webhooks |
| Receive images or files sent by WhatsApp users | Receiving images and files |
| Handle retries safely | Idempotency |
| Understand every error code | Errors |
| Let an AI assistant use this API | MCP server |
What MauKirim is not
Section titled “What MauKirim is not”- Not a WhatsApp Business API (WABA) reseller. Sending happens from MauKirim-managed numbers; you do not bring your own Meta business account through this API.
- Not a message store. Message bodies are purged seven days after an attempt becomes terminal. Treat your own database as the record; MauKirim’s dashboard and API are for delivery state.
- Not a number marketplace API. Numbers are rented from the dashboard (Rent and use a number explains the split), then operated through the API.