Preview: the API is being built and these endpoints may change

Changelog

Every change to the API, newest first.

Preview

The API is in preview. Endpoints and fields on these pages may still change before launch, and every change will be listed here with its date.

6 October 2026

The docs and code samples now follow the backend's API:

  • The base URL is https://api.simconnectng.com/api/v1. Plans are at /api/v1/pricing/plans, the wallet at /api/v1/wallet/balance and networks at /api/v1/catalog/networks, each keyed by code.
  • Sales name what to sell with product_code (such as MTN-VTU or MTN-SHARE-1GB-30D) and the number with phone_number (phone still works). ?wait=0 answers 202 at once.
  • A finished sale is successful or failed, with completed_at and a masked destination.
  • Every response is { success, data, message, code }. Lists put their rows in data.items and the next page in data.page.next_cursor, read with cursor; the default page is 25.
  • You pay a flat fee per delivered sale, shown as charges on each plan and price on each sale.
  • Error codes now match the backend, among them AUTH_REQUIRED, PERMISSION_DENIED (IP allowlist), IDEMPOTENCY_IN_PROGRESS and IDEMPOTENCY_FINGERPRINT_MISMATCH. A plan that cannot be sold is 400 VALIDATION_FAILED on product_code, and a sale with no line to take it fails with ROUTING_NO_CANDIDATES.
  • Webhooks: the body is { id, type, mode, occurred_at, data } with a SimConnect-Event-Id header. Events are transaction.successful, transaction.failed, transaction.pending, transaction.refunded, wallet.funded, wallet.low_balance and webhook.ping.
  • Test numbers ending 1111, 2222 and 4444 join 0000 and 3333.
  • Keys can require signed requests, with SimConnect-Timestamp and SimConnect-Signature.