Developer API v1

Connect your platform to Reteller.

A simple REST API to resell airtime, data, cable, electricity, betting and exam pins from your own website or app, funded by your Reteller wallet.

Authentication

Create keys under Settings → API keys. Every request needs your public + secret key, sent either as a Bearer token or as headers.

# Option A — Bearer
Authorization: Bearer rtk_public:rts_secret
# Option B — headers
X-Public-Key: rtk_public
X-Secret-Key: rts_secret

Base URL: https://reteller.net/api/v1

GET /balance

Your wallet balance.

curl https://reteller.net/api/v1/balance \
  -H "Authorization: Bearer PUBLIC:SECRET"

{ "status": true, "message": "Balance fetched.",
  "data": { "wallet_balance": 15000.00, "currency": "NGN" } }

GET /services

All categories, products and variations you can sell.

curl https://reteller.net/api/v1/services -H "Authorization: Bearer PUBLIC:SECRET"

{ "status": true, "data": [
  { "code": "data", "service_type": "data",
    "products": [ { "code": "data-mtn", "network": "MTN",
      "variations": [ { "code": "data-mtn-1gb", "price": 600, "data_value": "1GB" } ] } ] }
] }

GET /products/{category}

Products & variations for one category (e.g. airtime, data).

curl https://reteller.net/api/v1/products/data -H "Authorization: Bearer PUBLIC:SECRET"

POST /purchase

Buy a service. Send the variation_code and recipient. For manual-amount services (airtime, electricity, betting) also send amount.

curl -X POST https://reteller.net/api/v1/purchase \
  -H "Authorization: Bearer PUBLIC:SECRET" \
  -H "Content-Type: application/json" \
  -d '{ "variation_code": "data-mtn-1gb", "recipient": "08012345678" }'

{ "status": true, "message": "Transaction successful.",
  "data": { "reference": "RT240717…", "status": "successful",
            "amount": 600, "wallet_balance": 14400.00 } }

status is one of successful, pending, or reversed (failed & auto-refunded).

GET /transactions/{reference}

Requery a transaction by its reference.

curl https://reteller.net/api/v1/transactions/RT240717ABC123 \
  -H "Authorization: Bearer PUBLIC:SECRET"

Webhooks

Pending orders settle asynchronously. Reteller updates the transaction status when the provider calls back; poll /transactions/{reference} to get the final state.