Programs

Partner program

Every partner gets a unique API caller URL. Verifications created through it are attributed to you, and you earn 10% of the base value of 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 base USD value of every APPROVED live verification: $0.015 per $0.15 verification.

Partner vs reseller — which is this?
As a partner you route verification traffic to OKIAS and earn a commission; the developers remain OKIAS customers with their own accounts and billing. If you want to own the customer — prepay credits, set your own price, create client accounts — see the Reseller program instead.

How it works

1
Apply and get your partner URL
Sign in and apply at Dashboard → Partners. Once approved, your dashboard shows a unique API caller URL of the form https://api.okias.io/v1/p/<CODE>/verifications (also returned as api_call_url by GET /v1/partners/me).
2
Developers integrate through your URL
The developers you refer use your URL in place of /v1/verifications — same auth with their own key, same request, same response. Nothing else in their integration changes.
3
You earn on approvals
Every verification created through your URL is attributed to you. When one is APPROVED in live mode, 10% of its base USD value lands in your commission ledger.
4
Request a payout
Once your unpaid balance reaches $30, request a payout in USDT, bank transfer, PayPal or Wise. A small 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:

POST/v1/p/:code/verifications
POST/v1/p/:code/verifications/:id/submit
GET/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 404 with error code PARTNER_NOT_FOUND before 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):

create via partner URL
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:

PathHow it attributesPrecedence
Partner API URLEach 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.
Which should you use?
The API URL is the primary mechanism: it attributes traffic per verification regardless of how the account signed up. Referral links still work and remain useful for content and sign-up campaigns.

Commission mechanics

You earn 10% of the base USD value of each attributed verification — at the $0.15 base price that is $0.015 per approved KYC.

OutcomeCaller is chargedYou earn
APPROVED (live)Yes10% of base
DECLINEDNo$0
REVIEWNot yet — the credit stays on hold$0 until resolved
REVIEW resolved to approvedYes, on resolution10% of base
ERRORNo$0
Sandbox (test key)No$0
  • Approved-only, by design. Commission mirrors billing: callers are charged only on approved verifications, so only approved verifications earn commission.
  • Self-calls earn nothing. Calling your own partner URL from your own account creates a normal verification but pays no commission.
  • 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.

MethodProcessing feeExample: request $100
Crypto — USDT TRC20 / BEP20 / ERC20 or another network$1.20 flatyou receive $98.80
Bank transfer / PayPal / Wise$3.50 + 5%you receive $91.50
Manual processing, dual-control above $500
Payout requests are processed manually — each one is reviewed and reconciled against your ledger before funds move, and payouts of $500 or more require approval from two separate admins. This is deliberate; it is a financial control, not a queue you can skip.

Read the fee schedule

GET/v1/partners/payout-fees

Returns the current minimum and fee schedule (values are platform-managed):

200 OK
{
  "min_payout_usd": 30,
  "crypto": {
    "flat_usd": 1.2,
    "networks": "any (USDT TRC20 / BEP20 / ERC20 / other)"
  },
  "fiat": {
    "base_usd": 3.5,
    "percent": 0.05,
    "rails": ["BANK", "PAYPAL", "WISE"]
  }
}

Request a payout

POST/v1/partners/payouts
FieldTypeNotes
methodstringOne of USDT_TRC20, USDT_BEP20, USDT_ERC20, CRYPTO_OTHER, PAYPAL, WISE, BANK.
amount_usdnumberAmount to withdraw (max 2 decimal places). The fee comes out of this amount.
payout_detailsobjectYour destination — wallet address, bank or PayPal/Wise details. Stored encrypted.
request body
{
  "method": "USDT_TRC20",
  "amount_usd": 100,
  "payout_details": { "address": "TX7k3...your wallet" }
}
201 Created
{
  "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

CodeMeaning
BELOW_MIN_PAYOUTThe requested amount is below the $30 minimum. The balance rolls over — try again later.
AMOUNT_BELOW_FEEThe processing fee would consume the whole amount. Request a larger amount.
INSUFFICIENT_BALANCEThe requested amount exceeds your unpaid commission balance.

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.

Next steps