Skip to content
Oxtro
Documentation menu

Get started

Oxtro API documentation

A REST API for sending WhatsApp messages and one-time codes from a number you linked by QR code, with signed webhooks for replies and delivery status.

The basics

  • Base URL: https://api.getoxtro.com. Every endpoint is under /v1.
  • Authentication: send your API key as Authorization: Bearer <key>. The X-API-Key header works too.
  • Format: JSON request and response bodies, with snake_case field names.
  • Phone numbers: international format, such as +213555123456. Responses return E.164 with the leading plus.
  • Sending is asynchronous: a send returns 202 Accepted with status: "queued". Delivery progress comes from the message lookup or from webhooks.

Oxtro is not the official WhatsApp Business Platform and is not affiliated with WhatsApp or Meta. It sends through a linked-device session on your own number, so WhatsApp terms apply to that number. Read Keep your number safe before sending at volume.

Endpoints

EndpointWhat it doesScope
POST /v1/messagesSend a text, media or template messagemessages:send
GET /v1/messages/{id}Look up delivery statusmessages:read
POST /v1/otp/sendGenerate and send a one-time codeotp:send
POST /v1/otp/verifyCheck the code a user typedotp:verify
GET /v1/connectionsList your connected numbers and their IDsmessages:send or otp:send
POST /v1/webhooksRegister a webhook endpointwebhooks:manage
GET /v1/webhooksList webhook endpointswebhooks:manage
GET /v1/webhooks/{id}Get one webhook endpointwebhooks:manage
DELETE /v1/webhooks/{id}Remove a webhook endpointwebhooks:manage

The same reference is available as an OpenAPI 3.1 document at https://api.getoxtro.com/openapi.json.

Rate limit

Each API key can make 600 requests per minute. Responses carry X-RateLimit-Limit and X-RateLimit-Remaining. Past the limit the API answers 429 with the code RATE_LIMITED. Plan limits on monthly messages and OTP requests are separate and return QUOTA_EXCEEDED.