Transaction History
POST
/wallet/transactions/{subscriber_id}Open in the API playground →
Info
Returns paginated transaction history. Requires PIN verification for security.
Request
Authorizationstringheaderrequired
Bearer olive_live_xxx or Bearer eyJ... (JWT)
Path Parameters
subscriber_idstringpathrequired
Subscriber UUID
Body Parameters
pinstringbodyrequired
Subscriber's 4-digit PIN
limitintegerbodydefault:
20Results per page (max 100)
offsetintegerbodydefault:
0Pagination offset
Response
transactionsarray
Array of transaction objects
total_countinteger
Total transactions
limitinteger
Current page size
offsetinteger
Current offset
Examples
Request
cURL
curl -X POST "https://demo.api.vultlocal.com/api/v1/wallet/transactions/sub_abc123" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"pin": "1234",
"limit": 20,
"offset": 0
}'
Response
200 Success
{
"success": true,
"transactions": [
{
"id": "txn_abc123",
"type": "transfer_p2p",
"status": "completed",
"amount": 5000000,
"amount_formatted": "50,000.00 SLE",
"fee": 75000,
"direction": "debit",
"counterparty": {
"name": "Jane Smith",
"card_serial": "OLIV0002"
},
"balance_after": 7500000,
"memo": "Payment for services",
"created_at": "2025-01-15T10:30:00Z"
},
{
"id": "txn_def456",
"type": "agent_cashin",
"status": "completed",
"amount": 10000000,
"amount_formatted": "100,000.00 SLE",
"fee": 0,
"direction": "credit",
"counterparty": {
"name": "Agent ABC",
"type": "agent"
},
"balance_after": 12500000,
"created_at": "2025-01-14T15:00:00Z"
}
],
"total_count": 45,
"limit": 20,
"offset": 0
}
Transaction Fields
| Field | Description |
|---|---|
type | Transaction type (see overview) |
status | completed, pending, failed, reversed |
direction | credit (incoming) or debit (outgoing) |
counterparty | Other party details |
balance_after | Balance after transaction |
Errors
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_PIN_FORMAT | PIN must be 4 digits |
| 401 | INVALID_PIN | PIN verification failed |
| 401 | UNAUTHORIZED | Invalid API key |
| 404 | SUBSCRIBER_NOT_FOUND | Subscriber not found |
| 500 | INTERNAL_ERROR | Server error |