Getting Started with Kang Open Banking API
Make your first API call to the Kang Open Banking API in under 5 minutes. Free sandbox, no signup required. cURL, Node.js, Python, PHP, Go, and Java examples.
Quick Start Guide
Get your sandbox API key and make your first API call in under 5 minutes. No signup required. Field names below match the canonical OpenAPI 3.1 specification (v4.50.1): the GatewayCharge schema requires channel and customer_phone.
Step 1: Get Your Sandbox Key
Create your own sandbox key in the Developer Portal → Sandbox Console. Sandbox keys are free, never expire, and follow the sbx_* format. OWASP ASVS v4.0 V2.6 and NIST SP 800-63B §5.1.3 discourage shared lookup secrets; the previously documented sk_test_kob_sandbox_demo_key_2024 literal is no longer documented but remains accepted by the public Try-It button on Real-World Examples for unauthenticated visitors.
Step 2: Make Your First API Call
curl -i https://api.kangopenbanking.com/v1/health
Step 3: Create a Mobile Money Charge (Sandbox)
curl -X POST https://sandbox-api.kangopenbanking.com/v1/gateway/charges \
-H "Authorization: Bearer YOUR_SBX_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"amount": "5000",
"currency": "XAF",
"channel": "mobile_money",
"customer_phone": "+237650000000",
"description": "Order #1234"
}'
Step 4: Successful Response (HTTP 201)
{
"data": {
"id": "ch_01HZX9K7P3M2N4Q5R6S7T8V9W0",
"object": "charge",
"status": "pending",
"amount": "5000",
"currency": "XAF",
"channel": "mobile_money",
"customer_phone": "+237650000000",
"provider_ref": "MP240501.1234.A12345",
"tx_ref": "kob_tx_8f3e1c92a7b4",
"description": "Order #1234",
"created_at": "2026-05-01T14:32:11Z"
},
"request_id": "req_01HZX9K7P3M2N4Q5R6S7T8V9W0",
"links": { "self": "/v1/gateway/charges/ch_01HZX9K7P3M2N4Q5R6S7T8V9W0" }
}
Step 5: Error Response (RFC 7807)
All 4xx/5xx errors use application/problem+json with a stable error_id:
HTTP/1.1 400 Bad Request
Content-Type: application/problem+json
{
"type": "https://docs.kangopenbanking.com/errors/validation_error",
"title": "Validation Error",
"status": 400,
"detail": "customer_phone is required when channel is mobile_money",
"error_id": "err_01HZX9KAB12CDEF34GHJKMNPQR",
"timestamp": "2026-05-01T14:32:11Z"
}
Available SDKs
- Node.js / TypeScript —
npm install @kang/openbanking-node
- Python —
pip install kang-openbanking
- PHP —
composer require kang/openbanking-php
- Java —
com.kangopenbanking:kangopenbanking-sdk-typed:4.28.1
- Go —
go get github.com/kangopenbanking/sdk-go
- Ruby — community guide via
openapi-generator-cli (ruby)
Production base URL: https://api.kangopenbanking.com/v1
Sandbox base URL: https://sandbox-api.kangopenbanking.com/v1
Postman Collection
A versioned Postman v2.1 collection is auto-generated from the live OpenAPI spec on every release (388 requests, 45 folders).
Developer Portal Home | OpenAPI Spec (JSON) | Contact