Business KYC Requirements

This page is the field-level reference for every attestation that may appear on a business compliance review — both review-level attestations and the per-associated-person attestations uploaded against each UBO / control person. For the end-to-end flow (creating a review, uploading documents, creating associated persons, submitting, polling status) see the Business Compliance Review guide.

Each section below is one attestation. The header states whether the attestation is REQUIRED or CONDITIONALLY REQUIRED, the conditional sections lead with what triggers the requirement, and every section ends with a table describing each field — its JSON name, type, whether it is required or optional, and any input limits enforced by the API.

The requiredAttestations array on the review reflects the same rules described here. If the API response and this guide ever disagree, trust the API.

Tier overview

Business reviews use two tiers: us_standard (USD-only payouts, reduced documentation) and full (full KYB with UBO ownership and proof-of-address documents). The tiers share an identical core; full adds two additional review-level document attestations and one additional per-associated-person attestation.

Attestationus_standardfull
Review-level
businessIdentificationRequiredRequired
businessTaxInfoRequiredRequired
businessAddressRequiredRequired
businessContactInfoRequiredRequired
businessDetailsRequiredRequired
businessOperationsRequiredRequired
businessFinancialInfoRequiredRequired
businessFormationDocumentsRequiredRequired
businessAssociatedPersonsRequiredRequired
businessUboOwnershipDocumentsNot RequiredRequired
businessProofOfAddressDocumentsNot RequiredRequired
businessFlowOfFundsDocument (conditional)Conditionally RequiredConditionally Required
Per associated person
associatedPersonPersonalInfoRequiredRequired
associatedPersonContactInfoRequiredRequired
associatedPersonResidentialAddressRequiredRequired
associatedPersonTaxInfoRequiredRequired
associatedPersonIdentityDocumentRequiredRequired
associatedPersonProofOfAddressNot RequiredRequired

Review-level attestations

businessIdentification — REQUIRED

Legal identity of the business.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessIdentification".
businessNamestringYes1–500 characters. The legal name on file with the business's registration authority.
registrationNumberstringOptionalMax 100 characters. Business registration number.
dbaNamestringOptionalMax 500 characters. Doing-Business-As / trade name.

businessTaxInfo — REQUIRED

Business tax identification number and type.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessTaxInfo".
taxIdentificationNumberstringYesMax 100 characters. Validated against the country/type-specific format for the chosen taxIdentificationNumberType (e.g. EIN is XX-XXXXXXX).
taxIdentificationNumberTypeenumYesOne of the business-applicable BusinessTaxIdentificationNumberType values (e.g. EIN, CUIT, RFC, CNPJ, NIT).

businessAddress — REQUIRED

Registered (legal) address, with an optional separate operating address.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessAddress".
registeredAddressobjectYesSee Address object.
operatingAddressSameAsRegistrationbooleanYestrue or false. When false, operatingAddress becomes required.
operatingAddressobjectConditionalRequired when operatingAddressSameAsRegistration is false. See Address object.

businessContactInfo — REQUIRED

Business phone number and email.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessContactInfo".
phoneNumberstringYesE.164 format with country code (e.g. +12125551234).
emailstringYesValid email address. UTF-8 local parts are not accepted.

businessDetails — REQUIRED

Website, legal structure, incorporation date, industry, free-text description, and intended use of Mural.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessDetails".
businessWebsitestringYesValid, safe URL (HTTPS recommended). Internal-network / private-IP URLs are rejected.
legalStructureenumYesOne of the LegalStructure values (e.g. CORPORATION, LLC, SOLE_PROPRIETORSHIP, PARTNERSHIP, NON_PROFIT).
dateOfIncorporationstringYesYYYY-MM-DD. Must be a valid ISO date.
industryenumYesOne of the Industry values (e.g. INFORMATION_AND_SOFTWARE, FINANCIAL_SERVICES, MANUFACTURING).
businessDescriptionstringYes100–4000 characters. Must be at least 100 characters so reviewers can assess the nature of the business.
intendedMuralUsagestringYes1–4000 characters. A free-text description of how the business intends to use Mural (e.g. "Vendor and supplier payments to Colombia").

businessOperations — REQUIRED

