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/min
import 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 CodeError TypeDescription
401UNAUTHORIZEDMissing or invalid X-API-KEY header in request.
402INSUFFICIENT_FUNDSAccount balance is below the price of the requested service.
429RATE_LIMITEDExceeded the 1,000 requests per minute throughput cap.
503ROUTE_BUSYAll physical SIM nodes for this specific carrier are temporarily active.