Partner Onboarding & Wallets
Create a wallet entity, collect identity documents, submit an application, then open a wallet and issue a card.
The sequence is the same for persons and businesses. Business wallet entities also send a control person and beneficial owners.
Sequence
-
Wallet entity:
POST /v1/wallet-entitieswithtypePERSONorBUSINESS. The response includesidandverification. PollGET /v1/wallet-entities/{wallet_entity_id}untilverification.statusisVERIFIED. If the check needs files,verification.statusisIN_REVIEWorREJECTEDwithDOCUMENT_REQUIRED. -
Identity documents:
POST /v1/wallet-entities/{wallet_entity_id}/documentswith adocument_type. PUT the file bytes to the returnedupload_urlbeforeupload_url_expires_at.GET /v1/wallet-entities/{wallet_entity_id}/documents/{document_id}untilstatusisACCEPTED(orREJECTED, then upload a replacement). For a business, add owners withPOST /v1/wallet-entities/{wallet_entity_id}/beneficial-owners. -
Application:
POST /v1/applicationswithwallet_entity_id,product_id,requested_credit_limit,income, and consent flags. ReadGET /v1/applications/{application_id}forstatusandkyc. -
Application documents: When
statusisPENDING_DOCUMENTS,POST /v1/applications/{application_id}/documentsand PUT the file toupload_url, then poll the application untilstatusleavesPENDING_DOCUMENTS. -
Wallet: When the application is
APPROVED,decisionhascredit_limitandapr.POST /v1/walletswithwallet_entity_id,product_id,credit_limitfrom the decision, andapplication_id. Creating the wallet also creates its default financial account (kindCREDIT,purposeISSUING, in the program default currency); it appears infinancial_account_idsand emitsfinancial_account.created. -
Card:
POST /v1/cardswithwallet_idandform_factor(VIRTUALorPHYSICAL). Physical cards requireshipping. The card spends against the wallet’s credit and spend limits. Card responses includelast_fourand expiry, never PAN or CVV. Display PAN in a PCI iframe. See Secure card display.
Wallet entity → documents → application → documents → wallet → card
POST PUT POST PUT POST POST
Person versus business
| Step | Person | Business |
|---|---|---|
| Create wallet entity | first_name, last_name, date_of_birth, ssn_last4 or government_id |
legal_name, legal_type, tax_id, control_person |
| Extra people | Beneficial owners (create body or nested POST) | |
| Extra files | Government identity, proof of address | Articles, EIN letter, owner identity |
PATCH the wallet entity to correct PII. Send resubmit_for_verification: true so a new check runs on the updated data. PATCH an open application with status: WITHDRAWN to stop review, or send updated income / requested_credit_limit.
All of these operations are program-scoped: send X-Program-ID when the API key can access more than one program. Creating a wallet entity, application, document, or beneficial owner accepts an optional Idempotency-Key.