Developer API
Send text and images through your connected WhatsApp instances, check connection state, and read your quota. Every request is authenticated, quota-checked, and metered automatically.
Base URL
https://wasapapi.codexlure.site/api/v1
- Protocol
- REST · JSON
- Auth
- apikey header
- Endpoints
- 5
- Rate limit
- 60 / 20 per min
This reference is public — read it before you sign up. API keys require an account on a plan that includes API access.
Create an accountGetting started
Endpoints
Authentication
Every request is authenticated with an API key. Create one under
API Keys
and send it in the apikey header —
an Authorization: Bearer header works too.
Keys are secrets: keep them on your server and never ship them in browser or mobile code.
Rate limits
Limits are counted per API key, per minute, and are separate from your monthly message quota.
Exceeding one returns 429
with a Retry-After header.
60/min
Read requests
Instances, status, and usage endpoints.
20/min
Message sends
Text and image endpoints.
/messages/send
Send a text message
Deliver a plain text message through one of your connected instances. The recipient number is normalized automatically — country code is strongly recommended.
Body parameters
/messages/send-image
Send an image
Send an image from a publicly reachable URL. Add a caption to deliver the image and text together — omit it for an image-only message.
Body parameters
/instances
List instances
Return every WhatsApp instance on your account with its current connection status.
/instances/{name-or-id}/status
Check instance status
Query the live connection state straight from the WhatsApp engine. Returns connected, connecting, or disconnected.
/usage
Check usage & quota
Messages sent in the current billing period, your plan quota, any purchased top-up balance, and how much is left in total. remaining already includes topup_remaining.
/me
Test the connection
Confirm a key is valid and see which account it belongs to. Integration platforms call this when you connect an account.
/hooks
Subscribe to events
Register a URL to receive events — the REST-hook pattern Zapier, Make and n8n use instead of polling. Subscribing twice to the same URL updates that subscription rather than creating a duplicate, so a re-enabled automation never doubles your events. Requires a plan with webhooks.
Body parameters
/hooks
List subscriptions
Every endpoint registered on the account, whether it was created here or in the dashboard. The signing secret is not repeated — it is only returned once, when the subscription is created.
/hooks/sample
Fetch a sample event
The exact shape of an event, filled with example values. Integration builders use this to map fields without waiting for a real message to arrive.
Body parameters
/hooks/{id}
Unsubscribe
Remove a subscription. Deliveries stop immediately.
Webhooks
Instead of polling, register an endpoint and we push events to you as they happen. Add endpoints under Webhooks in your dashboard. Available on plans that include webhook access.
Events
Reply with any 2xx within 10 seconds. Non-2xx responses are retried three times (1m, 5m, 15m); after 10 consecutive failures the endpoint is paused and you are shown the reason in the dashboard.
Every request carries X-Wasap-Event, X-Wasap-Timestamp, X-Wasap-Signature, and X-Wasap-Delivery.
Errors
Errors return the matching HTTP status with a JSON body containing a message field. Failed sends never consume quota.
Ready to build?
Create a key and send your first message in under five minutes.