curl -X POST "https://demo.api.vultlocal.com/api/v1/wallet/account-statement" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"subscriber_id": "sub_abc123",
"pin": "1234",
"from_date": "2025-01-01",
"to_date": "2025-01-31",
"format": "pdf"
}'
curl -X POST "https://demo.api.vultlocal.com/api/v1/wallet/account-statement" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"subscriber_id": "sub_abc123",
"pin": "1234",
"from_date": "2025-01-01",
"to_date": "2025-01-31",
"format": "csv"
}'
{
"success": true,
"message": "Statement generated successfully",
"statement_url": "https://storage.olive.example.com/statements/stmt_abc123.pdf",
"transaction_count": 45,
"period": {
"from": "2025-01-01",
"to": "2025-01-31"
},
"opening_balance": "50,000.00 SLE",
"closing_balance": "125,000.00 SLE",
"expires_at": "2025-02-01T10:30:00Z"
}
{
"error": "Invalid date range",
"code": "INVALID_DATE_RANGE",
"details": "from_date must be before to_date"
}
Wallet
Account Statement
Generate PDF or CSV account statement
POST
/
wallet
/
account-statement
curl -X POST "https://demo.api.vultlocal.com/api/v1/wallet/account-statement" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"subscriber_id": "sub_abc123",
"pin": "1234",
"from_date": "2025-01-01",
"to_date": "2025-01-31",
"format": "pdf"
}'
curl -X POST "https://demo.api.vultlocal.com/api/v1/wallet/account-statement" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"subscriber_id": "sub_abc123",
"pin": "1234",
"from_date": "2025-01-01",
"to_date": "2025-01-31",
"format": "csv"
}'
{
"success": true,
"message": "Statement generated successfully",
"statement_url": "https://storage.olive.example.com/statements/stmt_abc123.pdf",
"transaction_count": 45,
"period": {
"from": "2025-01-01",
"to": "2025-01-31"
},
"opening_balance": "50,000.00 SLE",
"closing_balance": "125,000.00 SLE",
"expires_at": "2025-02-01T10:30:00Z"
}
{
"error": "Invalid date range",
"code": "INVALID_DATE_RANGE",
"details": "from_date must be before to_date"
}
Generate downloadable account statements in PDF or CSV format for a specified date range.
Request
string
required
Bearer olive_live_xxx or Bearer eyJ... (JWT)Body Parameters
string
required
Subscriber UUID
string
required
Subscriber’s 4-digit PIN
string
required
Start date (
YYYY-MM-DD)string
required
End date (
YYYY-MM-DD)string
default:"pdf"
Output format:
pdf or csvResponse
boolean
Whether generation succeeded
string
Download URL (valid for 24 hours)
integer
Number of transactions in statement
Examples
curl -X POST "https://demo.api.vultlocal.com/api/v1/wallet/account-statement" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"subscriber_id": "sub_abc123",
"pin": "1234",
"from_date": "2025-01-01",
"to_date": "2025-01-31",
"format": "pdf"
}'
curl -X POST "https://demo.api.vultlocal.com/api/v1/wallet/account-statement" \
-H "Authorization: Bearer olive_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"subscriber_id": "sub_abc123",
"pin": "1234",
"from_date": "2025-01-01",
"to_date": "2025-01-31",
"format": "csv"
}'
{
"success": true,
"message": "Statement generated successfully",
"statement_url": "https://storage.olive.example.com/statements/stmt_abc123.pdf",
"transaction_count": 45,
"period": {
"from": "2025-01-01",
"to": "2025-01-31"
},
"opening_balance": "50,000.00 SLE",
"closing_balance": "125,000.00 SLE",
"expires_at": "2025-02-01T10:30:00Z"
}
{
"error": "Invalid date range",
"code": "INVALID_DATE_RANGE",
"details": "from_date must be before to_date"
}
Statement Contents
- PDF Format
- CSV Format
Professional statement including:
- Account holder details
- Opening/closing balance
- Transaction table with dates
- Running balance column
- Summary totals
Raw data for import:
Date,Type,Description,Debit,Credit,Balance
2025-01-15,transfer_p2p,Payment to Jane Smith,50000.00,,125000.00
2025-01-14,agent_cashin,Cash deposit via Agent ABC,,100000.00,175000.00
Date Range Limits
| Period | Maximum Range |
|---|---|
| Standard | 90 days |
| Premium | 365 days |
| Corporate | Unlimited |
Statement URLs expire after 24 hours. Download or share immediately.
Errors
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_DATE_RANGE | Invalid or excessive date range |
| 400 | INVALID_FORMAT | Format must be pdf or csv |
| 400 | INVALID_PIN | PIN verification failed |
| 401 | UNAUTHORIZED | Invalid API key |
| 404 | SUBSCRIBER_NOT_FOUND | Subscriber not found |
| 500 | GENERATION_FAILED | Statement generation error |
Authorizations
ApiKeyAuthBearerAuth
API Key for third-party integrations (WhatsApp, Smart PAY, VULT). Format: 'Bearer olive_live_xxxxxxxxxxxxx'
Body
application/json
Account statement request
Response
Statement data for PDF generation
The response is of type object.
⌘I