Standalone KYC - Have Banxa verify a customer in Banxa-hosted identity screens before any order, then take payment with Banxa Native.
Authentication: this endpoint uses your Hosted Checkout API key (x-api-key), not HMAC, and is served under /{partnerRef}/v2/. You need both your Native API HMAC credentials and a Hosted Checkout API key.
Flow:
- Create a session from your backend
- Show
redirectUrlto the customer in an iframe or webview, or redirect them - Receive the KYC webhook
- Check eligibility before creating a ramp
See Standalone KYC.
Start a Standalone KYC session: Banxa verifies the customer in Banxa-hosted identity screens before any order.
Uses your Hosted Checkout API key, not HMAC. This endpoint is served under /{partnerRef}/v2/, not /eapi/v0/. Send your Hosted Checkout API key in the x-api-key header. You need both sets of credentials: HMAC for the Native API, and the Hosted Checkout API key for this endpoint.
Requires Standalone KYC: until it's enabled for your account, this endpoint returns 403. Contact your Banxa integration manager to enable it.
Idempotent per customer: calling again for the same externalCustomerId while the link is valid returns the same redirectUrl and expiresAt. A changed tier or country still applies the next time the customer loads a screen.
The response doesn't include the verification result. Use the KYC webhook and eligibility.
Your identityReference for the customer. Use the same value you use in Native API calls. Longer values are rejected, not truncated.
The customer's country of residence, as a 2-letter ISO 3166-1 code. If omitted, the customer is asked for it.
The verification level to request. Banxa combines it with the customer's country to decide what to collect. express must be enabled for your account and country; otherwise the customer gets standard. See Standalone KYC.
- Mock serverhttps://docs.banxa.com/_mock/products/native-api/openapi/{partnerRef}/v2/kyc/sessions
- Production environment serverhttps://api.banxa.com/{partnerRef}/v2/kyc/sessions
- Sandbox environment serverhttps://api.banxa-sandbox.com/{partnerRef}/v2/kyc/sessions
curl -i -X POST \
https://docs.banxa.com/_mock/products/native-api/openapi/yourpartner/v2/kyc/sessions \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-d '{
"externalCustomerId": "partner-abc123",
"country": "AU",
"tier": "standard",
"returnUrl": "https://yourapp.com/kyc/done"
}'Session created, or the existing valid session returned.
{ "redirectUrl": "https://checkout.banxa.com/...", "expiresAt": "2026-08-21T08:10:00+00:00" }