Base URL
https://virtualsms.io/api/v1
All requests require x-api-key header. Responses are JSON.
Authentication
curl https://virtualsms.io/api/v1/customer/balance \
-H "x-api-key: YOUR_API_KEY"
Each endpoint page below includes a built-in Try It panel on the right side. Enter your API key and test requests directly from the docs.
Two API Styles
Modern REST API (recommended)
Full-featured with JSON responses, WebSocket support, and webhooks.
https://virtualsms.io/api/v1/
Legacy (sms-activate compatible)
Drop-in replacement for DaisySMS. Same action names, response formats, and error codes.
https://virtualsms.io/stubs/handler_api.php
Rate Limits
- 60 requests/minute per API key
- 429 status returned when exceeded
Success responses return JSON with the requested data. Error responses include:
{
"error": "insufficient_balance",
"message": "Balance too low for this order"
}