List Orders
GET/v1/orders
List orders visible to the authenticated principal. Results are
paginated using countless pagination; sort by any allowed field via
the sort[field] / sort[dir] parameters.
Filters are combinable — every filter is applied with AND
semantics. Ranged filters (amount, created_at, updated_at)
accept [gte] and [lte] bounds.
Required permission: orders_read.
Request
Query Parameters
Possible values: >= 1 and <= 100
Items per page (default set by the server, usually 25).
Filter by order UUID.
Filter by sub-merchant identifier.
Filter by acquirer terminal ID used to process the authorization.
Filter by BIN-resolved issuer ID.
Filter by the customer IP recorded on the order.
Filter to orders submitted under the given stored agreement.
Possible values: Value must match regular expression ^[A-Z]{3}$
Possible values: [card, apple_pay, google_pay, samsung_pay]
Filter by card (card) or wallet (apple_pay, google_pay, samsung_pay).
BIN (first six digits of the PAN).
Last four digits of the PAN.
Possible values: [visa, mastercard, mada, amex]
Possible values: Value must match regular expression ^[A-Z]{2}$
Filter by card product type (CREDIT, DEBIT, etc.).
Issuing bank name (as returned in source.issuer).
Minimum order amount (inclusive, minor units).
Maximum order amount (inclusive, minor units).
Return orders created at or after this timestamp.
Possible values: [merchant_id, amount, captured_amount, refunded_amount, currency, created_at, updated_at]
Default value: created_at
Field to sort by.
Possible values: [asc, desc]
Default value: desc
Responses
- 200
- 401
- 403
Paginated list of orders.
- application/json
- Schema
- Example (from schema)
Schema
Array [
1.00 SARis sent as1001.00 KWDis sent as10001 JPYis sent as1- Card
- DevicePayToken
]
orders
object[]
required
A 36-character UUIDv7 identifier. When used as an idempotency key on write endpoints, the client is responsible for generating a fresh UUID for each logical operation and retaining it across retries.
merchant
object
required
Brief representation of the merchant that owns the resource.
A 36-character UUIDv7 identifier. When used as an idempotency key on write endpoints, the client is responsible for generating a fresh UUID for each logical operation and retaining it across retries.
Merchant display name (English).
Stable, human-readable merchant identifier assigned by the acquirer. Often used as the merchant's principal reference in scheme reports.
Merchant display name in Arabic, when configured.
Possible values: Value must match regular expression ^[A-Z]{3}$
ISO 4217 three-letter currency code in uppercase.
The currency must match the currency configured for the merchant's scheme-level terminals. Once an order is created, its currency is immutable: every subsequent capture, void, refund and extension is denominated in the same currency.
Possible values: <= 100000000
A non-negative integer representing a monetary value in the smallest
currency unit for the associated currency (minor units).
Examples:
For most order-creating endpoints the minimum is 100
(one full major unit). Endpoints that support zero-value operations
(such as /v1/orders/verify and /v1/orders/:id/extend) allow 0.
ISO 8601 UTC timestamp with time zone designator.
ISO 8601 UTC timestamp with time zone designator.
source
object
required
Polymorphic payment source. The type discriminator resolves to
either a Card or a DevicePayToken (Apple / Google / Samsung
Pay).
oneOf
Card payment source. Sensitive fields (full PAN, CVV) are never
returned; responses expose only BIN (first_digits) and PAN
last-four, plus network metadata resolved from the BIN tables.
Possible values: [card]
Human-readable issuing bank name, resolved from the BIN.
Card product type — CREDIT, DEBIT, CHARGE, etc.
Issuer product tier (e.g. PLATINUM, SIGNATURE,
INFINITE). Free-text, sourced from the BIN table.
Possible values: Value must match regular expression ^[A-Z]{2}$
ISO 3166-1 alpha-2 country code in uppercase.
Possible values: [visa, mastercard, mada, amex]
The card scheme (network) associated with the card. mada is detected from the issuing BIN and takes precedence over Visa / Mastercard co-branding for Saudi-issued cards.
Scheme that performed 3DS authentication for this card. May
differ from scheme for co-branded cards (e.g. mada card
authenticated via Visa as the parent scheme).
First six digits of the PAN (the BIN).
Last four digits of the PAN.
Possible values: >= 1 and <= 12
Possible values: >= 2000
Apple Pay, Google Pay or Samsung Pay tokenised payment source. The
shape is identical to Card; the type discriminator indicates
which wallet produced the token and first_digits / last_digits
represent the DPAN (device PAN), not the underlying funding PAN.
Possible values: [apple_pay, google_pay, samsung_pay]
Possible values: Value must match regular expression ^[A-Z]{2}$
ISO 3166-1 alpha-2 country code in uppercase.
Possible values: [visa, mastercard, mada, amex]
The card scheme (network) associated with the card. mada is detected from the issuing BIN and takes precedence over Visa / Mastercard co-branding for Saudi-issued cards.
Possible values: >= 1 and <= 12
meta
object
required
Cursor-style pagination metadata. next_page and prev_page are
null at the boundaries. Total counts are intentionally omitted for
performance on large result sets (countless pagination).
Possible values: >= 1
{
"orders": [
{
"id": "0191f5a7-3d99-7f81-b7ec-962a5f5fdd7c",
"merchant": {
"id": "0191f5a7-3d99-7f81-b7ec-962a5f5fdd7c",
"name": "Example Store",
"merchant_id": "MERCHANT001",
"arabic_name": "متجر الأمثلة"
},
"currency": "SAR",
"amount": 10000,
"captured_amount": 0,
"refunded_amount": 0,
"voided_amount": 0,
"description": "string",
"created_at": "2025-01-15T14:30:00Z",
"updated_at": "2025-01-15T14:30:00Z",
"source": {}
}
],
"meta": {
"current_page": 1,
"next_page": 2,
"prev_page": null
}
}
Authentication failed.
- application/json
- Schema
- Example (from schema)
Schema
{
"message": "Missing authentication information"
}
The authenticated principal lacks the required permission.
- application/json
- Schema
- Example (from schema)
Schema
{
"message": "Unauthorized"
}