Money-movement profile, geographic reach, and high-risk-activity flags.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessOperations".
transmittingCustomerFundsbooleanYestrue or false. When true, both customerFundsTransmissionDetails and the businessFlowOfFundsDocument attestation become required.
customerFundsTransmissionDetailsstringConditionalRequired when transmittingCustomerFunds is true. 11–4000 characters.
primaryTargetMarketenumYesOne of the PrimaryTargetMarket values (e.g. COMMERCIAL, CONSUMER, GOVERNMENT, OTHER).
primaryTargetMarketOtherDescriptionstringConditionalRequired when primaryTargetMarket is OTHER. 3–500 characters.
expectedCounterpartyCountriesarray of stringYes1–50 entries. Each entry is an ISO 3166-1 alpha-2 country code (e.g. ["CO", "MX"]).
highRiskBusinessActivitiesarray of enumYes0–12 entries from the HighRiskBusinessActivities enum. Submit an empty array [] to attest the business is engaged in none of the listed activities.

businessFinancialInfo — REQUIRED

Primary income source, annual revenue band, and estimated monthly transaction volume.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessFinancialInfo".
primaryIncomeSourceCategoryenumYesOne of the PrimaryIncomeSource values (e.g. BUSINESS_REVENUE, INVESTMENT_INCOME, DONATIONS).
primaryIncomeSourceDescriptionstringYes1–4000 characters. Free-text description of the primary income source.
annualRevenueenumYesOne of the AnnualRevenue ranges (e.g. UNDER_100K, BETWEEN_100K_AND_1M, BETWEEN_1M_AND_10M, OVER_10M).
estimatedMonthlyVolumenumberYesPositive integer USD value. Minimum 1, maximum 100,000,000,000 ($100B).

businessFormationDocuments — REQUIRED

One or more uploaded formation document references (e.g. articles of incorporation). Upload each file via the Generate Upload URL endpoint first and reference the returned documentId here.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessFormationDocuments".
formationDocumentsarray of objectYes1–10 entries. Each entry has documentType (FormationDocumentType enum — e.g. ARTICLES_OF_INCORPORATION, OPERATING_AGREEMENT, BYLAWS) and documentId (UUID returned by the upload endpoint).

businessUboOwnershipDocuments — REQUIRED (full only)

Required for the full tier only. Omit on us_standard.

One or more uploaded UBO ownership document references (e.g. shareholder registry, cap table).

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessUboOwnershipDocuments".
uboOwnershipDocumentsarray of objectYes1–10 entries. Each entry has documentType (UboOwnershipDocumentType enum — e.g. SHAREHOLDER_REGISTRY, CAP_TABLE) and documentId (UUID returned by the upload endpoint).

businessProofOfAddressDocuments — REQUIRED (full only)

Required for the full tier only. Omit on us_standard.

One or more uploaded business proof-of-address document references.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessProofOfAddressDocuments".
proofOfAddressDocumentsarray of objectYes1–10 entries. Each entry has documentType (BusinessProofOfAddressDocumentType enum — e.g. UTILITY_BILL, BANK_STATEMENT, LEASE_AGREEMENT) and documentId (UUID returned by the upload endpoint).

businessFlowOfFundsDocument — CONDITIONALLY REQUIRED

Required when businessOperations.transmittingCustomerFunds is true. Businesses that hold or transmit customer funds must attach a flow-of-funds document describing how money moves through the business. For all other businesses this attestation may be omitted.

A single uploaded flow-of-funds document reference.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessFlowOfFundsDocument".
documentobjectYesA single entry with documentType (FlowOfFundsDocumentType enum — e.g. FLOW_OF_FUNDS) and documentId (UUID returned by the upload endpoint).

businessAssociatedPersons — REQUIRED

Links the review to the organization's previously-created associated persons (UBOs and the control person). Each ID must reference an existing associated person for the organization, and at least one referenced person must have the CONTROL_PERSON relationship.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "businessAssociatedPersons".
associatedPersonIdsarray of stringYes1–50 entries. Each entry is the UUID of an associated person created via the Create Associated Person endpoint. Duplicate IDs are rejected.

Associated-person attestations

Uploaded against each associated person via the Upload Associated Person Attestations endpoint. Every associated person referenced from businessAssociatedPersons must have the full required set uploaded before the review can be submitted.

