Skip to main content
POST

Authorizations

Authorization
string
header
required

The data.access_token value from Get access token.

x-api-key
string
header
required

API key issued by Kira.

Headers

X-Api-Version
string

Version applied to this request. It wins over your account's pinned version — see Versioning.

Example:

"2026-04-14"

Idempotency-Key
string<uuid>
required

A UUID you generate for this request. Send a fresh one per business you create.

Reusing a key with the same body returns the original result instead of creating a second business. Reusing it with a different body answers 409.

Example:

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

Body

application/json
type
enum<string>
required

Must be business. Individuals created before this endpoint stopped accepting them keep working, and still read as type: individual.

Available options:
business

The registered legal name of the business.

Minimum string length: 1
email
string<email>
required

The business's email address.

verification_mode
enum<string>

How this business gets verified.

See User values for what each value means.

Available options:
automatic,
verification_link
capabilities
object

Which banks this business plans to use. This records intent only — authorizing an account for a bank is separate, and lives in your account's configuration.

redirect_uri
string<uri>

Where the hosted verification form redirects after completion. Used only with verification_mode: verification_link.

language
enum<string>

The locale for the hosted verification form. It only matters when verification_mode is verification_link.

See User values for the accepted values.

Available options:
en,
es
business_type
string

The legal structure of the business.

See User values for the accepted values.

Accepted here, but not returned in the user object — do not expect to read it back.

business_trade_name
string

Trade name, if different from the legal name. Accepted here, but not returned in the user object — do not expect to read it back.

doing_business_as
string

The name the business trades under, when it is different from its legal name.

Accepted here, but not returned in the user object — do not expect to read it back.

business_description
string

Short description of what the business does. Accepted here, but not returned in the user object — do not expect to read it back.

business_industry
string[]

The industries the business works in, as NAICS subsector slugs — telecommunications, real_estate, construction_of_buildings.

See User values for the full list.

Accepted here, but not returned in the user object — do not expect to read it back.

business_website
string

Business website URL.

status
string
default:active

Ignored on create — new users always start as CREATED.

external_id
string

Your own reference ID for this user (stored as partnerUserId).

phone
string

Phone in E.164 format, e.g. +14155551234. Spaces and dashes are sanitized before validation.

formation_date
string

Date the entity was formed, YYYY-MM-DD.

Pattern: ^\d{4}-\d{2}-\d{2}$
formation_state
string

State or province of formation.

formation_country
string

Country of formation as ISO alpha-3.

Required string length: 3
registered_address
object

Registered (legal) business address.

physical_address
object

Physical operating address, if different from registered.

Accepted here, but not returned in the user object — do not expect to read it back.

address_street
string

Street address (≤ 70 chars). Flat (V2) address form.

Maximum string length: 70
address_street_2
string

Apartment, suite, or unit (≤ 70 chars).

Maximum string length: 70
address_city
string

City.

address_state
string

State or province (US state for USA users).

address_zip_code
string

ZIP or postal code.

address_country
string

Country as ISO alpha-3. With type, selects the user category; users in restricted countries are not VA-eligible.

representative_first_name
string

Authorized representative — given name.

representative_last_name
string

Authorized representative — family name.

representative_title
string

Representative job title.

representative_date_of_birth
string

Representative date of birth, YYYY-MM-DD. On update the field is named representative_birth_date.

Pattern: ^\d{4}-\d{2}-\d{2}$
representative_ssn
string

Representative SSN (US businesses).

ein
string

US business tax ID. May also be sent inside identifying_information as { "type": "ein", "number": "…" }.

cnpj
string

Brazilian business tax ID.

rfc
string

Mexican tax ID.

document_type
string

Primary government document type (e.g. passport, drivers_license).

document_number
string

Primary government document number.

document_country
string

Issuing country of the primary document, ISO alpha-3.

pep_status
boolean

Whether the user is a Politically Exposed Person.

tos_accepted_version
string

Terms-of-service version the user accepted. Kira stamps tos_accepted_at on receipt.

expected_monthly_payments
string

Free-form string. Prefer expected_monthly_volume + expected_transaction_count for bucketed values.

expected_monthly_volume
enum<string>

How much the business expects to move in a month.

See User values for the buckets.

Available options:
less_than_50000,
50000_to_100000,
100000_to_500000,
500000_to_1000000,
1000000_to_5000000,
5000000_to_10000000,
more_than_10000000
expected_transaction_count
enum<string>

