Create a new user (individual or business) in the system.
Verification Modes:
Use verification_mode in the request body to choose how KYC/KYB is collected:
automatic(default) — Send a complete payload and Kira triggers KYC/KYB in the background.verification_link— Send a minimal payload and Kira returns a hosted link the end user follows to complete KYC/KYB. Onlyfirst_name,last_name,emailare required for individuals; onlybusiness_legal_name,emailfor businesses. An optionalredirect_uricontrols where the user lands after submission.
Automatic Verification flow:
- No additional API calls needed — verification starts as soon as required fields are present.
- Webhook notifications — you'll receive
user.verification.acceptedoruser.verification.failedevents. - The response includes a
verification_triggeredboolean indicating whether verification was actually started.
Eligibility model:
Kira evaluates the user against every active product and triggers verification as soon as at least one product has all of its required fields. Two virtual-account products are currently supported, each with different requirements:
usa-virtual-accounts(Diameter) — Powered by the Diameter provider (PORTAGE for USA, SLOVAK_SAVINGS_BANK for international). Requires Government ID images and uploaded supporting documents (proof of address, source of wealth, business formation).usa-virtual-accounts-act(ACT) — Lighter onboarding via Austin Capital Trust. No photo documents required at create time (they are uploaded separately). Requires extra immigration / employment / banking-history fields instead.
Required-field lists are evaluated per category, derived from the user's address_country (and nationality / formation_country as fallback): usa_individual, international_individual, usa_business, international_business.
Required Fields — usa-virtual-accounts (Diameter):
USA Individual (usa_individual):
- Identity:
first_name,last_name,birth_date,email,phone,nationality - Address:
address_street,address_city,address_state,address_zip_code,address_country - Government doc (flat):
document_type,document_number,document_country - Tax ID:
ssn(sent flat, or asidentifying_information[].type = "ssn") - Document files in
identifying_information[].documents[]:front,back(required unlessdocument_type = passport),file_proof_of_address,file_source_of_wealth
International Individual (international_individual):
- Same as USA Individual, except
ssnis not required. A non-USA tax ID may be supplied viaidentifying_information(curp,rfc,cpf,tin,tax_id, etc.) but is not enforced for KYC triggering.
USA Business (usa_business):
- Business identity:
business_legal_name,doing_business_as,business_type,business_industry - Formation:
formation_date - Contact:
email,phone - Address:
address_street,address_city,address_zip_code,address_country(note:address_stateis NOT required for businesses) - Government doc:
document_number - Tax ID:
ein - Business files in
identifying_information[].documents[]:file_proof_of_address,file_business_formation,file_source_of_wealth - At least one entry in
associated_persons[], each withidentifying_information[].documents[]containingfront(always) andback(unlessdocument_type = passport)
International Business (international_business):
- Same as USA Business, except
einis not required.
Required Fields — usa-virtual-accounts-act (ACT):
USA Individual (usa_individual):
first_name,last_name,birth_date,email,phone,nationalityaddress_street,address_city,address_state,address_zip_code,address_countrydocument_type,document_numberssnemployment_status, pluscurrent_employeronly whenemployment_status = employed
International Individual (international_individual):
first_name,last_name,birth_date,email,phone,nationalityaddress_street,address_city,address_state,address_zip_code,address_countrydocument_type,document_number,document_countryimmigration_statusadditional_info.has_us_bank_account,additional_info.has_denied_bank_accountemployment_status, pluscurrent_employerwhenemployment_status = employed
USA Business (usa_business):
business_legal_name,email,formation_date,formation_country,business_typeaddress_street,address_city,address_state,address_zip_code,address_countryeinassociated_persons[]with:first_name,last_name,birth_date,email,nationality,document_number, andssnunless the AP'snationalityis non-US
International Business (international_business):
business_legal_name,email,formation_date,formation_country,business_typeaddress_street,address_city,address_state,address_zip_code,address_countryassociated_persons[]with:first_name,last_name,birth_date,email,nationality,document_number,document_countryinternational_entity_typeadditional_info.has_us_bank_account,additional_info.has_denied_bank_account
Restricted Countries:
Users whose address_country is one of the following (ISO 3166-1 alpha-3) are blocked from virtual-account products: AFG, BLR, MMR, CAF, CIV, CUB, COD, IRN, IRQ, LBR, LBY, PRK, RUS, SAU, SOM, SDN, SYR, UKR, YEM, VEN, ZWE.
Authentication: Both x-api-key header and Authorization: Bearer <token> header are required.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
401Unauthorized - Invalid or missing authentication token
500Internal Server Error

