Skip to main content
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

X-API-Key-ID
string
required
API key ID issued for the partner integration
X-Partner-ID
string
required
Partner identifier such as VULT
X-Timestamp
string
required
RFC3339 timestamp used when generating the signature
X-Signature
string
required
Hex-encoded HMAC-SHA256 of METHOD + "\n" + PATH + "\n" + TIMESTAMP + "\n" + BODY

Request Body

phone_number
string
Subscriber phone number
card_serial
string
Subscriber card serial
amount
integer
required
Amount in cents (for example 50000 = 500.00)
reference
string
required
Partner’s unique transaction reference
Provide either phone_number or card_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

  1. Partner account is debited (may go negative - clearing account)
  2. Subscriber account is credited
  3. Transaction and ledger entries are created
  4. Generates unique transaction ID

Errors

StatusDescription
400Invalid request body
401Missing or invalid HMAC headers/signature
404Subscriber not found
500Transaction failed

Authorizations

Authorization
string
header
required

API Key for third-party integrations (WhatsApp, Smart PAY, VULT). Format: 'Bearer olive_live_xxxxxxxxxxxxx'

Headers

X-API-Key-ID
string
required
X-Partner-ID
string
required
X-Timestamp
string
required
X-Signature
string
required

Body

application/json
amount
integer
required
reference
string
required
phone_number
string
card_serial
string

Response

200 - application/json

Success

The response is of type object.