Transaction History API Documentation

Base URL

https://simcloud.co.za/api/transactions.php

Authentication

All requests require a Bearer token for the SIMcloud account whose history you want to retrieve.

Authorization: Bearer YOUR_API_TOKEN

How It Works

  1. Provide an inclusive date_from and date_to in YYYY-MM-DD format.
  2. Optionally filter one or more services with the comma-separated type parameter.
  3. Read the returned transactions in newest-first order.
  4. When next_cursor is present, pass it back unchanged with the same date range and type filter to read the next page.

The endpoint includes transactions owned by the authenticated account, whether they originated in the web portal, CSV import, recurring processing, or the API. It returns only transaction identifiers, service, normalized status, failure reason, reference, and timestamps. It does not return pricing, wallet values, recipients, SMS content, electricity tokens, or voucher codes.

Endpoint

GET

Query Parameters

Parameter Type Required Description
date_from date Yes Inclusive start date in YYYY-MM-DD, interpreted in Africa/Johannesburg time.
date_to date Yes Inclusive end date in YYYY-MM-DD. The maximum date range is 90 days.
type string No Comma-separated service filter: airtime, data, electricity, vas, and sms.
limit integer No Results per page from 1 to 100. Defaults to 50.
cursor string No Opaque value from the previous response. It must be used with the same date range and type filter.

Example Request

GET https://simcloud.co.za/api/transactions.php?date_from=2026-07-01&date_to=2026-07-31&type=airtime,data&limit=50

Success Response

{
    "status": "success",
    "date_from": "2026-07-01",
    "date_to": "2026-07-31",
    "type": [
        "airtime",
        "data"
    ],
    "transactions": [
        {
            "id": "airtime:1395227",
            "service": "airtime",
            "status": "success",
            "reason": null,
            "reference": "INV-10045",
            "created_at": "2026-07-29 09:31:20",
            "updated_at": "2026-07-29 09:31:48"
        },
        {
            "id": "data:1395226",
            "service": "data",
            "status": "failed",
            "reason": "Supplier rejected the order",
            "reference": "INV-10044",
            "created_at": "2026-07-29 09:28:12",
            "updated_at": "2026-07-29 09:28:39"
        }
    ],
    "pagination": {
        "limit": 50,
        "next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wNy0yOSAwOToyODoxMiIsLi4ufQ"
    }
}

Status Values

SMS remains pending after supplier acceptance and becomes success only after SIMcloud receives a DELIVRD delivery receipt.

Error Codes

Code Description
400 Missing or invalid date range, type, limit, or cursor.
401 Missing or invalid API token.