EthioVerify API Reference
Verify Ethiopian bank transactions across CBE, Telebirr, and Dashen through a unified API.
Overview
EthioVerify provides a unified API for verifying transaction information from supported Ethiopian financial providers. Developers can send a bank identifier and transaction reference and receive a normalized JSON response.
Simple API
One verification endpoint for supported providers.
Normalized Response
Common response structure across supported providers.
Server-side API
Designed for secure backend integrations.
Authentication
Authenticate requests using your EthioVerify API
credential in the HTTP header as a
x-api-key
.
x-api-key: ev_live_YOUR_SECRET_KEY
Store your API credential securely on your backend. Do not expose it in browser JavaScript, public frontend applications, or source code committed to a public repository.
/verify
Verify a single transaction by providing the supported bank identifier and transaction reference.
curl -X POST https://recieptcheck.oppnestapp.com/api/v1/verify \
-H "x-api-key: ev_live_YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"bank": "cbe",
"reference": "FT1234567890"
}'
Request Schema
JSON body parameters required by the verification endpoint.
| Field | Type | Required | Description |
|---|---|---|---|
| bank | string | required |
Bank or provider identifier.
Supported values include
cbe,
telebirr,
and
dashen.
|
| reference | string | required | Transaction reference or receipt input accepted by the selected provider. |
Response Structure
Successful requests return a normalized response containing the provider, verification result, and transaction information when available.
{
"success": true,
"request_id": "901284fa921b901284fa921b",
"data": {
"bank": "cbe",
"verification_result": "verified",
"transaction": {
"reference": "FT1234567890",
"status": "completed",
"amount": 140.00,
"currency": "ETB",
"date": "18-06-2026",
"description": "description",
"sender": {
"name": "Example Sender",
"account": "1********1234"
},
"receiver": {
"name": "Example Receiver",
"account": "1********4321"
}
}
},
"error": null
}
Response Fields
Indicates whether the API request was processed successfully.
Unique identifier used to trace a request in logs and support investigations.
Indicates the transaction verification state.
Contains the normalized transaction information when transaction details are available.
Error Codes & Handling
When
success
is
false
,
inspect
error.code
to determine why the request failed and how your application
should handle it.
{
"success": false,
"request_id": "1234567-2feb-42ab-b442-123456789",
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid or revoked API credential."
}
}
| Error Code | HTTP Status | Description |
|---|---|---|
| API_KEY_MISSING | 401 | No API credential was provided in the request. |
| INVALID_API_KEY | 401 | The provided API credential is invalid or revoked. |
| API_KEY_EXPIRED | 401 | The provided API credential has expired. |
| INVALID_REQUEST_BODY | 400 | The request body is invalid or required fields are missing. |
| INVALID_BANK | 400 | The bank field is missing or invalid. |
| INVALID_REFERENCE | 400 | The transaction reference field is missing or invalid. |
| UNSUPPORTED_BANK | 400 | The supplied bank is not currently supported. |
| INVALID_REFERENCE_NUMBER | 404 | The bank could not find a transaction matching the reference number. |
| INVALID_ENDPOINT | 404 | The requested API endpoint does not exist. |
| METHOD_NOT_ALLOWED | 405 | The HTTP method is not allowed for this endpoint. |
| RATE_LIMIT_EXCEEDED | 429 | The API rate limit has been exceeded. |
| PROVIDER_UNAVAILABLE | 503 | The upstream bank provider is temporarily unavailable. |
| INTERNAL_ERROR | 500 | An unexpected EthioVerify server error occurred. |
Supported Banks & Inputs
EthioVerify currently supports transaction verification for the following providers.
Commercial Bank of Ethiopia
Active
Bank Code:
cbe
Input:
CBE transaction reference such as
FT26231826W6
.
Telebirr
Active
Bank Code:
telebirr
Input: Telebirr receipt or transaction reference.
Dashen Bank
Active
Bank Code:
dashen
Input: Dashen transaction reference.
Bank of Abyssinia
Coming Soon
Bank Code:
abyssinia
Integration is not currently available in the public API.
Code Examples
Example requests using common development environments.
curl -X POST https://recieptcheck.oppnestapp.com/api/v1/verify \
-H "x-api-key: ev_live_YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"bank": "cbe",
"verificationInput": "FT1234567890"
}'
Rate Limits
API requests are subject to the limits associated with your account plan.
Request ID & Debugging
API responses include a
request_id
that can be used to trace the request.
Store the returned
request_id
with your own transaction or customer record.
If you need help investigating a request, provide
this identifier when contacting support.