Skip to content
Keshio API

Quickstart

Wire merchant systems to consented ledger events on https://api.keshio.app.

You’re browsing docs signed out. Sign in with Google to manage keys and webhooks.

1. Enable sharing

In the Keshio Android app (Pro), turn on Business Ledger sharing and choose scopes (credits, debits, balances) and wallets. Raw SMS never leaves the phone. M-Pesa is included with Pro; other wallets need the KES 1,000/mo add-on on Overview.

2. Create an API key

From API keys only (not the Android app), create a live key. Prefixes: keshio_live_ / keshio_test_. Store the plaintext once.

3. Pull events

curl -sS "https://api.keshio.app/v1/events?limit=50" \
  -H "Authorization: Bearer keshio_live_YOUR_KEY"

Paginate with ?cursor=<last_id>. Single event: GET /v1/events/{id}.

4. Webhooks (optional)

Register an HTTPS URL. Deliveries include:

  • X-Keshio-Timestamp — unix seconds
  • X-Keshio-Signature — t=<ts>,v1=<hmac_sha256_hex>
  • X-Keshio-Event-Id, X-Keshio-Delivery-Id

Signature base string: {timestamp}.{raw_body}. Reject if |now - t| > 300 seconds.

Auth model

  • Console humans: Google / Firebase → cookie session
  • App push: Firebase Bearer on /v1/business/*
  • Machines: API key Bearer on /v1/events

Base URL

https://api.keshio.app