How many payments the business expects to make in a month.

See User values for the buckets.

Available options:
less_than_10,
10_to_25,
26_to_50,
51_to_100,
101_to_500,
more_than_500
has_material_intermediary_ownership
boolean

Whether ownership flows through intermediary entities. Accepted here, but not returned in the user object — do not expect to read it back.

account_purpose
enum<string>

What the business will use the account for.

See User values for the accepted values.

Accepted here, but not returned in the user object — do not expect to read it back.

Available options:
charitable_donations,
ecommerce_retail_payments,
investment_purposes,
purchase_goods_and_services,
receive_payments_for_goods_and_services,
internal_treasury,
third_party_money_transmission,
operating_a_company
source_of_funds
enum<string>

Where the money the business moves comes from.

See User values for the accepted values.

Accepted here, but not returned in the user object — do not expect to read it back.

Available options:
business_loans,
inter_company_funds,
investment_proceeds,
owners_capital,
sales_of_goods_and_services,
tax_refund,
third_party_funds,
treasury_reserves,
company_funds,
investments_loans
high_risk_industries
enum<string>

A KYB attestation: whether the business operates in a high-risk industry.

Available options:
Yes,
No
is_nbfi_vasp
enum<string>

A KYB attestation: whether the business is a non-bank financial institution or virtual-asset service provider.

Available options:
Yes,
No

A KYB attestation: whether the business has relevant legal history.

Available options:
Yes,
No
transaction_countries
string[]

The countries this business expects to transact with, as ISO 3166-1 codes.

Some virtual-account routes need it. When it is absent the gap is reported in missing_fields — Kira never guesses a market you did not declare.

Minimum array length: 1
corporation_taxed_as
string

How a corporation is taxed (ACT route).

llc_taxed_as
string

How an LLC is taxed (ACT route).

international_entity_type
string

Free-text legal entity type for non-US businesses (e.g. Sociedad de Responsabilidad Limitada).

additional_info
object

Free-form string map. International users must include has_us_bank_account and has_denied_bank_account (Yes/No, case-sensitive; lowercase is not accepted by ACT provisioning).

identifying_information
object[]

Tax IDs and government documents. Each entry requires type and issuing_country.

documents
object[]

Legacy flat document array. Prefer identifying_information[].documents[].

associated_persons
object[]

The people behind the business — owners, people in control, and authorized signers. Kira matches them by email.

A business needs at least one owner holding 5% or more: one person with has_ownership: true and ownership_percentage of 5 or higher. Without that, verification does not start and associated_persons:beneficial_owner shows up in missing_fields. A business that is already verified is not re-blocked by this.

The three roles are independent, and one person can hold all of them.

metadata
object

Your key-value pairs. ≤ 50 keys; key 1–40 chars with no [ or ]; value ≤ 500 chars. Kira can additionally configure client-level default metadata for your account; defaults are merged in at create time (your keys win on conflict), so the stored and returned metadata may include keys you did not send.

kyc_id
string

Optional partner-supplied KYC session ID.

Response

The business was created. Verification has not necessarily started — read verification_triggered and missing_fields.

id
string

The id of the business you just created. Use it on every other call.

type
string

Always business.

email
string
status
string

Starts at CREATED. See User values.

verification_status
string

Starts at unverified. See User values.

created_at
string

ISO 8601.

updated_at
string

ISO 8601.

verification_mode
string

The mode this business was created with.

The hosted form to send the business to. Only in verification_link mode.

Until someone completes it, the other fields echo placeholders — nationality: "---", birth_date: "1900-01-01", an empty address. Read missing_fields, not those values.

metadata
object

The key-value pairs you sent.

formation_country
string

ISO alpha-3.

registered_address
object

A postal address.

verification_triggered
boolean

Whether verification started. It is false while any product still reports missing fields.

eligible_products
object[]

What the business can use, product by product. Every entry is eligible: false until verification passes.

missing_fields
object

The gaps that remain, grouped by product code, plus a general key holding every token once.

A product with nothing outstanding is left out of the map, so it can come back with only general, or empty.

identifying_information
object[] | null

The records you sent, with the stored files.

associated_persons
object[] | null

The people you sent. Fields Kira does not keep are dropped from the echo.

warnings
string[]

Non-fatal problems with the documents you sent. Absent when there are none.