Bank Endpoint Health Check API

GET /api/health: check the status and latency of all Ethiopian bank receipt endpoints.

Read full API docs

Health 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

Related guides