Authentication

Every Partner API request requires an HTTP Bearer token issued for your application and environment.

How to use

  1. Create an application in Developers and copy the sandbox key (shown once).
  2. Send Authorization: Bearer knos_sandbox_… (or knos_production_… after Ops approval) on every request.
  3. Grant only the scopes you need; missing scope → FORBIDDEN.

Bearer token

HTTP header
Authorization: Bearer knos_sandbox_<secret># orAuthorization: Bearer knos_production_<secret>
PrefixEnvironmentFulfillment
knos_sandbox_SandboxSimulated — sandbox fulfillment only (not live providers)
knos_production_ProductionLive providers via KNOS (Ops-approved app)

Scopes

Keys are limited to the scopes granted on the application. Missing scope → FORBIDDEN / unauthorized response.

ScopeUsed by
products:readGET /products
balance:readGET /balance
transactions:createPOST /transactions
transactions:readGET /transactions/{id}
webhooks:managePOST /webhooks/test
meters:lookupPOST /meters/lookup
numbers:verifyPOST /numbers/verifications
airtime:purchaseAirtime create
data:purchaseData create
voice:purchaseVoice create
afa:purchaseAFA create
ecg:purchaseECG create

Unauthorized example

GET https://confident-elephant-309.convex.site/v1/products (no auth)
{  "code": "UNAUTHORIZED",  "message": "Missing or invalid Authorization Bearer token"}

IP allowlist

Optional per environment on the application. When configured, requests from other IPs are rejected. Configure in the Developer portal.