Who calls what
Two things change the picture above. On a program that uses a client reference (users sign in
through your identity provider) Orenda sends no invite email — the user signs in through your
identity provider with the
clientReference you supplied. For a cardholder on a corporate
the onboarding is yours: you submit their KYC and order their card on the Management API; the
cardholder signs in, accepts the legal agreements in-app, and uses the card. Both are called out
in the steps below.Step 1 — Invite the user
Invite the customer with one call toPOST /v1/access-management/customer-invites. It creates the user
and their application, and Orenda emails the user a temporary password. The invite
body selects the funding model for the rest of the flow.
- Managed (prepaid)
- Default (IBAN)
- Cardholder on a corporate
Name the role and the funding
accountId — the program account the user draws
against:data.applicationId — the user’s application, and their customerId.
Service users are exempt from the step-up; an
operator must send a
confirmation (passkey or TOTP) or the call returns
422 SCA_MISSING. Which user details are required depends on the role — send what you
have, and a 400 names any field that’s missing. Full field reference:
Invite a customer.Step 2 — The user onboards (Customer API)
Everything from here until the card is the user acting with their own token on the Customer API. The user signs in with the temporary password from the invite email (changing it and setting up 2FA/passkey on first login), then moves through onboarding:- Accept legal agreements — fetch
GET /v1/applications/{applicationId}/documents/legal, then submitPOST /v1/applications/{applicationId}/documents/legal/accept - KYC — fetch the schema (
GET /v1/applications/{applicationId}/kyc/schema) and submit answers (POST /v1/applications/{applicationId}/kyc) - Identity verification (Sumsub) — get a token (
GET /v1/applications/{applicationId}/webtoken/sumsub) and run the SDK - Poll
GET /v1/applicationsuntil onboarding completes
You don’t need to poll yourself: your program receives a webhook when the
application is approved.
- Program that uses a client reference
- Cardholder on a corporate
There is no temporary password: the user signs in through your identity provider, and the
clientReference from the invite is their identity. The onboarding steps are the same,
driven by currentStep on GET /v1/applications.Step 3 — Order the card
Once approved, the application carries thecustomerId, and the user’s primary account is
created automatically (read its accountId). Order the card:
POST …/cards) — see
Card operations.
Cardholders on a corporate. For a user invited as an
EMPLOYEE, or under a role your
program defines (see
Invite a customer), there is no account of their
own: order the card on the corporate’s account and name the cardholder in the body —
{ "cardType": "VIRTUAL", "forCustomerId": "<cardholder customerId>" } — where the cardholder’s
customerId is the applicationId the invite returned, and the path is the corporate’s
customerId and one of the accountIds from the invite. The card is printed with the
cardholder’s name and attributed to them, so among cardholders only they see it, and they see
no other cardholder’s card. The cardholder must belong to the path corporate and the account must be one they
were granted, else 400. You can order it as soon as the invite returns — before their KYC is
complete. Whether the cardholder can also order a card themselves is set by the permissions on
their role.The NEW_CARD_ADDED webhook for that card carries the
corporate’s customerId and clientReference, not the cardholder’s — correlate the cardId
with your own order response to know whose card it is.Step 4 — Fund the card
- Managed (prepaid)
- Default (IBAN)
- Cardholder on a corporate
Load funds onto the card from the program master account:Use
"action": "UNLOAD" to pull funds back to the master account.Related
Invite a customer
Create the user and their application with one invite call.
Card operations
Issue, status, limits, Load/Unload.
User-side walkthrough
The Customer API steps in full.
Webhooks
Get notified when the application is approved.