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/v1/transactions endpoint supports a rich set of query parameters. All filters are optional and can be combined.
Filters
Payment Method
Filter by how the customer paid:| Value | Description |
|---|---|
QR_PH | QR code payments |
CARD_PRESENT | Card payments (EMV, swipe, tap) |
Omit
payment_method to get both QR and card-present transactions in a single response.Merchant
Filter by merchant using the UUID from/v1/merchants:
Branch
Filter by branch using the UUID from/v1/branches:
Terminal
Filter by terminal using the activation code (the physical device identifier):Status
Filter by one or more transaction statuses (comma-separated):| Status | Description |
|---|---|
CAPTURED | Payment completed |
AUTHORIZED | Authorized, not yet captured |
PENDING | Awaiting completion |
DECLINED | Declined by processor |
VOIDED | Cancelled before settlement |
REFUNDED | Fully refunded |
PARTIALLY_REFUNDED | Partially refunded |
FAILED | Payment failed |
EXPIRED | Payment expired |
CANCELLED | Payment cancelled |
Card Brand
Filter by card brand (card-present transactions only):VISA, MASTERCARD, JCB, UNIONPAY
Date Range
Filter by transaction creation date using RFC 3339 timestamps:Sorting
Control the order of results withsort_by and sort_order:
| Parameter | Values | Default |
|---|---|---|
sort_by | created_at, updated_at, amount | created_at |
sort_order | asc, desc | desc |
Pagination
Results are cursor-paginated for efficient traversal of large datasets.Parameters
| Parameter | Type | Default | Max |
|---|---|---|---|
page_size | integer | 20 | 100 |
cursor | string | (none) | — |
How It Works
- Make your initial request with
page_size:
- The response includes pagination metadata:
- Pass
next_cursorto get the next page:
- Continue until
has_moreisfalse.
Combining Filters with Pagination
All filters work with pagination. The cursor remembers the full filter context:Amount Details
Every transaction includes a consistentamount_details object with amounts in the smallest currency unit (cents):
| Field | Description |
|---|---|
amount_authorized | Amount authorized by the processor |
amount_capturable | Amount available for capture |
amount_received | Amount actually received |
amount_refunded | Amount refunded to customer |
Error Responses
Invalid filter values return400 Bad Request:
- Unknown query parameter →
"unknown query parameter: foo" - Invalid status value →
"invalid status: INVALID" - Invalid date format →
"invalid date_from: must be RFC 3339" - Invalid sort field →
"invalid sort_by: must be created_at, updated_at, or amount"
What’s Next?
API Reference
Full endpoint reference with request/response schemas
Authentication
API keys and entity scoping