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/jsonRequest
Query Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
currency | string | No | - | Filter by currency code |
walletType | string | No | - | Filter by wallet type |
status | string | No | - | Filter by status |
page | integer | No | 0 | Page number (0-indexed) |
size | integer | No | 20 | Number of items per page |
sort | string | No | createdAt,desc | Sort 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:
| Field | Type | Description |
|---|---|---|
items | array | Array of wallet objects |
items[].id | string | Wallet ID |
items[].balance | number | Wallet balance |
items[].walletName | string | Wallet name |
items[].currency | object | Currency details object |
items[].currency.currencyCode | string | Currency code (e.g., XOF, USD) |
items[].currency.numericCode | number | ISO numeric currency code |
items[].currency.numericCodeAsString | string | ISO numeric currency code as string |
items[].currency.displayName | string | Display name of currency |
items[].currency.symbol | string | Currency symbol |
items[].currency.defaultFractionDigits | number | Default decimal places |
items[].description | string | Wallet description |
items[].businessId | string | Business ID |
items[].userId | string | User ID |
items[].walletType | string | Wallet type (e.g., BankWallet, MobileMoneyWallet) |
items[].status | string | Wallet status (e.g., ACTIVE) |
items[].walletReference | string | Wallet reference |
items[].createdAt | string | Timestamp when wallet was created (ISO 8601) |
items[].updatedAt | string | Timestamp when wallet was last updated (ISO 8601) |
total | number | Total number of wallets |
offset | number | Offset for pagination |
limit | number | Number of items per page |
has_next | boolean | Whether there is a next page |
has_previous | boolean | Whether there is a previous page |
next_offset | number | Offset for the next page |
previous_offset | number | Offset 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 Code | Description |
|---|---|
| 401 | Unauthorized - Invalid authentication |
| 403 | Forbidden - Missing required headers |
| 500 | Internal Server Error |