curl -X GET "https://api.yourdomain.com/api/v1/merchants/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d/operations?limit=10&offset=0" \
-H "Authorization: Bearer uwk_YOUR_API_KEY_HERE"
const axios = require('axios');
const response = await axios.get(
'https://api.yourdomain.com/api/v1/merchants/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d/operations',
{
params: {
limit: 10,
offset: 0
},
headers: {
'Authorization': 'Bearer uwk_YOUR_API_KEY_HERE'
}
}
);
console.log('Operations:', response.data);
import requests
response = requests.get(
'https://api.yourdomain.com/api/v1/merchants/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d/operations',
params={'limit': 10, 'offset': 0},
headers={'Authorization': 'Bearer uwk_YOUR_API_KEY_HERE'}
)
print('Operations:', response.json())
[
{
"operationID": "op_8b7c9d3e-4f5a-6b7c-8d9e-0f1a2b3c4d5e",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "cash-in",
"amount": "50000.00",
"fee": "0",
"distributorTo": "36e48800-22ce-4ea0-b37a-198f7978cd53",
"distributorName": "PAPSS Distributor",
"memo": "Monthly deposit",
"blockchainID": "tx_abc123...",
"createdAt": "2026-02-12T10:30:00Z",
"updatedAt": "2026-02-12T10:30:15Z"
},
{
"operationID": "op_1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "pay-individual",
"amount": "3000.00",
"fee": "50.00",
"phoneTo": "+234 8123456781",
"memo": "Refund for order #1234",
"blockchainID": "tx_def456...",
"createdAt": "2026-02-12T09:15:00Z",
"updatedAt": "2026-02-12T09:15:20Z"
},
{
"operationID": "op_2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "pay-merchant",
"amount": "15000.00",
"fee": "100.00",
"merchantTo": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"merchantName": "Supplier Co.",
"memo": "Wholesale payment",
"blockchainID": "tx_ghi789...",
"createdAt": "2026-02-11T14:00:00Z",
"updatedAt": "2026-02-11T14:00:30Z"
},
{
"operationID": "op_3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "cash-out",
"amount": "20000.00",
"fee": "200.00",
"distributorTo": "36e48800-22ce-4ea0-b37a-198f7978cd53",
"distributorName": "PAPSS Distributor",
"blockchainID": "tx_jkl012...",
"createdAt": "2026-02-10T16:30:00Z",
"updatedAt": "2026-02-10T16:30:45Z"
}
]
{
"type": "/problems/access-forbidden",
"status": 403,
"title": "Access Forbidden",
"detail": "API key does not have Read Transactions permission"
}
Merchant API
Get Operations
Retrieve a paginated list of merchant operations (cash-in, cash-out, pay-merchant, pay-individual)
GET
/
api
/
v1
/
merchants
/
{merchantID}
/
operations
curl -X GET "https://api.yourdomain.com/api/v1/merchants/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d/operations?limit=10&offset=0" \
-H "Authorization: Bearer uwk_YOUR_API_KEY_HERE"
const axios = require('axios');
const response = await axios.get(
'https://api.yourdomain.com/api/v1/merchants/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d/operations',
{
params: {
limit: 10,
offset: 0
},
headers: {
'Authorization': 'Bearer uwk_YOUR_API_KEY_HERE'
}
}
);
console.log('Operations:', response.data);
import requests
response = requests.get(
'https://api.yourdomain.com/api/v1/merchants/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d/operations',
params={'limit': 10, 'offset': 0},
headers={'Authorization': 'Bearer uwk_YOUR_API_KEY_HERE'}
)
print('Operations:', response.json())
[
{
"operationID": "op_8b7c9d3e-4f5a-6b7c-8d9e-0f1a2b3c4d5e",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "cash-in",
"amount": "50000.00",
"fee": "0",
"distributorTo": "36e48800-22ce-4ea0-b37a-198f7978cd53",
"distributorName": "PAPSS Distributor",
"memo": "Monthly deposit",
"blockchainID": "tx_abc123...",
"createdAt": "2026-02-12T10:30:00Z",
"updatedAt": "2026-02-12T10:30:15Z"
},
{
"operationID": "op_1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "pay-individual",
"amount": "3000.00",
"fee": "50.00",
"phoneTo": "+234 8123456781",
"memo": "Refund for order #1234",
"blockchainID": "tx_def456...",
"createdAt": "2026-02-12T09:15:00Z",
"updatedAt": "2026-02-12T09:15:20Z"
},
{
"operationID": "op_2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "pay-merchant",
"amount": "15000.00",
"fee": "100.00",
"merchantTo": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"merchantName": "Supplier Co.",
"memo": "Wholesale payment",
"blockchainID": "tx_ghi789...",
"createdAt": "2026-02-11T14:00:00Z",
"updatedAt": "2026-02-11T14:00:30Z"
},
{
"operationID": "op_3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "cash-out",
"amount": "20000.00",
"fee": "200.00",
"distributorTo": "36e48800-22ce-4ea0-b37a-198f7978cd53",
"distributorName": "PAPSS Distributor",
"blockchainID": "tx_jkl012...",
"createdAt": "2026-02-10T16:30:00Z",
"updatedAt": "2026-02-10T16:30:45Z"
}
]
{
"type": "/problems/access-forbidden",
"status": 403,
"title": "Access Forbidden",
"detail": "API key does not have Read Transactions permission"
}
Endpoint
GET /api/v1/merchants/{merchantID}/operations
Authentication
string
required
Bearer token with your API key. Must have Read Transactions permission.
Path Parameters
string
required
The unique identifier of the merchant. Must match the merchant ID associated with the API key.
Query Parameters
integer
default:"100"
Maximum number of operations to return. Maximum value: 1000.
integer
default:"0"
Number of operations to skip for pagination.
Response
Returns an array of operation objects, sorted by creation date (newest first).array
Show Operation Object
Show Operation Object
string
Unique identifier for the operation
string
Merchant identifier
string
Type of operation:
cash-in, cash-out, pay-merchant, or pay-individualstring
Transaction amount as decimal string
string
Fee charged for the operation (if applicable)
string
Distributor ID (for
cash-out operations, or source distributor for cash-in)string
Distributor name (resolved from distributor ID)
string
Destination merchant ID (for
pay-merchant operations)string
Destination merchant name (for
pay-merchant operations)string
Recipient phone number (for
pay-individual operations)string
Optional reference note or description
string
Blockchain transaction identifier (empty if still processing)
integer | null
Blockchain sequence number (if submitted)
string | null
Last error message if operation failed
string
ISO 8601 timestamp of creation
string
ISO 8601 timestamp of last update
curl -X GET "https://api.yourdomain.com/api/v1/merchants/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d/operations?limit=10&offset=0" \
-H "Authorization: Bearer uwk_YOUR_API_KEY_HERE"
const axios = require('axios');
const response = await axios.get(
'https://api.yourdomain.com/api/v1/merchants/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d/operations',
{
params: {
limit: 10,
offset: 0
},
headers: {
'Authorization': 'Bearer uwk_YOUR_API_KEY_HERE'
}
}
);
console.log('Operations:', response.data);
import requests
response = requests.get(
'https://api.yourdomain.com/api/v1/merchants/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d/operations',
params={'limit': 10, 'offset': 0},
headers={'Authorization': 'Bearer uwk_YOUR_API_KEY_HERE'}
)
print('Operations:', response.json())
[
{
"operationID": "op_8b7c9d3e-4f5a-6b7c-8d9e-0f1a2b3c4d5e",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "cash-in",
"amount": "50000.00",
"fee": "0",
"distributorTo": "36e48800-22ce-4ea0-b37a-198f7978cd53",
"distributorName": "PAPSS Distributor",
"memo": "Monthly deposit",
"blockchainID": "tx_abc123...",
"createdAt": "2026-02-12T10:30:00Z",
"updatedAt": "2026-02-12T10:30:15Z"
},
{
"operationID": "op_1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "pay-individual",
"amount": "3000.00",
"fee": "50.00",
"phoneTo": "+234 8123456781",
"memo": "Refund for order #1234",
"blockchainID": "tx_def456...",
"createdAt": "2026-02-12T09:15:00Z",
"updatedAt": "2026-02-12T09:15:20Z"
},
{
"operationID": "op_2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "pay-merchant",
"amount": "15000.00",
"fee": "100.00",
"merchantTo": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"merchantName": "Supplier Co.",
"memo": "Wholesale payment",
"blockchainID": "tx_ghi789...",
"createdAt": "2026-02-11T14:00:00Z",
"updatedAt": "2026-02-11T14:00:30Z"
},
{
"operationID": "op_3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
"merchantID": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"operationType": "cash-out",
"amount": "20000.00",
"fee": "200.00",
"distributorTo": "36e48800-22ce-4ea0-b37a-198f7978cd53",
"distributorName": "PAPSS Distributor",
"blockchainID": "tx_jkl012...",
"createdAt": "2026-02-10T16:30:00Z",
"updatedAt": "2026-02-10T16:30:45Z"
}
]
{
"type": "/problems/access-forbidden",
"status": 403,
"title": "Access Forbidden",
"detail": "API key does not have Read Transactions permission"
}
Operation Types
cash-in
cash-in
Funds received from a distributor. The
distributorTo and distributorName fields identify the source distributor. Fee is always 0 for cash-in operations.cash-out
cash-out
Funds withdrawn to a distributor. The
distributorTo and distributorName fields identify the destination distributor.pay-merchant
pay-merchant
Payment sent to another merchant. The
merchantTo and merchantName fields identify the destination merchant.pay-individual
pay-individual
Payment sent to an individual wallet. The
phoneTo field identifies the recipient.Related Endpoints
Get Balance
Check merchant balance before creating operations
Get Payments
View incoming payments received by this merchant
Create Operation
Create a new merchant operation
⌘I