AgoVerify API Documentation
Build on top of AgoVerify using our REST API for SMS activations and SMM services.
Authentication
All API requests (except /health) must include your API key. You can create and manage keys from your
Developer page in your dashboard.
X-API-Key: av_your_api_key_here
Or use the standard Bearer token header:
Authorization: Bearer av_your_api_key_here
API Key Permissions
| Permission | Description |
|---|---|
full |
Read and write access (default). Can create orders, cancel, refill, resend, and reactivate. |
read_only |
Read-only. Cannot create orders, cancel, refill, resend, or reactivate. |
Write operations are marked with a POST badge below and require a full key.
Base URL
https://www.agoverify.com/api/v1
Rate Limiting
Rate limits are applied per API key. Response headers indicate your current usage:
| Header | Description |
|---|---|
X-RateLimit-Limit |
Maximum requests per window |
X-RateLimit-Remaining |
Remaining requests in current window |
When rate limited, you receive a 429 Too Many Requests response with a retry_after field indicating when to retry.
Endpoints
Health & Account
/health
Check if the API is operational. No authentication required.
/balance
Get current account balance and currency.
SMS Activations
/sms/services
List all SMS verification services available via the API.
/sms/countries?service={code}
List available countries. Optionally filter by service code.
/sms/price?service={code}&country={code}
Get pricing for a service/country combination.
/sms/orders
Rent a phone number. Body: service_code, country_code, operator (optional). Requires full key.
/sms/orders
List SMS orders with pagination. Query: status, service, country, per_page.
/sms/orders/active
List all currently active SMS orders.
/sms/orders/{id}
Get details for a specific SMS order.
/sms/orders/{id}/status
Check order status and retrieve SMS code (polls upstream provider).
/sms/orders/{id}/cancel
Cancel an active order and refund balance. Requires full key.
/sms/orders/{id}/resend
Request the provider to resend the SMS. Requires full key.
/sms/orders/{id}/reactivate
Reactivate a completed number to receive a new SMS (charges balance). Requires full key.
SMM Services
/smm/platforms
List all platforms with logos, category counts, and service counts.
/smm/categories
List normalized service types (Likes, Followers, Comments...). Optional: ?platform=facebook to filter.
/smm/services
Get grouped catalog for a platform. Required: ?platform=facebook. Optional: ?service_type=likes. Returns categories with 3 quality tiers each.
/smm/services/{id}
Get details for a specific SMM service.
/smm/orders
Place a social media marketing order. Body: service_id (from tier), link, quantity, runs (optional), interval (optional). Requires full key.
/smm/orders
List SMM orders with pagination. Query: status, platform, per_page.
/smm/orders/{id}
Get details for a specific SMM order (includes service_type and quality_tier).
/smm/orders/{id}/status
Check order status from upstream provider (updates charge, start count, remains).
/smm/orders/{id}/cancel
Cancel an SMM order (if supported and pending/in_progress). Refunds balance. Requires full key.
/smm/orders/{id}/refill
Request a refill for a completed/partial order (if supported). Requires full key.
Unified Backend
AgoVerify uses a unified backend. The system automatically selects the best available provider for each service and country based on admin-configured priority — you only ever request a service code and country code, and the platform handles the rest. No provider or server parameter is required or accepted.
Create an SMS order example
curl -X POST "https://www.agoverify.com/api/v1/sms/orders" \
-H "X-API-Key: av_your_api_key_here" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"service_code": "wa", "country_code": "0"}'
Create an SMM order example
First, browse the catalog to find a service tier ID:
curl "https://www.agoverify.com/api/v1/smm/services?platform=instagram" \ -H "X-API-Key: av_your_api_key_here" \ -H "Accept: application/json"
Then place the order using the tier's id:
curl -X POST "https://www.agoverify.com/api/v1/smm/orders" \
-H "X-API-Key: av_your_api_key_here" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"service_id": 123, "link": "https://instagram.com/myprofile", "quantity": 1000}'
Webhooks
Webhooks are sent as POST requests to your registered endpoints. Configure them via the Developer page in your dashboard.
SMS Events
sms.order.created— a new SMS order was created.sms.received— an SMS code was received for an order.sms.order.cancelled— an order was cancelled and refunded.sms.order.expired— an order expired and was refunded.
SMM Events
smm.order.created— a new SMM order was created.smm.order.completed— an SMM order completed.smm.order.cancelled— an SMM order was cancelled.
Each webhook includes a X-Webhook-Signature header (HMAC-SHA256 of the JSON body using your endpoint secret) and X-Webhook-Event header with the event name.
Typical Workflow
SMS Verification
GET /sms/services— find the service you need (e.g.,wafor WhatsApp)GET /sms/countries?service=wa— get available countriesGET /sms/price?service=wa&country=0— check pricingPOST /sms/orders— create the order, receive phone number- Use the phone number on the target service
GET /sms/orders/{id}/status— poll for SMS code (or wait for webhook)POST /sms/orders/{id}/cancel— cancel if no longer needed (get refund)
SMM Order
GET /smm/platforms— list available platforms with logosGET /smm/services?platform=instagram— get categories (Likes, Followers...) with 3 quality tiers eachPOST /smm/orders— create the order using theidfrom your chosen tier, with link and quantityGET /smm/orders/{id}/status— check progress (or wait for webhook)POST /smm/orders/{id}/refill— request a refill if needed
Error Handling
All errors follow a consistent format:
{
"success": false,
"message": "Human-readable error message",
"data": {}
}
| Code | Meaning |
|---|---|
200 | Success |
201 | Created |
400 | Bad request |
401 | Unauthorized (invalid/missing API key) |
402 | Payment required (insufficient balance) |
403 | Forbidden (read-only key attempting write) |
404 | Not found |
422 | Validation error |
429 | Rate limit exceeded |
500 | Internal server error |
503 | Service unavailable (provider error) |
Join our community
Follow us on social media for updates & support