Bank Endpoint Health Check API
GET /api/health: check the status and latency of all Ethiopian bank receipt endpoints.
Read full API docsHealth check overview
GET /api/health: Tests the connectivity and latency of all supported bank receipt endpoints. For each bank, it makes a lightweight request to the bank's endpoint and reports whether the endpoint is reachable, how fast it responded, and whether it's geo-blocked.
Response structure
The response is a JSON object keyed by bank code. Each bank has a status field ('up', 'down', 'blocked'), a latencyMs field (response time in milliseconds), and a lastChecked timestamp. This data is useful for monitoring dashboards and for gracefully handling endpoint failures in your integration.
Integration patterns
Use the health check to build resilient integrations:
- Check health before batch verification to skip banks that are down
- Display real-time bank status on your dashboard
- Set up alerts when a bank endpoint goes down
- Automatically fall back to manual verification when a bank is geo-blocked
Frequently asked questions
What does GET /api/health return?
A JSON object with the health status of each supported bank endpoint. For each bank, it returns: status (up/down/blocked), latencyMs (response time in milliseconds), and lastChecked timestamp. This tells you which banks are currently reachable from cheki's servers.
Why would a bank endpoint be down?
Bank endpoints can be temporarily down for maintenance, or they can be geo-blocked (Telebirr and M-Pesa block non-Ethiopian IPs). The health check tells you which endpoints are currently accessible so you can handle failures gracefully.
How often is the health check updated?
The health check runs on-demand when you call the endpoint. It tests each bank endpoint in parallel and returns results in under 5 seconds. For continuous monitoring, poll /api/health at regular intervals.
Read full API docs
Open cheki