> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sandpay.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# API version & capabilities

> Public capability + version discovery. Feature-detect against
`capabilities` rather than assuming a version. Every `/v1/*` response
also carries the version in an `X-SandPay-Api-Version` header.




## OpenAPI

````yaml /openapi/sandpay.yaml get /v1/meta
openapi: 3.1.0
info:
  title: SandPay API
  version: 0.5.3
  description: |
    Official public API for the SandPay Mobile Money sandbox. Simulate MTN,
    Orange, Moov, and Airtel payment flows across African markets without
    touching real money rails. The API is deterministic, low-latency, and
    designed to mirror the production behaviour of each operator so client
    integrations can be exercised end-to-end before going live.
  contact:
    name: SandPay Support
    url: https://docs.sandpay.dev
    email: support@sandpay.dev
  license:
    name: MIT
    identifier: MIT
servers:
  - url: https://api.sandpay.dev
    description: Production
  - url: https://api.sandbox.sandpay.dev
    description: Sandbox
security:
  - bearerAuth: []
tags:
  - name: Payments
    description: Create, retrieve, list, and refund simulated Mobile Money payments.
  - name: Disbursements
    description: Free-form payouts (merchant → an msisdn), not linked to a collection.
  - name: Meta
    description: API version + capability discovery for keeping integrations current.
  - name: Health
    description: Service health probe.
paths:
  /v1/meta:
    get:
      tags:
        - Meta
      summary: API version & capabilities
      description: |
        Public capability + version discovery. Feature-detect against
        `capabilities` rather than assuming a version. Every `/v1/*` response
        also carries the version in an `X-SandPay-Api-Version` header.
      operationId: getMeta
      responses:
        '200':
          description: API version + capability surface.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiMeta'
components:
  schemas:
    ApiMeta:
      type: object
      required:
        - api_version
        - capabilities
        - min_sdk_version
        - changelog_url
      properties:
        api_version:
          type: string
          description: Date-based API version, e.g. `2026-05-31`.
          example: '2026-05-31'
        capabilities:
          type: array
          items:
            type: string
          description: Capabilities this instance supports (feature-detect against these).
          example:
            - payments
            - refunds
            - disbursements
            - webhooks
            - test_clients
            - multi_environment
            - commission_split
            - order_linkage
            - reference_format
        min_sdk_version:
          type: string
          description: >-
            Minimum recommended `@drwintech/sandpay` version for this API
            version.
          example: 0.3.0
        changelog_url:
          type: string
          format: uri
          description: URL of the Integration Changelog (what changed + upgrade steps).
          example: https://docs.sandpay.dev/integration-changelog
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key in format `sp_sk_test_...` or `sp_sk_live_...`.

````