OpenAPI 3.1 Architecture
Enterprise SMS Verification API
Automate disposable phone number provisioning, real-time OTP stream ingestion, and automated refund management with sub-100ms latency.
Base URL:
https://api.burnotp.com/v1•
Auth:
Bearer Token•
Rate Limit:
1,000 req/minimport httpx
import asyncio
async def rent_number():
headers = {
"X-API-KEY": "sk_live_your_api_key_here",
"Content-Type": "application/json"
}
payload = {
"service": "whatsapp",
"country": "US",
"webhook_url": "https://yourdomain.com/webhooks/otp"
}
async with httpx.AsyncClient() as client:
resp = await client.post("https://api.burnotp.com/v1/orders/rent", json=payload, headers=headers)
print(resp.json())
asyncio.run(rent_number())Live Mock Engine (Status: 200 OK)
Real-Time Webhook Events
Avoid polling loops by passing a webhook URL in your rental request.
otp.received
Fired the millisecond our GSM modem parses the incoming SMS.
order.expired
Fired when the 15-minute countdown finishes without an SMS.
balance.refunded
Dispatched when funds are automatically credited back to your wallet.
Standard Error Codes
| Status Code | Error Type | Description |
|---|---|---|
| 401 | UNAUTHORIZED | Missing or invalid X-API-KEY header in request. |
| 402 | INSUFFICIENT_FUNDS | Account balance is below the price of the requested service. |
| 429 | RATE_LIMITED | Exceeded the 1,000 requests per minute throughput cap. |
| 503 | ROUTE_BUSY | All physical SIM nodes for this specific carrier are temporarily active. |