Use this endpoint to retrieve a paginated list of transactions across your accounts. You can narrow results by account number, date range, transaction direction, status, and more. This endpoint is the primary source for building transaction history views, generating statements, and automating reconciliation within the Dashboard API context.
Endpoint
POST https://baasapi.payrepmfb.com/api/v1/transaction/web/fetch_transactions
Sandbox
POST https://shogun-dev.xchangeboxng.com/api/v1/transaction/web/fetch_transactions
Authentication
Include your Bearer token in the Authorization header:
Authorization: Bearer <access_token>
Obtain a token by logging in via User Login .
Request body
All filter criteria are nested inside a filters object. Pagination is controlled by top-level parameters.
Optional object containing filter criteria for the transaction query. Limit results to a specific 10-digit account number.
Return only transactions on or after this date. Format: YYYY-MM-DD.
Return only transactions on or before this date. Format: YYYY-MM-DD.
Filter to a single calendar day. Format: YYYY-MM-DD. When provided, takes precedence over start_date and end_date.
Filter by transaction status. Common values: success, pending, failed.
Filter by transaction direction. Use credit for inbound payments or debit for outbound transfers.
Filter by category such as collection or transfer.
Fetch a specific transaction by its unique reference number.
Filter by payment channel — for example, nip (interbank) or intra (intra-bank).
Free-text search across transaction fields such as narration and reference number.
Page number for paginated results. Starts at 1.
Number of transactions to return per page. Minimum 1.
Maximum number of results to return. Minimum 1.
Cursor for cursor-based pagination. Pass the created_at timestamp of the last item from the previous page.
Cursor ID paired with cursor_created_at for stable cursor-based pagination.
Example request
curl --request POST \
--url https://baasapi.payrepmfb.com/api/v1/transaction/web/fetch_transactions \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"filters": {
"account_number": "7801234567",
"start_date": "2026-04-01",
"end_date": "2026-04-28",
"transaction_type": "credit",
"status": "success"
},
"page": 1,
"page_size": 20
}'
Response
A successful response returns the standard envelope with a paginated array of transaction objects in data.
true when the request succeeded.
Human-readable status message.
Array of transaction objects matching your filters. Unique identifier for the transaction. Use this for reconciliation and status lookups.
The account number associated with this transaction.
Transaction amount in NGN (e.g., "5000.00").
Direction of the transaction: credit (inbound) or debit (outbound).
Current status of the transaction: success, pending, or failed.
Description or reference text attached to the transaction.
ISO 8601 timestamp of when the transaction was recorded.
{
"status" : true ,
"response_code" : "00" ,
"message" : "Transactions fetched successfully" ,
"data" : [
{
"reference_number" : "TXN-20260415-00123" ,
"account_number" : "7801234567" ,
"amount" : "50000.00" ,
"transaction_type" : "credit" ,
"status" : "success" ,
"narration" : "Payment for Invoice #INV-0042" ,
"created_at" : "2026-04-15T10:32:00Z"
}
]
}
Error codes
Code Meaning 00Success 41Customer not found — your session token is invalid or expired