Skip to content

Get Wallets

GET /api-access/purses/wallets

Get all wallets for your business.

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
currencystringNo-Filter by currency code
walletTypestringNo-Filter by wallet type
statusstringNo-Filter by status
pageintegerNo0Page number (0-indexed)
sizeintegerNo20Number of items per page
sortstringNocreatedAt,descSort order (e.g., createdAt,desc)

Response

Success Response (200):

json
{
    "data": {
      "items": [
        {
          "id": "string",
          "balance": 0,
          "walletName": "string",
          "currency": {
            "currencyCode": "string",
            "numericCode": 0,
            "numericCodeAsString": "string",
            "displayName": "string",
            "symbol": "string",
            "defaultFractionDigits": 0
          },
          "description": "string",
          "businessId": "string",
          "userId": "string",
          "walletType": "BankWallet",
          "status": "ACTIVE",
          "walletReference": "string",
          "createdAt": "2025-10-15T18:54:39.072Z",
          "updatedAt": "2025-10-15T18:54:39.072Z"
        }
      ],
      "total": 0,
      "offset": 0,
      "limit": 0,
      "has_next": true,
      "has_previous": true,
      "next_offset": 0,
      "previous_offset": 0
    },
    "success": true,
    "message": "string",
    "detail": "string"
  }

Response Fields:

FieldTypeDescription
itemsarrayArray of wallet objects
items[].idstringWallet ID
items[].balancenumberWallet balance
items[].walletNamestringWallet name
items[].currencyobjectCurrency details object
items[].currency.currencyCodestringCurrency code (e.g., XOF, USD)
items[].currency.numericCodenumberISO numeric currency code
items[].currency.numericCodeAsStringstringISO numeric currency code as string
items[].currency.displayNamestringDisplay name of currency
items[].currency.symbolstringCurrency symbol
items[].currency.defaultFractionDigitsnumberDefault decimal places
items[].descriptionstringWallet description
items[].businessIdstringBusiness ID
items[].userIdstringUser ID
items[].walletTypestringWallet type (e.g., BankWallet, MobileMoneyWallet)
items[].statusstringWallet status (e.g., ACTIVE)
items[].walletReferencestringWallet reference
items[].createdAtstringTimestamp when wallet was created (ISO 8601)
items[].updatedAtstringTimestamp when wallet was last updated (ISO 8601)
totalnumberTotal number of wallets
offsetnumberOffset for pagination
limitnumberNumber of items per page
has_nextbooleanWhether there is a next page
has_previousbooleanWhether there is a previous page
next_offsetnumberOffset for the next page
previous_offsetnumberOffset for the previous page

Example

bash
curl -X GET "https://sandbox.mara.boo/api-access/purses/wallets" \
  -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/purses/wallets', {
  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/purses/wallets',
    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/purses/wallets", 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/purses/wallets"))
    .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;
using System.Net.Http.Headers;

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://sandbox.mara.boo/api-access/purses/wallets");

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.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

var response = await client.SendAsync(request);
var content = await response.Content.ReadAsStringAsync();

Error Responses

Status CodeDescription
401Unauthorized - Invalid authentication
403Forbidden - Missing required headers
500Internal Server Error