BODY='{"phone_number":"0771234567","amount":50000,"reference":"PARTNER-TXN-123"}'
TIMESTAMP='2026-03-10T12:00:00Z'
SIGNATURE=$(printf 'POST\n/api/v1/partner/cashin\n%s\n%s' "$TIMESTAMP" "$BODY" | openssl dgst -sha256 -hmac "$OLIVE_HMAC_SECRET" -hex | sed 's/^.* //')
curl -X POST "https://demo.api.vultlocal.com/api/v1/partner/cashin" \
-H "X-API-Key-ID: $OLIVE_API_KEY_ID" \
-H "X-Partner-ID: $OLIVE_PARTNER_ID" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-d "$BODY"
{}Partner API
Cash In
Credit subscriber wallet via partner
POST
/
partner
/
cashin
BODY='{"phone_number":"0771234567","amount":50000,"reference":"PARTNER-TXN-123"}'
TIMESTAMP='2026-03-10T12:00:00Z'
SIGNATURE=$(printf 'POST\n/api/v1/partner/cashin\n%s\n%s' "$TIMESTAMP" "$BODY" | openssl dgst -sha256 -hmac "$OLIVE_HMAC_SECRET" -hex | sed 's/^.* //')
curl -X POST "https://demo.api.vultlocal.com/api/v1/partner/cashin" \
-H "X-API-Key-ID: $OLIVE_API_KEY_ID" \
-H "X-Partner-ID: $OLIVE_PARTNER_ID" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-d "$BODY"
{}Credit a subscriber’s wallet. Partner routes use HMAC headers, so this page provides a copyable request instead of the interactive playground.
Authentication
string
required
API key ID issued for the partner integration
string
required
Partner identifier such as
VULTstring
required
RFC3339 timestamp used when generating the signature
string
required
Hex-encoded HMAC-SHA256 of
METHOD + "\n" + PATH + "\n" + TIMESTAMP + "\n" + BODYRequest Body
string
Subscriber phone number
string
Subscriber card serial
integer
required
Amount in cents (for example
50000 = 500.00)string
required
Partner’s unique transaction reference
Provide eitherphone_numberorcard_serial
Example
BODY='{"phone_number":"0771234567","amount":50000,"reference":"PARTNER-TXN-123"}'
TIMESTAMP='2026-03-10T12:00:00Z'
SIGNATURE=$(printf 'POST\n/api/v1/partner/cashin\n%s\n%s' "$TIMESTAMP" "$BODY" | openssl dgst -sha256 -hmac "$OLIVE_HMAC_SECRET" -hex | sed 's/^.* //')
curl -X POST "https://demo.api.vultlocal.com/api/v1/partner/cashin" \
-H "X-API-Key-ID: $OLIVE_API_KEY_ID" \
-H "X-Partner-ID: $OLIVE_PARTNER_ID" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-d "$BODY"
Response
{
"success": true,
"transaction_id": "txn_abc123",
"message": "Cash-in successful",
"data": {
"subscriber_id": "sub_xyz789",
"name": "John Doe",
"amount": 50000,
"new_balance": 75000,
"currency": "SLE",
"reference": "TXN-123456"
}
}
Transaction Flow
- Partner account is debited (may go negative - clearing account)
- Subscriber account is credited
- Transaction and ledger entries are created
- Generates unique transaction ID
Errors
| Status | Description |
|---|---|
| 400 | Invalid request body |
| 401 | Missing or invalid HMAC headers/signature |
| 404 | Subscriber not found |
| 500 | Transaction failed |
Authorizations
API Key for third-party integrations (WhatsApp, Smart PAY, VULT). Format: 'Bearer olive_live_xxxxxxxxxxxxx'
Headers
Body
application/json
Response
200 - application/json
Success
The response is of type object.
⌘I