associatedPersonPersonalInfo — REQUIRED

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "associatedPersonPersonalInfo".
nameobjectYesSee Name object.
birthDatestringYesYYYY-MM-DD. Must be a valid ISO date and represent an adult (≥ 18 years).
nationalitystringYesISO 3166-1 alpha-2 country code (e.g. US).
isPoliticallyExposedbooleanOptionalWhen omitted, no PEP status is declared (treated as undisclosed, not false).
jobTitlestringYes2–200 characters. Job title or role within the business.
ownershipPercentagenumberYes0–100, up to 2 decimal places. A BENEFICIAL_OWNER must hold a positive percentage; a CONTROL_PERSON who isn't also a UBO submits 0.

associatedPersonContactInfo — REQUIRED

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "associatedPersonContactInfo".
emailstringYesValid email address. UTF-8 local parts are not accepted.
phoneNumberstringYesE.164 format with country code (e.g. +14155551234).

associatedPersonResidentialAddress — REQUIRED

The country supplied here drives whether associatedPersonProofOfAddress becomes required for this person on full.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "associatedPersonResidentialAddress".
addressobjectYesSee Address object.

associatedPersonTaxInfo — REQUIRED

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "associatedPersonTaxInfo".
taxIdentificationNumberstringYesMax 100 characters. Validated against the country/type-specific format for the chosen taxIdentificationNumberType.
taxIdentificationNumberTypeenumYesOne of the individual-applicable IndividualTaxIdentificationNumberType values (e.g. SSN, ITIN, CPF, CURP, RFC, CUIT, RUT).

associatedPersonIdentityDocument — REQUIRED

Government-issued identity document for the associated person. Same discriminated-union shape as the individual review — see Government ID object.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "associatedPersonIdentityDocument".
governmentIdobject (union)YesDiscriminated by inner type field. See Government ID object.

associatedPersonProofOfAddress — CONDITIONALLY REQUIRED

Required only on the full tier. On us_standard this attestation may be omitted for every associated person.

One or more uploaded proof-of-address document references for this associated person.

FieldTypeRequiredLimits & format
typestring (constant)YesMust equal "associatedPersonProofOfAddress".
proofOfAddressDocumentsarray of objectYes1–10 entries. Each entry has documentType (ProofOfAddressDocumentType enum — e.g. UTILITY_BILL, BANK_STATEMENT, GOVERNMENT_ISSUED_LETTER) and documentId (UUID returned by the upload endpoint).

Shared objects

Name object

Used wherever a name field appears (on associatedPersonPersonalInfo).

FieldTypeRequiredLimits & format
firstNamestringYes1–100 characters.
lastNamestringYes1–100 characters.
middleNamestringOptionalMax 100 characters.

Address object

Used wherever a registeredAddress, operatingAddress, or address field appears.

FieldTypeRequiredLimits & format
address1stringYes1–200 characters. Primary street address, including building number and street name.
address2stringOptionalMax 200 characters. Secondary line — apartment, suite, unit, floor, etc.
countrystringYesISO 3166-1 alpha-2 country code (e.g. US).
subDivisionstringYes1–100 characters. ISO 3166-2 subdivision code without the country prefix (e.g. NY for New York).
citystringYes1–100 characters.
postalCodestringYes1–20 characters.

Government ID object

The governmentId field on associatedPersonIdentityDocument is a discriminated union over 28 document variants. Every variant shares the same base shape; only the ID-number field and the document-reference field(s) differ per variant.

Common shape across every variant:

FieldTypeRequiredLimits & format
typestring (constant)YesThe variant discriminator (e.g. "passport", "driversLicense", "nationalId", "stateId", "passportCard", "visa", ...).
countryCodestringYesISO 3166-1 alpha-2 of the issuing authority (e.g. US).
<variant>Number (e.g. passportNumber)stringYes4–50 characters.
<variant>DocumentId or front/back document IDsUUID(s)YesEach is a documentId returned by the Generate Upload URL endpoint. Two-sided documents (driver's license, national ID, state ID, passport card, etc.) require distinct front and back IDs.

Single-sided variants (one documentId field): passport, internalPassport, travelDocument, citizenshipCertificate, panCard, nbiClearance.

Double-sided variants (front + back documentId fields): driversLicense, nationalId, stateId, passportCard, permanentResidenceCard, visa, residencePermit, voterId, healthInsuranceCard, workPermit, consularId, foreignId, myNumberCard, longTermPass, ofwId, postalId, sssId, umid, municipalId, tribalId, keypassId.

For the complete per-variant schema (exact field names, country examples, etc.) see the AssociatedPersonIdentityDocumentAttestation entry in the API reference.