Skip to content

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/json

Request

Query Parameters:

ParameterTypeRequiredDefaultDescription
limitintegerNo10Number of items per page
offsetintegerNo0Offset for pagination
start_datestringNo-Start date for filtering (ISO 8601 date)
end_datestringNo-End date for filtering (ISO 8601 date)
statusstringNo-Filter by transaction status
recipient_idstringNo-Filter by recipient ID
searchstringNo-Search query
typestring/arrayNo-Filter by transaction type
delivery_methodstringNo-Filter by delivery method
payment_methodstringNo-Filter by payment method
currencystringNo-Filter by currency
walletarrayNo-Filter by wallet IDs

Available status values:

  • initiated
  • completed
  • failed
  • processing

Available delivery_method and payment_method values:

  • interac_send
  • interac_request
  • eft
  • billpay
  • xpresscash
  • bank_transfer_ach
  • credit_ecobank_account
  • mobile_money
  • direct_debit
  • bank_transfer
  • maraboo_wallet
  • wallet_debit

Available currency values:

  • xof
  • cad

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 CodeDescription
400Bad Request - Invalid parameters
401Unauthorized - Invalid authentication
403Forbidden - Missing required headers
500Internal Server Error