Transaction History
POST
/partner/transaction-historyOpen in the API playground →
Get the authenticated partner's transaction history and current balance. Partner routes use HMAC headers, so this page provides a copyable request instead of the interactive playground.
Authentication
X-API-Key-IDstringheaderrequired
API key ID issued for the partner integration
X-Partner-IDstringheaderrequired
Partner identifier such as VULT
X-Timestampstringheaderrequired
RFC3339 timestamp used when generating the signature
X-Signaturestringheaderrequired
Hex-encoded HMAC-SHA256 of METHOD + "\n" + PATH + "\n" + TIMESTAMP + "\n" + BODY
Request Body
limitintegerbodydefault:
20Number of transactions (max 100)
offsetintegerbodydefault:
0Pagination offset
Example
Request
cURL
BODY='{"limit":20,"offset":0}'
TIMESTAMP='2026-03-10T12:00:00Z'
SIGNATURE=$(printf 'POST\n/api/v1/partner/transaction-history\n%s\n%s' "$TIMESTAMP" "$BODY" | openssl dgst -sha256 -hmac "$SMARTPAY_HMAC_SECRET" -hex | sed 's/^.* //')
curl -X POST "https://demo.api.vultlocal.com/api/v1/partner/transaction-history" \
-H "X-API-Key-ID: $SMARTPAY_API_KEY_ID" \
-H "X-Partner-ID: $SMARTPAY_PARTNER_ID" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-d "$BODY"
Response
{
"success": true,
"partner_id": "VULT",
"balance": "15000.00",
"transactions": [
{
"id": "txn_abc123",
"type": "partner_cashin",
"status": "completed",
"amount": "500.00",
"fee": "0.00",
"description": "Cash-in via VULT (ref: TXN-123456)",
"created_at": "2025-01-15T10:30:00Z",
"subscriber": "sub_xyz789"
}
],
"total_count": 150
}
Notes
- Returns empty transactions array if partner has no transactions yet
- Account is created on first cash-in transaction
Errors
| Status | Description |
|---|---|
| 400 | Invalid request body |
| 401 | Missing or invalid HMAC headers/signature |