List Transactions
GET /api-access/transactions/client/sessions
Retrieve a paginated list of client transaction sessions with filtering options.
Authentication
Required Headers:
Authorization: HMAC-SHA256 PUBLIC_KEY:PRIVATE_KEY
X-Origin: third-party-api
X-Timestamp: 2025-10-12T14:30:00.000Z
Content-Type: application/jsonRequest
Query Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
limit | integer | No | 10 | Number of items per page |
offset | integer | No | 0 | Offset for pagination |
start_date | string | No | - | Start date for filtering (ISO 8601 date) |
end_date | string | No | - | End date for filtering (ISO 8601 date) |
status | string | No | - | Filter by transaction status |
recipient_id | string | No | - | Filter by recipient ID |
search | string | No | - | Search query |
type | string/array | No | - | Filter by transaction type |
delivery_method | string | No | - | Filter by delivery method |
payment_method | string | No | - | Filter by payment method |
currency | string | No | - | Filter by currency |
wallet | array | No | - | Filter by wallet IDs |
Available status values:
initiatedcompletedfailedprocessing
Available delivery_method and payment_method values:
interac_sendinterac_requesteftbillpayxpresscashbank_transfer_achcredit_ecobank_accountmobile_moneydirect_debitbank_transfermaraboo_walletwallet_debit
Available currency values:
xofcad
Response
Success Response (200):
json
{
"data": {
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "pending",
"reference": "string",
"description": "string",
"recipient_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"reversal_recipient_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"recipient": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string",
"email": "string",
"phone": "string",
"country": "string",
"provider": "string"
},
"created": "2025-10-12T18:19:02.008Z",
"modified": "2025-10-12T18:19:02.008Z",
"external_payout_url": "string",
"transaction_kind": "interac_send",
"transaction_fee": 0,
"processing_fee": 0,
"amount": 0,
"converted_amount": 0,
"payin_method": "string",
"failure_reason": "transaction_cancelled",
"transaction_type": "swap_transaction",
"send_session": "string",
"wallet_id": "string",
"receiver_country": "string",
"from_currency": "xof",
"to_currency": "xof",
"pretty_status": "string",
"pretty_transaction_kind": "string",
"pretty_failure_reason": "string",
"pretty_payin_method": "string"
}
],
"total": 0,
"offset": 0,
"limit": 0,
"has_next": true,
"has_previous": true,
"next_offset": 0,
"previous_offset": 0
},
"success": true,
"message": "string",
"detail": {}
}Examples
bash
curl -X GET "https://sandbox.mara.boo/api-access/transactions/client/sessions?limit=10&offset=0&status=completed" \
-H "Authorization: HMAC-SHA256 YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY" \
-H "X-Origin: third-party-api" \
-H "X-Timestamp: 2025-10-12T14:30:00.000Z" \
-H "Content-Type: application/json"javascript
const response = await fetch('https://sandbox.mara.boo/api-access/transactions/client/sessions?limit=10&offset=0&status=completed', {
method: 'GET',
headers: {
'Authorization': 'HMAC-SHA256 YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY',
'X-Origin': 'third-party-api',
'X-Timestamp': '2025-10-12T14:30:00.000Z',
'Content-Type': 'application/json'
}
});
const data = await response.json();python
import requests
response = requests.get(
'https://sandbox.mara.boo/api-access/transactions/client/sessions',
params={
'limit': 10,
'offset': 0,
'status': 'completed'
},
headers={
'Authorization': 'HMAC-SHA256 YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY',
'X-Origin': 'third-party-api',
'X-Timestamp': '2025-10-12T14:30:00.000Z',
'Content-Type': 'application/json'
}
)
data = response.json()go
package main
import (
"net/http"
"io/ioutil"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "https://sandbox.mara.boo/api-access/transactions/client/sessions?limit=10&offset=0&status=completed", nil)
req.Header.Set("Authorization", "HMAC-SHA256 YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY")
req.Header.Set("X-Origin", "third-party-api")
req.Header.Set("X-Timestamp", "2025-10-12T14:30:00.000Z")
req.Header.Set("Content-Type", "application/json")
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
}java
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://sandbox.mara.boo/api-access/transactions/client/sessions?limit=10&offset=0&status=completed"))
.header("Authorization", "HMAC-SHA256 YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY")
.header("X-Origin", "third-party-api")
.header("X-Timestamp", "2025-10-12T14:30:00.000Z")
.header("Content-Type", "application/json")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());csharp
using System.Net.Http;
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get,
"https://sandbox.mara.boo/api-access/transactions/client/sessions?limit=10&offset=0&status=completed");
request.Headers.Add("Authorization", "HMAC-SHA256 YOUR_PUBLIC_KEY:YOUR_PRIVATE_KEY");
request.Headers.Add("X-Origin", "third-party-api");
request.Headers.Add("X-Timestamp", "2025-10-12T14:30:00.000Z");
request.Headers.Add("Content-Type", "application/json");
var response = await client.SendAsync(request);
var content = await response.Content.ReadAsStringAsync();Error Responses
| Status Code | Description |
|---|---|
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid authentication |
| 403 | Forbidden - Missing required headers |
| 500 | Internal Server Error |