Check entitlement and pricing
GET
/api/v1/kyc/pricing
const url = 'https://connect.payhero.africa/api/v1/kyc/pricing';const options = {method: 'GET', headers: {Authorization: 'Basic <credentials>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://connect.payhero.africa/api/v1/kyc/pricing \ --header 'Authorization: Basic <credentials>'What each check costs and whether this Team can run one. Prices vary per check and per country, so read them rather than hardcoding.
On your own provider key, platform is false and checks are free. On
the PayHero platform key, prices is keyed by check, each with a live
and a cheaper cached rate.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Entitlement and per-check prices.
Media typeapplication/json
object
platform
true when checks run on the PayHero platform key and are billed.
boolean
allowed
Whether this Team can run a check right now.
boolean
reason
Why not, when allowed is false.
string
message
string
billing_mode
string
currency
string
balance
number
prices
Per-check prices, keyed by check.
object
key
additional properties
object
live
number
cached
number
Example
{ "platform": true, "allowed": true, "reason": "insufficient_balance", "billing_mode": "service_wallet", "currency": "KES", "balance": 4250, "prices": { "additionalProperty": { "live": 20, "cached": 5 } }}Missing or invalid Basic auth credentials.
Media typeapplication/json
object
error_code
string
error_message
string
status_code
integer
Example
{ "error_code": "invalid_argument", "error_message": "the transaction amount is insufficient as it wont cater for cost: (4.62)", "status_code": 400}Identity checks are not enabled — connect a provider key first.

