BluetickedDeveloper docs

Wallet

4 endpoints, each with examples that open in the console prefilled.

All resources
GET/api/v1/walletwallet:readTry in console

Read the prepaid wallet balance

Read the organization's prepaid wallet balance in ZAR cents and in credits.

  • Balance is returned in both denominations: balance_zar_cents (the money contract) and balance_credits (whole credits, rounded down).
  • credit_zar_cents is the fixed conversion rate (1 credit = 5 ZAR cents), so balance_credits = floor(balance_zar_cents / credit_zar_cents).
  • enforced reports whether sends are metered against the wallet; when false, sends are neither blocked nor debited.
  • Reads require the wallet:read scope. Top-ups and balance changes are dashboard-only.
curl -X GET "https://app.blueticked.com/api/v1/wallet" \
  -H "Authorization: Bearer $BLUETICKED_API_KEY"
Response
{
  "plan_credit_zar_cents": 0,
  "plan_credits": 0,
  "total_zar_cents": 20000,
  "total_credits": 4000,
  "currency": "ZAR",
  "balance_zar_cents": 20000,
  "balance_credits": 4000,
  "credit_zar_cents": 5,
  "low_threshold_zar_cents": 5000,
  "enforced": false,
  "request_id": "req_b2e3d610e10f1b07468721ee98f0e1d2"
}
GET/api/v1/wallet/ledgerwallet:readTry in console

List wallet ledger entries

Read the append-only wallet transaction history, newest first, with cursor pagination.

Query parameters
limitstring
  • Page with ?limit= (max 200, default 50) and ?cursor= (the previous page's next_cursor, a created_at timestamp).
  • direction is credit (top-ups) or debit (sends); amount_zar_cents is always positive and balance_after_zar_cents is the running balance after the entry.
  • message_id is set on per-send debits and topup_id on credits; the ledger is append-only and never edited.
curl -X GET "https://app.blueticked.com/api/v1/wallet/ledger?limit=50" \
  -H "Authorization: Bearer $BLUETICKED_API_KEY"
Response
{
  "data": [
    {
      "id": "842e48d4-26ce-44d7-a76f-fa860924c61a",
      "business_id": null,
      "direction": "debit",
      "amount_zar_cents": 18,
      "balance_after_zar_cents": 19982,
      "reason": "message_send",
      "message_id": "763c4dc3-d46b-4c10-8bd4-3f233a933ea0",
      "topup_id": null,
      "created_at": "2026-07-01T08:00:00.000Z"
    }
  ],
  "next_cursor": null,
  "has_more": false,
  "request_id": "req_b2e3d610e10f1b07468721ee98f0e1d2"
}
GET/api/v1/wallet/invoiceswallet:readTry in console

List tax invoices

Pull the workspace's tax invoices programmatically: the reseller/bookkeeper feed.

  • Newest first. Page with ?limit= (max 100, default 25) and ?cursor= (the previous page's next_cursor, an issued_at timestamp).
  • Every invoice is a PAID tax invoice: rows exist only after money settled. Amounts are ZAR cents, VAT-inclusive at vat_rate_percent.
  • Render invoice_number as INV + 9 zero-padded digits (18512 → INV 000018512).
curl -X GET "https://app.blueticked.com/api/v1/wallet/invoices" \
  -H "Authorization: Bearer $BLUETICKED_API_KEY"
Response
{
  "data": [
    {
      "id": "863d8877-1aa0-4d6a-bfa3-f0aa6891c2ed",
      "invoice_number": 18512,
      "total_zar_cents": 50000,
      "subtotal_zar_cents": 43478,
      "vat_zar_cents": 6522,
      "vat_rate_percent": 15,
      "issued_at": "2026-08-31T10:00:00.000Z"
    }
  ],
  "next_cursor": null,
  "has_more": false,
  "request_id": "req_b2e3d610e10f1b07468721ee98f0e1d2"
}
GET/api/v1/wallet/invoices/{id}wallet:readTry in console

Get a tax invoice

The full document substance: seller/buyer snapshots, line items and the VAT split.

  • Seller and buyer are immutable snapshots taken at issue time, so the document reproduces verbatim forever.
curl -X GET "https://app.blueticked.com/api/v1/wallet/invoices/{id}" \
  -H "Authorization: Bearer $BLUETICKED_API_KEY"
Response
{
  "invoice": {
    "id": "863d8877-1aa0-4d6a-bfa3-f0aa6891c2ed",
    "invoice_number": 18512,
    "total_zar_cents": 50000,
    "subtotal_zar_cents": 43478,
    "vat_zar_cents": 6522,
    "vat_rate_percent": 15,
    "seller": {
      "name": "Blueticked",
      "vatNumber": "4650263488"
    },
    "buyer": {
      "name": "Acme Clinic"
    },
    "line_items": [
      {
        "description": "Wallet top-up",
        "credits": 10000,
        "amount_zar_cents": 50000
      }
    ],
    "issued_at": "2026-08-31T10:00:00.000Z"
  },
  "request_id": "req_b2e3d610e10f1b07468721ee98f0e1d2"
}