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.

Overview

The Transaction Reporting API gives you a single interface to query, filter, and paginate your transaction data. All payment methods — QR and card-present — are returned through the same endpoints with a consistent response format.

Quick Start

Get up and running in minutes

API Reference

Explore all available endpoints

Authentication

Learn how to authenticate and understand entity scoping

Filtering & Sorting

Filter by merchant, status, date range, and more

API Endpoint

All API requests should be made to:
https://api.sbx.moduluslabs.io/reports
Contact support@moduluslabs.io to obtain your API key and endpoint URL. You’ll receive separate credentials for sandbox and production environments.

API Philosophy

REST Architecture

Predictable resource-oriented URLs with standard HTTP methods

JSON Format

All responses use JSON with consistent schemas

HTTPS Only

All API requests must be made over HTTPS

API Key Auth

Simple API key authentication via X-API-Key header

Entity Scoped

Data access automatically scoped to your hierarchy level

Cursor Pagination

Efficient cursor-based pagination across large datasets

How It Works

1

Obtain API Key

Contact support@moduluslabs.io to receive your API key. Keys are scoped to your entity level — partner, merchant, or branch.
2

Discover Your Merchants

Call /v1/merchants to get your merchant list with stable UUIDs.
3

Query Transactions

Use /v1/transactions with filters to retrieve your transaction data. Sort by date, amount, or last update.
4

Build Reports

Use the filtering and pagination to build dashboards, reconciliation reports, and revenue summaries.

Key Features

Unified Response Model

All transactions use the same amount_details schema regardless of payment method. No need to handle different response formats for QR vs card payments.

Flexible Filtering

Filter by merchant, branch, terminal activation code, payment method, status, card brand, and date range — all combinable.

Sorting & Pagination

Sort by created_at, updated_at, or amount in ascending or descending order. Cursor-based pagination ensures no duplicates across pages.

Entity Scoping

Your API key automatically restricts data to your hierarchy level. A partner key sees all merchants; a merchant key sees only its branches; a branch key sees only its transactions.

Use Cases

Filter transactions by status=CAPTURED and date range to calculate gross transaction value (GTV). Break down by merchant, branch, or payment method.
Retrieve all transactions for a specific date range and reconcile against your internal records using the transaction ID and amount fields.
Use merchant and branch filters to compare transaction volumes and amounts across locations.
Filter by status=REFUNDED,PARTIALLY_REFUNDED to track refund activity and identify trends.

What’s Next?

Quick Start

Make your first API call in minutes

Authentication

Understand API keys and entity scoping

Filtering & Sorting

Learn all available filters and sort options

Contact Support

Get help from our technical team
Ready to start building? Head to the Quick Start to make your first API call in minutes.