Going live
Live calling is a code path, not a date. Ask the API what is in the way and it will tell you, one blocker at a time.
On your account
- Business verification. Kleos completes this with you. Until it is done, live keys cannot be created.
- The reseller agreement. Signed once, recorded against your account.
- A funded balance. Calls draw from it. You will be warned before it runs out.
- Approval. Kleos flips your account to live. Your console checklist shows all four.
On each customer
Some things cannot be cleared once for everyone — they depend on where the customer is and what the agent will say. Ask per customer:
GET /v1/customers/{id}/readinessEvery blocker comes back as a stable code with a human message. Show the message, branch on the code.
| Code | Meaning |
|---|---|
emporos_not_live | Your account is still in test mode. |
kyb_incomplete | Business verification is not finished. |
agreement_unsigned | The reseller agreement is not signed. |
insufficient_balance | The account has no usable balance. |
human_speech_gate_closed | Kleos has not certified its own delivery in this customer's calling language. |
no_number_in_country | No Kleos number exists for the customer's country yet. |
script_uncertified | This customer's call script has not passed certification. |
Why Kleos refuses things you did not ask about
Two of those blockers are ours, not yours. human_speech_gate_closed means Kleos has not yet proved, for that customer's calling language, that its own delivery is good enough to put in front of a stranger — and script_uncertified means the words this customer's agent would say have not passed review yet. Neither can be waived by an API parameter or by a Kleos admin clicking something, in test mode or in live.
This is the part of the arrangement worth understanding before you sell it: Kleos will refuse to make a call it is not ready to make, on your customer's behalf, even when you have paid for it. The readiness endpoint exists so that refusal never arrives as a surprise.
Countries and languages
A customer's country decides three things: which calling rules apply, which language the agent speaks, and which number Kleos needs to have. A country Kleos has not opened yet reports no_number_in_country — the honest answer, and one your onboarding can act on rather than discovering mid-campaign.