Skip to main content

Billing

Billing endpoints are read-only and organization scoped.

Authentication & scope

  • Header: X-API-Key: YOUR_API_KEY
  • Required scope: billing:read
  • Use API Reference for interactive Try-it support.

GET /v1/billing/credit-history

Returns paginated credit usage history.
curl -X GET "https://api.indigenius.ai/v1/billing/credit-history?page=1&pageSize=10" \
  -H "X-API-Key: YOUR_API_KEY"
const response = await fetch(
  'https://api.indigenius.ai/v1/billing/credit-history?page=1&pageSize=10',
  { headers: { 'X-API-Key': process.env.INDIGENIUS_API_KEY } },
);
console.log(await response.json());
import requests

response = requests.get(
    "https://api.indigenius.ai/v1/billing/credit-history",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={"page": 1, "pageSize": 10},
    timeout=30,
)
print(response.status_code)
print(response.json())

200 OK

{
  "status": true,
  "message": "Billing history fetched",
  "data": [
    {
      "id": "665e4a34c65bb95f2f2d72e1",
      "cost": 4.2,
      "duration": 86,
      "product": "agent",
      "unit": "audio"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 10,
    "totalPages": 1,
    "totalCount": 1
  }
}

Common status codes

  • 200 success
  • 400 invalid pagination/query
  • 403 missing billing:read
  • 500 server error

GET /v1/billing/transactions

Returns paginated transaction history (top-ups, charges, refunds) for the organization.
curl -X GET "https://api.indigenius.ai/v1/billing/transactions?page=1&pageSize=10" \
  -H "X-API-Key: YOUR_API_KEY"
const response = await fetch(
  'https://api.indigenius.ai/v1/billing/transactions?page=1&pageSize=10',
  { headers: { 'X-API-Key': process.env.INDIGENIUS_API_KEY } },
);
console.log(await response.json());
import requests

response = requests.get(
    "https://api.indigenius.ai/v1/billing/transactions",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={"page": 1, "pageSize": 10},
    timeout=30,
)
print(response.status_code)
print(response.json())

200 OK

{
  "status": true,
  "message": "Transaction history fetched",
  "data": [
    {
      "id": "665e4a34c65bb95f2f2d72e2",
      "amount": 50,
      "status": "success",
      "reference": "tx_ref_1001",
      "createdAt": "2026-06-02T10:00:00.000Z"
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 10,
    "totalPages": 1,
    "totalCount": 1
  }
}

Common status codes

  • 200 success
  • 400 invalid pagination/query
  • 403 missing billing:read
  • 500 server error

GET /v1/billing/plan

Returns the organization’s current plan and pricing metadata.
curl -X GET "https://api.indigenius.ai/v1/billing/plan" \
  -H "X-API-Key: YOUR_API_KEY"
const response = await fetch('https://api.indigenius.ai/v1/billing/plan', {
  headers: { 'X-API-Key': process.env.INDIGENIUS_API_KEY },
});
console.log(await response.json());
import requests

response = requests.get(
    "https://api.indigenius.ai/v1/billing/plan",
    headers={"X-API-Key": "YOUR_API_KEY"},
    timeout=30,
)
print(response.status_code)
print(response.json())

200 OK

{
  "status": true,
  "message": "Billing plan fetched",
  "data": {
    "plan": "Pro",
    "voicePricePerMinute": 0.12,
    "smsPrice": 0.01
  }
}

Common status codes

  • 200 success
  • 403 missing billing:read
  • 500 server error

GET /v1/billing/currencies

Returns all currencies supported for billing and top-ups.
curl -X GET "https://api.indigenius.ai/v1/billing/currencies" \
  -H "X-API-Key: YOUR_API_KEY"
const response = await fetch(
  'https://api.indigenius.ai/v1/billing/currencies',
  { headers: { 'X-API-Key': process.env.INDIGENIUS_API_KEY } },
);
console.log(await response.json());
import requests

response = requests.get(
    "https://api.indigenius.ai/v1/billing/currencies",
    headers={"X-API-Key": "YOUR_API_KEY"},
    timeout=30,
)
print(response.status_code)
print(response.json())

200 OK

{
  "status": true,
  "message": "Currencies fetched",
  "data": [
    { "code": "USD", "symbol": "$" },
    { "code": "NGN", "symbol": "₦" }
  ]
}

Common status codes

  • 200 success
  • 403 missing billing:read
  • 500 server error