Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.moduluslabs.io/llms.txt

Use this file to discover all available pages before exploring further.

Prerequisites

Before you begin, you’ll need:
  • An API key from Modulus Labs (contact support@moduluslabs.io)
  • curl or any HTTP client (Postman, HTTPie, etc.)

Step 1: Verify Your Key

Test that your API key works by listing your merchants:
curl 'https://api.sbx.moduluslabs.io/reports/v1/merchants' \
  -H 'X-API-Key: sk_your_secret_key_here'
You should receive a JSON response with your merchant list:
{
  "data": [
    {
      "id": "57846d47-d196-5c48-a881-4003b1d5aa98",
      "name": "Coffee Shop"
    },
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Pizza Place"
    }
  ]
}
Save one of the id values — you’ll use it to filter transactions in the next step.

Step 2: List Transactions

Fetch the latest transactions for a merchant:
curl 'https://api.sbx.moduluslabs.io/reports/v1/transactions?merchant_id=57846d47-d196-5c48-a881-4003b1d5aa98&page_size=5' \
  -H 'X-API-Key: sk_...'
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "status": "CAPTURED",
      "amount": 15000,
      "amount_details": {
        "amount_authorized": 15000,
        "amount_capturable": 0,
        "amount_received": 15000,
        "amount_refunded": 0
      },
      "merchant_details": {
        "merchant_id": "57846d47-...",
        "merchant_name": "Coffee Shop",
        "branch_id": "f3febca6-...",
        "branch_name": "Main Street"
      },
      "currency": "PHP",
      "payment_method": "CARD_PRESENT",
      "created_at": "2026-04-27T10:30:00Z",
      "updated_at": "2026-04-27T10:30:05Z"
    }
  ],
  "pagination": {
    "page_size": 5,
    "has_more": true,
    "next_cursor": "eyJzb3J0X2J5Ijoi..."
  }
}

Step 3: Filter by Payment Method

Get only QR transactions:
curl 'https://api.sbx.moduluslabs.io/reports/v1/transactions?payment_method=QR_PH&page_size=5' \
  -H 'X-API-Key: sk_...'
Or only card-present transactions:
curl 'https://api.sbx.moduluslabs.io/reports/v1/transactions?payment_method=CARD_PRESENT&page_size=5' \
  -H 'X-API-Key: sk_...'

Step 4: Filter by Status and Date

Get captured transactions for a specific month:
curl 'https://api.sbx.moduluslabs.io/reports/v1/transactions?status=CAPTURED&date_from=2026-04-01T00:00:00Z&date_to=2026-04-30T23:59:59Z' \
  -H 'X-API-Key: sk_...'

Step 5: Get Transaction Detail

Retrieve full detail for a specific transaction:
curl 'https://api.sbx.moduluslabs.io/reports/v1/transactions/550e8400-e29b-41d4-a716-446655440000' \
  -H 'X-API-Key: sk_...'
The detail response includes lifecycle events, approval codes, and settlement information not present in the list response.

Step 6: Paginate Through Results

When has_more is true, use the next_cursor to get the next page:
curl 'https://api.sbx.moduluslabs.io/reports/v1/transactions?page_size=5&cursor=eyJzb3J0X2J5Ijoi...' \
  -H 'X-API-Key: sk_...'
Continue until has_more is false.

What’s Next?

Authentication

Understand API keys and entity scoping

Filtering & Sorting

Learn all available filters and sort options