Partner program
Every partner gets a unique API caller URL. Verifications created through it are attributed to you, and you earn 10% of the price charged for every approved LIVE verification — no billing, no support burden.
Your partner URL behaves exactly like /v1/verifications — the developers you bring integrate against it with their own API keys and are billed normally. You earn 10% of the price charged for every APPROVED LIVE verification: $0.015 per approved AI KYC at the $0.15 list price.
How it works
https://api.okias.io/v1/p/<CODE>/verifications (also returned as api_call_url by GET /v1/partners/me)./v1/verifications — same auth with their own key, same request, same response. Nothing else in their integration changes.APPROVED in LIVE mode, 10% of the price charged for it lands in your commission ledger.$30, request a payout in USDT, bank transfer, PayPal or Wise. A processing fee is withheld from the requested amount.Your partner API URL
The partner URL is a prefix in front of the standard verifications API. All three verification endpoints exist under it and behave identically to their standard counterparts:
/v1/p/:code/verifications/v1/p/:code/verifications/:id/submit/v1/p/:code/verifications/:id- Authentication is unchanged. The caller authenticates with their own API key (
Authorization: Bearer ok_live_...) and is billed normally on their own account — your URL never changes who pays. - Request and response are unchanged. Same body, same idempotency behavior, same status model and webhooks.
- Unknown or suspended codes fail fast. A request to a partner URL whose code does not exist or is suspended returns
404with error codePARTNER_NOT_FOUNDbefore any work happens.
Example: create a verification through a partner URL
This is what a developer you referred runs — their own key, your URL (here with the example code AB2CD3EF):
curl https://api.okias.io/v1/p/AB2CD3EF/verifications \
-H "Authorization: Bearer ok_live_..." \
-H "Idempotency-Key: 9f2c4a1b-1e33-4c07-9c1e-2b7f0d5a1a10" \
-H "Content-Type: application/json" \
-d '{
"level": ["FULL_KYC"],
"country": "pk",
"doc_type": "NATIONAL_ID",
"end_user_ref": "user_8842"
}'Attribution: URL and referral link
There are two attribution paths, and the partner URL always wins:
| Path | How it attributes | Precedence |
|---|---|---|
| Partner API URL | Each verification created through /v1/p/<CODE>/... is attributed to that partner, per verification. | Wins — exclusive. If a verification came through your URL, commission goes to you and only you. |
| Referral link (legacy) | Signing up via okias.io/?ref=CODE attributes the whole account to the referring partner. | Applies only when a verification did not come through a partner URL. |
Commission mechanics
You earn 10% of the price charged for each attributed verification that ends approved in LIVE mode — at the $0.15 AI KYC list price that is $0.015 per approved AI KYC.
| Outcome | Caller is charged | You earn |
|---|---|---|
APPROVED (live) | Yes | 10% of the price charged |
DECLINED | No | Nothing |
REVIEW | Not yet — the credits stay on hold | Nothing until resolved |
REVIEW resolved to approved | Yes, on resolution | 10% of the price charged |
ERROR or expired | No | Nothing |
| Sandbox (test key) | No | Nothing |
Commission by product
Commission is calculated on the credits charged for the approved verification, so it follows the product the caller used:
| Product | Charged on approval | Commission today |
|---|---|---|
| AI KYC | 15 credits ($0.15) | 10% of the price charged ($0.015) |
| BYOK (your own AI key) | 5 credits ($0.05) | 10% of the platform fee charged |
| Manual KYC decided by the OKIAS review team | 5 credits ($0.05) | 10% of the price charged |
| Manual KYC decided by the merchant (merchant-decision mode) | 5 credits ($0.05) | No commission today |
- Approved LIVE only, by design. Commission mirrors billing: callers are charged only on approved verifications, so only approved LIVE verifications earn commission.
- Self-calls earn nothing. Calling your own partner URL from your own account creates a normal verification but pays no commission.
- Reseller-managed clients earn nothing. Verifications of client accounts created by a reseller are billed to the reseller and pay no commission.
- Paid credits and cooling period. Today the charged credits may include free trial credits, and commission is booked when the verification is approved. Rules that limit commission to paid credits and add a cooling period are being built; this page will say so when they apply.
- Everything is ledgered. Each commission is an entry in an append-only USD ledger on your dashboard, tied to the verification that produced it.
Payouts
Request a payout from Dashboard → Partners once your unpaid balance reaches the $30 minimum. A processing fee is withheld from the requested amount — you receive net = amount − fee. Your own account must hold an approved LIVE identity verification before a payout can be requested (403 PARTNER_KYC_REQUIRED otherwise).
| Method | Processing fee | Example: request $100 |
|---|---|---|
| Crypto — USDT TRC-20 / BEP-20 / ERC-20 or another network | $1.20 flat | you receive $98.80 |
| Bank transfer / PayPal / Wise | $3.50 + 5% | you receive $91.50 |
Read the fee schedule
/v1/partners/payout-feesReturns the current minimum, fee schedule and dual-control threshold (values are platform-managed; the same values are published in the partner block of GET /v1/pricing):
{
"min_payout_usd": 30,
"crypto": {
"flat_usd": 1.2,
"networks": "any (USDT TRC20 / BEP20 / ERC20 / other)"
},
"fiat": {
"base_usd": 3.5,
"fraction": 0.05,
"bps": 500,
"rails": ["BANK", "PAYPAL", "WISE"]
},
"dual_control_threshold_usd": 500
}Request a payout
/v1/partners/payouts| Field | Type | Notes |
|---|---|---|
| method | string | One of USDT_TRC20, USDT_BEP20, USDT_ERC20, CRYPTO_OTHER, PAYPAL, WISE, BANK. |
| amount_usd | number | Amount to withdraw (max 2 decimal places). The fee comes out of this amount. |
| payout_details | object | Your destination — wallet address, bank or PayPal/Wise details. Stored encrypted. |
{
"method": "USDT_TRC20",
"amount_usd": 100,
"payout_details": { "address": "TX7k3...your wallet" }
}{
"id": "cms82b1qf003goea2t6n8p2kj",
"amount_usd": "100.00",
"fee_usd": "1.20",
"net_usd": "98.80",
"method": "USDT_TRC20",
"state": "REQUESTED",
"created_at": "2026-07-30T10:12:00.000Z"
}Payout errors
| Code | Meaning |
|---|---|
| BELOW_MIN_PAYOUT | The requested amount is below the $30 minimum. The balance rolls over — try again later. |
| AMOUNT_BELOW_FEE | The processing fee would consume the whole amount. Request a larger amount. |
| INSUFFICIENT_BALANCE | The requested amount exceeds your unpaid commission balance. |
| PARTNER_KYC_REQUIRED | Your own account has no approved LIVE identity verification yet. Complete one, then request the payout again. |
Good to know
- Who pays for the verification? Always the caller, on their own account and credits. Your commission comes from OKIAS, never on top of the caller's price.
- Does the partner URL change latency or behavior? No — it is the same pipeline with an attribution stamp. Same decisions, same webhooks, same pricing.
- What if my account is suspended? Your URL stops resolving (
404 PARTNER_NOT_FOUND), so developers using it should switch back to/v1/verifications— their integrations otherwise keep working unchanged. - Where do I see my URL, code and earnings? On Dashboard → Partners, or via
GET /v1/partners/me(api_call_url,referral_code, balances and stats). - Questions or higher-volume arrangements: email sales@okias.io.