Skip to main content
POST
/
api
/
v1
/
wallet
/
transactions
/
{subscriber_id}
curl -X POST "https://olive-gateway-a6ba.onrender.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
  }'
{
  "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
}
Returns paginated transaction history. Requires PIN verification for security.

Request

Authorization
string
required
Bearer olive_live_xxx or Bearer eyJ... (JWT)

Path Parameters

subscriber_id
string
required
Subscriber UUID

Body Parameters

pin
string
required
Subscriber’s 4-digit PIN
limit
integer
default:"20"
Results per page (max 100)
offset
integer
default:"0"
Pagination offset

Response

transactions
array
Array of transaction objects
total_count
integer
Total transactions
limit
integer
Current page size
offset
integer
Current offset

Examples

curl -X POST "https://olive-gateway-a6ba.onrender.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
  }'
{
  "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

FieldDescription
typeTransaction type (see overview)
statuscompleted, pending, failed, reversed
directioncredit (incoming) or debit (outgoing)
counterpartyOther party details
balance_afterBalance after transaction

Errors

StatusCodeDescription
400INVALID_PIN_FORMATPIN must be 4 digits
401INVALID_PINPIN verification failed
401UNAUTHORIZEDInvalid API key
404SUBSCRIBER_NOT_FOUNDSubscriber not found
500INTERNAL_ERRORServer error