API v1 — Documentation

Authenticated endpoints use your single API token as a Bearer token. Rate limit: 100 requests/min per token.

Authentication

Set the Authorization header to your API token:

Authorization: Bearer <your_api_token>

Examples (curl)

List Countries

GET /api/v1/countries

curl -s -H "Authorization: Bearer $TOKEN" \
  "https://abcotp.com/api/v1/countries"

List Services

GET /api/v1/services

curl -s -H "Authorization: Bearer $TOKEN" \
  "https://abcotp.com/api/v1/services"

Services by Country

GET /api/v1/services/{country}

curl -s -H "Authorization: Bearer $TOKEN" \
  "https://abcotp.com/api/v1/services/Nigeria"

Create Order (purchase)

POST /api/v1/orders

Body (JSON): use the opaque uid returned by a services endpoint.

curl -s -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"uid":"<opaque-service-id>","country":"Nigeria"}' \
  "https://abcotp.com/api/v1/orders"

List Orders

GET /api/v1/orders

curl -s -H "Authorization: Bearer $TOKEN" \
  "https://abcotp.com/api/v1/orders"

Get Order

GET /api/v1/orders/{order_id}

curl -s -H "Authorization: Bearer $TOKEN" \
  "https://abcotp.com/api/v1/orders/ORDER_ID"

Cancel Order

DELETE /api/v1/orders/{order_id}

curl -s -X DELETE -H "Authorization: Bearer $TOKEN" \
  "https://abcotp.com/api/v1/orders/ORDER_ID"

Notes

  • Prices returned by the API are in Naira (same as frontend).
  • Service identifiers are opaque. Use them exactly as returned and do not parse or modify them.
  • Rate limit: 100 requests/min per token. Contact support if you need higher limits.