Quick start
Create a key in My account → Developer API. The full key is displayed only once.
Server-side only: never place the API key in browser JavaScript, HTML, a mobile app bundle, or a public repository.
curl -X POST https://avola.uk/api/v1 \ -d "key=avola_live_YOUR_KEY" \ -d "action=services"
Requests may use application/x-www-form-urlencoded or JSON. You may also send the key as Authorization: Bearer ....
Official Agent CLI v1.0
For AI agents and server automation, use the zero-dependency Avola Agent CLI. It reads the key from AVOLA_API_KEY and returns JSON for services, balance, order creation and status checks.
curl -fsSL https://avola.uk/agent/avola-agent.mjs -o avola-agent.mjs export AVOLA_API_KEY="avola_live_YOUR_KEY" node avola-agent.mjs doctor
Service list
| Parameter | Value |
|---|---|
| key | Your API key |
| action | services |
[
{
"service": 12345678,
"name": "X Post Views — 1,000 views",
"type": "Package",
"category": "X / Twitter",
"rate": "0.29",
"min": "1",
"max": "1",
"currency": "USD"
}
]Service IDs and prices come from Avola's current public catalog. Store the ID, but refresh the list regularly.
Add order
| Parameter | Description |
|---|---|
| key | Your API key |
| action | add |
| service | Service ID returned by services |
| link | Public target URL |
| request_id | Optional unique idempotency key from your system |
| notes | Optional public task instructions |
curl -X POST https://avola.uk/api/v1 \ -d "key=avola_live_YOUR_KEY" \ -d "action=add" \ -d "service=12345678" \ -d "link=https://x.com/example/status/123" \ -d "request_id=store-order-1001"
{"order":"AVO20260714ABCD","charge":"0.29","status":"In progress","currency":"USD"}The Avola account linked to the key is charged when the order is accepted. Failed managed-delivery submission is automatically refunded to Avola balance.
Order status
| action | status |
| order | One Avola order ID |
| orders | Optional comma-separated list of up to 100 order IDs |
curl -X POST https://avola.uk/api/v1 \ -d "key=avola_live_YOUR_KEY" \ -d "action=status" \ -d "order=AVO20260714ABCD"
{"charge":"0.29","start_count":"0","status":"In progress","remains":"1000","currency":"USD"}Balance
| action | balance |
{"balance":"43.57","currency":"USD"}Security and errors
Invalid requests return a JSON object such as {"error":"Invalid API key"}. Requests are rate-limited. Revoke a leaked key immediately from My account. A key can access only its linked account balance and orders.
Avola API responses never include supplier names, supplier service IDs, supplier rates, internal costs, admin notes, or credentials.
Create an API key