AVOLA DEVELOPER API

Connect your website to Avola

Load the current public service catalog, submit orders using your Avola balance, and show delivery status inside your own website or panel.

POST https://avola.uk/api/v1

All service IDs, prices, order IDs and balances shown in the examples below are illustrative. Replace them with values returned by your account and the current service list.

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 & MCP v1.0.1

For AI agents and server automation, use the zero-dependency Avola Agent CLI or local stdio MCP server. Both read the key from AVOLA_API_KEY. MCP order creation is dry-run by default and requires JSON boolean confirm: true to execute.

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
# MCP: node /absolute/path/avola-mcp.mjs

Open Agent CLI and MCP documentation

Service list

ParameterValue
keyYour API key
actionservices
[
  {
    "service": 12345678,
    "name": "X Post Views — 1,000 views",
    "type": "Package",
    "category": "X / Twitter",
    "rate": "0.19",
    "min": "1",
    "max": "1",
    "currency": "USD"
  }
]

Service IDs and prices come from Avola's current public catalog. Refresh the list before choosing a package; IDs may change when package options change. Each listed service is one fixed package: min and max are both 1, and rate is the total package price in USD, not a per-1,000 quote.

Add order

ParameterDescription
keyYour API key
actionadd
serviceService ID returned by services
linkPublic target URL
request_idOptional unique idempotency key from your system
notesOptional 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.19","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

actionstatus
orderOne Avola order ID
ordersOptional 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.19","start_count":"0","status":"In progress","remains":"1000","currency":"USD"}

A published campaign task remains In progress until its order status becomes Completed. The current API returns start_count as 0 and remains as the stored fulfillment quantity, or 0 for a completed order. These fields do not measure live participant progress; review campaign completion against its evidence requirements.

Balance

actionbalance
{"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 contain public Avola service fields and data for your linked account. Keep your API key private.

Create an API key