---
title: "Create customer"
method: POST
path: "/participants/customers/new"
tags: ["Individual Participants"]
---

# Create customer

`POST /participants/customers/new`

Submits a customer to your platform.
This endpoint is only available to certain participants leveraging zerohash for customer settlements. Please contact us for more information on enabling this endpoint.

## Headers

- `X-SCX-SIGNED` string, required
- `X-SCX-TIMESTAMP` string, required

## Request body

- union
  - object — All accepted fields for an EU customer
    - `first_name` string, required — The first name of the customer being onboarded.
    - `middle_name` string — The middle name of the customer being onboarded.
    - `last_name` string, required — The last name of the customer being onboarded.
    - `email` string, required — Customer email address, required. Note: zerohash will validate that the email is a correctly formatted `email`, and that the value is unique per-platform
    - `phone_number` string, required — The phone number of the participant
    - `citizenship_code` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW', required — The ISO-3166-1 alpha2 citizenship of the participant, e.g. `US`.
    - `place_of_birth` object — The place of birth of the participant, as is defined on their ID (Passport, etc.). Required if; - `id_number_type=passport` - `id_number_type=us-passport` - `id_number_type=non-us-passport`
      - `country_code` string, required — ISO 3166-1 alpha-2 Country Code
      - `place_name` string — Name of the place of birth
    - `date_of_birth` string, required — Date of birth of the customer in the format `YYYY-MM-DD`
    - `address_one` string, required — First line for the customer's address. Notes: - The regular maximum length is 80 characters. - If the platform is on the vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
    - `address_two` string — Extra information, like an apartment or suite number. Notes: - The maximum length is `50` characters for platform using KYCaaS through zerohash. - If the platform is on the shared vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
    - `city` string, required — The city customer resides in.
    - `postal_code` string, required — Same as `zip`. Postal code of the customer, in the format "min 4 characters, no leading or trailing spaces".
    - `tax_id` string, required — The national ID of the participant, e.g. a social security number. - Required when `citizenship_code` is `US`. - Optional when `citizenship_code` is not `US`, but if provided, must be accompanied by a valid `id_number` and `id_number_type`. - If the tax ID provided is a US ITIN (a 9-digit US ID that begins with the number `9`), then `id_number_type` will be required.
    - `id_number_type` 'passport' | 'eu_drivers_license' | 'national_id' | 'us_passport' | 'non_us_passport' | 'non_us_other' | 'us_drivers_license' | 'us_id_card' | 'us_passport_card', required — Passport, EU Drivers License, National ID are EU-specific types. EU platforms also accept us_passport, non_us_passport, non_us_other, us_drivers_license, us_id_card, us_passport_card
    - `id_number` string, required — The ID number for the customer. - Required when `citizenship_code` is not `US` - Required when `citizenship_code : US` but `tax_id` is an ITIN (a 9-digit US ID that begins with the number `9`).
    - `id_issuing_date` string — ID Issuing Date of the customer in the format `YYYY-MM-DD`
    - `id_issuing_authority` string, required — ISO-3166-1_A2 country code that issued the ID. Required if `id_number` is provided.
    - `id_issuing_locality` string — The locality where the customer's ID was issued, as is defined on their ID (Passport, etc.) ISO 3166-1 alpha-2 Country Code format.
    - `id_expiration_date` string, required — ID Expiration Date of the customer in the format `YYYY-MM-DD`. Required if; - `id_number_type=passport` - `id_number_type=us-passport` - `id_number_type=non-us-passport`
    - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Services Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `sanction_screening_timestamp` number, required — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `jurisdiction_code` 'US-AL' | 'US-AK' | 'US-AZ' | 'US-AR' | 'US-CA' | 'US-CO' | 'US-CT' | 'US-DE' | 'US-FL' | 'US-GA' | 'US-HI' | 'US-ID' | 'US-IL' | 'US-IN' | 'US-IA' | 'US-KS' | 'US-KY' | 'US-LA' | 'US-ME' | 'US-MD' | 'US-MA' | 'US-MI' | 'US-MN' | 'US-MS' | 'US-MO' | 'US-MT' | 'US-NE' | 'US-NV' | 'US-NH' | 'US-NJ' | 'US-NM' | 'US-NY' | 'US-NC' | 'US-ND' | 'US-OH' | 'US-OK' | 'US-OR' | 'US-PA' | 'US-RI' | 'US-SC' | 'US-SD' | 'US-TN' | 'US-TX' | 'US-UT' | 'US-VT' | 'US-VA' | 'US-WA' | 'US-WV' | 'US-WI' | 'US-WY' | 'US-DC' | 'US-AS' | 'US-GU' | 'US-MP' | 'US-PR' | 'US-UM' | 'US-VI', required — The ISO 3166-2 subdivision code that the customer resides in. A full list of valid jurisdiction codes can be retrieved from the [`GET /jurisdictions/subdivisions` endpoint](https://docs.zerohash.com/reference/get_jurisdiction-subdivisions) passing a `country` parameter.
    - `kyc` 'pass' | 'fail', required — Whether the participant passed or failed KYC by vendor
    - `kyc_timestamp` number, required — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `sanction_screening` 'pass' | 'fail', required — Whether the participant passed sanctions checks (Platforms with X do not need to send `sanction_screening`)
    - `idv` 'pass' | 'fail', required — Whether the participant passed or failed ID verification
    - `liveness_check` 'pass' | 'fail', required — Whether the participant passed or failed a liveness check
    - `risk_rating` 'low' | 'medium' | 'high', required — The risk-rating associated with the customer, conditionally required for certain platforms
    - `employment_status` 'full_time' | 'part_time' | 'self_employed' | 'unemployed' | 'retired' | 'student', required — Employment status
    - `industry` 'adult_entertainment' | 'advertising_media_marketing' | 'agriculture' | 'arts_entertainment' | 'charity' | 'construction_manufacturing' | 'consulting' | 'consumer_products_services' | 'crypto_mining' | 'ecommerce' | 'education' | 'electronics' | 'fashion' | 'financial_services' | 'food_beverages' | 'government_agency' | 'insurance' | 'jewelry_gemstones' | 'law_enforcement' | 'legal_services' | 'mining_energy_chemicals' | 'online_gaming_gambling' | 'pharmaceuticals' | 'property_real_estate' | 'retail_wholesale' | 'transportation' | 'travel_car_hire' | 'weapons_defense_aerospace' | 'other', required — Employment industry
    - `source_of_funds` 'salary' | 'savings' | 'pension_retirement' | 'inheritance' | 'investment' | 'loan' | 'gift' | 'other', required — Source of funds
    - `salary` 'under_3500' | 'between_35001_and_75000' | 'between_75001_and_125000' | 'between_125001_and_200000' | 'over_200000' — Salary of the participant
    - `savings_and_investments` 'under_10000' | 'between_10001_and_25000' | 'between_25001_and_50000' | 'between_50001_and_100000' | 'between_100001_and_250000' | 'over_250000', required — Savings and investments of the participant.
    - `tx_equivalent_annual_volume` 'up_to_5k' | '5k_to_25k' | '25k_to_100k' | '100k_and_up' — The estimated total value of transactions the individual expects to process annually on the platform, in a specified currency (e.g., USD, EUR depends on region).
    - `tx_frequency_of_use` 'up_to_12' | '12_to_53' | '53_to_365' | '365_and_up' — How often the individual will use the platform's services.
    - `tx_type_of_service` string[] — The main service type the individual will use, like `buy_crypto` or `sell_crypto`, or both, or less, or more etc.
    - `tx_relationship_term_with_service` 'long_term' | 'short_term' | 'other' — The expected duration of the individual's platform use, e.g., `short_term` (<1 year) or `long_term` (>5 years).
    - `tx_relationship_term_with_service_other_explanation` string — Optional text to explain a non-standard relationship term (e.g., "few months for a project"). Used when `other` is provided in `tx_relationship_term_with_service`.
    - `signed_agreements` object[], required
      - `type` 'fund_auto_convert' | 'payment_services_terms' | 'account_link' | 'account_funding_payouts' | 'account_funding_general' | 'account_funding_pay' | 'crypto_payouts_service_terms' | 'staking' | 'trust_agreement' | 'zhllc_user_agreement_v1' | 'zhllc_privacy_policy_v1' | 'zhllc_regulatory_disclosures_v1' | 'auth_user_services_agreement_v1' | 'zhllc_payment_sender_terms_v1' | 'zhllc_third_party_disclosures_v1' | 'connect_privacy_policy_v1', required
      - `region` 'worldwide' | 'us' | 'brazil' | 'uk' | 'eu', required
      - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Fund Auto Convert Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `self_certification_timestamp` number, required — The UNIX timestamp (in milliseconds) when the participant completed self-certification for DAC8 compliance. Mandatory for participants that are based in Europe.
    - `tax_residence` object, required — Tax residence address for the customer
      - `address_one` string — First line of tax residence address
      - `address_two` string — Second line of tax residence address (optional)
      - `city` string — City of tax residence
      - `jurisdiction_code` string, required — Jurisdiction code in ISO-3166-2 format
      - `postal_code` string — Postal code of tax residence
    - `tin_jurisdiction_reason` 'working_abroad' | 'studying_abroad' | 'dual_residency' | 'business_abroad' | 'real_estate_abroad' | 'other' — Optional. Reason for the tax residence jurisdiction differing from the legal jurisdiction. Defaults to "unknown" if not provided.
    - `proof_of_address_coordinates` object — GPS coordinates of the proof of address. Accepts both Decimal Degrees (DD) and Degrees Minutes Seconds (DMS) formats.
      - `latitude` string, required — Latitude in DD format (e.g., "51.511164") or DMS format (e.g., "N 51d 30.000000m 40.190000")
      - `longitude` string, required — Longitude in DD format (e.g., "-0.083317") or DMS format (e.g., "W 0d 4.100000m 59.940000")
  - object — Platforms on the vendor reliance track can submit this reduced set of fields for US customers.
    - `first_name` string, required — The first name of the customer being onboarded.
    - `middle_name` string — The middle name of the customer being onboarded.
    - `last_name` string, required — The last name of the customer being onboarded.
    - `date_of_birth` string, required — Date of birth of the customer in the format `YYYY-MM-DD`
    - `email` string, required — Customer email address, required. Note: zerohash will validate that the email is a correctly formatted `email`, and that the value is unique per-platform
    - `phone_number` string — The phone number of the participant
    - `address_one` string, required — First line for the customer's address. Notes: - The regular maximum length is 80 characters. - If the platform is on the vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
    - `address_two` string — Extra information, like an apartment or suite number. Notes: - The maximum length is `50` characters for platform using KYCaaS through zerohash. - If the platform is on the shared vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
    - `city` string, required — The city customer resides in.
    - `zip` string, required — Zip code of the customer, required if `country` is `USA`, min 5 characters or `<5digits>-<4digits>`, no leading or trailing spaces", e.g. 77777 or 77777-7777.
    - `postal_code` string — Same as `zip`. Postal code of the customer, in the format "min 4 characters, no leading or trailing spaces".
    - `jurisdiction_code` 'US-AL' | 'US-AK' | 'US-AZ' | 'US-AR' | 'US-CA' | 'US-CO' | 'US-CT' | 'US-DE' | 'US-FL' | 'US-GA' | 'US-HI' | 'US-ID' | 'US-IL' | 'US-IN' | 'US-IA' | 'US-KS' | 'US-KY' | 'US-LA' | 'US-ME' | 'US-MD' | 'US-MA' | 'US-MI' | 'US-MN' | 'US-MS' | 'US-MO' | 'US-MT' | 'US-NE' | 'US-NV' | 'US-NH' | 'US-NJ' | 'US-NM' | 'US-NY' | 'US-NC' | 'US-ND' | 'US-OH' | 'US-OK' | 'US-OR' | 'US-PA' | 'US-RI' | 'US-SC' | 'US-SD' | 'US-TN' | 'US-TX' | 'US-UT' | 'US-VT' | 'US-VA' | 'US-WA' | 'US-WV' | 'US-WI' | 'US-WY' | 'US-DC' | 'US-AS' | 'US-GU' | 'US-MP' | 'US-PR' | 'US-UM' | 'US-VI', required — The ISO 3166-2 subdivision code that the customer resides in. A full list of valid jurisdiction codes can be retrieved from the [`GET /jurisdictions/subdivisions` endpoint](https://docs.zerohash.com/reference/get_jurisdiction-subdivisions) passing a `country` parameter.
    - `citizenship_code` 'US', required — Must be `US` for this schema
    - `tax_id` string, required — The national ID of the participant, e.g. a social security number. - Required when `citizenship_code` is `US`. - Optional when `citizenship_code` is not `US`, but if provided, must be accompanied by a valid `id_number` and `id_number_type`. - If the tax ID provided is a US ITIN (a 9-digit US ID that begins with the number `9`), then `id_number_type` will be required.
    - `kyc` 'pass' | 'fail', required — Whether the participant passed or failed KYC by vendor
    - `kyc_timestamp` number, required — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `onboarding_profile` 'kyc_track' | 'shopper' — Onboarding profile used to determine the participant's KYC track. Defaults to 'kyc_track' when omitted.
    - `sanction_screening` 'pass' | 'fail', required — Whether the participant passed sanctions checks (Platforms with X do not need to send `sanction_screening`)
    - `sanction_screening_timestamp` number, required — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `employment_status` 'full_time' | 'part_time' | 'self_employed' | 'unemployed' | 'retired' | 'student' — Employment status
    - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Services Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `signed_agreements` object[]
      - `type` 'fund_auto_convert' | 'payment_services_terms' | 'account_link' | 'account_funding_payouts' | 'account_funding_general' | 'account_funding_pay' | 'crypto_payouts_service_terms' | 'staking' | 'trust_agreement' | 'zhllc_user_agreement_v1' | 'zhllc_privacy_policy_v1' | 'zhllc_regulatory_disclosures_v1' | 'auth_user_services_agreement_v1' | 'zhllc_payment_sender_terms_v1' | 'zhllc_third_party_disclosures_v1' | 'connect_privacy_policy_v1', required
      - `region` 'worldwide' | 'us' | 'brazil' | 'uk' | 'eu', required
      - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Fund Auto Convert Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `metadata` union
      - object — Can be used to submit any additional unstructured metadata as JSON object
      - string — Can be used to submit any additional unstructured metadata as JSON string
    - `tax_residence` object — Tax residence address for the customer
      - `address_one` string — First line of tax residence address
      - `address_two` string — Second line of tax residence address (optional)
      - `city` string — City of tax residence
      - `jurisdiction_code` string, required — Jurisdiction code in ISO-3166-2 format
      - `postal_code` string — Postal code of tax residence
    - `tin_jurisdiction_reason` 'working_abroad' | 'studying_abroad' | 'dual_residency' | 'business_abroad' | 'real_estate_abroad' | 'other' — Optional. Reason for the tax residence jurisdiction differing from the legal jurisdiction. Defaults to "unknown" if not provided.
    - `is_w_form_certified` boolean, required — Indicates whether the participant is W-Form certified, required for customers onboarded to a US platform. - When `true`, user can be onboarded without restriction, so long as other mandatory fields are provided at time of onboarding. - When `false`, user is restricted and ineligible to transact on the platform.
    - `w_form_certification` number, required — Must be provided with `is_w_form_certified` boolean field to indicate the time at which the user certified their W-form. In the event the user transitions from an uncertified to a certified, the platform must provide a new `w_form_certification` and update `is_w_form_certified` from `false` to `true`.
    - `signature` string, required — This field is used to capture the customer's first and last name as used on the W-form.
    - `signature_timestamp` number, required — This field captures the timestamp at which the user signed their W-form, used in conjunction with the `signature` field.
    - `payee_exemption` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | 'NONE', required — Payee exemption field that captures enum values for any applicable payee exemption codes 1 - 13, or NONE if no exemption applies. Required for customers onboarded to a US platform.
    - `fatca_reporting_exemption` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | 'NONE', required — FATCA reporting exemption code (1-13 or NONE)
    - `is_not_subject_backup_withholding` boolean, required — Backup withholding attestation flag. Required for customers onboarded to a US platform. - If the participant confirms they are **not** subject to backup withholding, this field should be set to `true`. - If the participant **is** subject to backup withholding, this field should be set to `false`. This acts as a positive attestation that the participant confirms they are not subject to backup withholding.
    - `id_number_type` 'us_drivers_license' | 'us_passport' | 'us_passport_card'
  - object — Platforms on the vendor reliance track can submit this reduced set of fields for non-US customers. Additional identity verification documents are required for non-US citizens.
    - `first_name` string, required — The first name of the customer being onboarded.
    - `middle_name` string — The middle name of the customer being onboarded.
    - `last_name` string, required — The last name of the customer being onboarded.
    - `email` string, required — Customer email address, required. Note: zerohash will validate that the email is a correctly formatted `email`, and that the value is unique per-platform
    - `phone_number` string — The phone number of the participant
    - `address_one` string, required — First line for the customer's address. Notes: - The regular maximum length is 80 characters. - If the platform is on the vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
    - `date_of_birth` string, required — Date of birth of the customer in the format `YYYY-MM-DD`
    - `address_two` string — Extra information, like an apartment or suite number. Notes: - The maximum length is `50` characters for platform using KYCaaS through zerohash. - If the platform is on the shared vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
    - `city` string, required — The city customer resides in.
    - `zip` string, required — Zip code of the customer, required if `country` is `USA`, min 5 characters or `<5digits>-<4digits>`, no leading or trailing spaces", e.g. 77777 or 77777-7777.
    - `postal_code` string — Same as `zip`. Postal code of the customer, in the format "min 4 characters, no leading or trailing spaces".
    - `jurisdiction_code` 'US-AL' | 'US-AK' | 'US-AZ' | 'US-AR' | 'US-CA' | 'US-CO' | 'US-CT' | 'US-DE' | 'US-FL' | 'US-GA' | 'US-HI' | 'US-ID' | 'US-IL' | 'US-IN' | 'US-IA' | 'US-KS' | 'US-KY' | 'US-LA' | 'US-ME' | 'US-MD' | 'US-MA' | 'US-MI' | 'US-MN' | 'US-MS' | 'US-MO' | 'US-MT' | 'US-NE' | 'US-NV' | 'US-NH' | 'US-NJ' | 'US-NM' | 'US-NY' | 'US-NC' | 'US-ND' | 'US-OH' | 'US-OK' | 'US-OR' | 'US-PA' | 'US-RI' | 'US-SC' | 'US-SD' | 'US-TN' | 'US-TX' | 'US-UT' | 'US-VT' | 'US-VA' | 'US-WA' | 'US-WV' | 'US-WI' | 'US-WY' | 'US-DC' | 'US-AS' | 'US-GU' | 'US-MP' | 'US-PR' | 'US-UM' | 'US-VI', required — The ISO 3166-2 subdivision code that the customer resides in. A full list of valid jurisdiction codes can be retrieved from the [`GET /jurisdictions/subdivisions` endpoint](https://docs.zerohash.com/reference/get_jurisdiction-subdivisions) passing a `country` parameter.
    - `citizenship_code` 'IE' | 'GB' | 'FR' | 'DE' | 'ES' | 'IT' | 'NL' | 'BE' | 'LU' | 'AT' | 'PT' | 'SE' | 'NO' | 'DK' | 'FI' | 'CH' | 'PL' | 'CZ' | 'SK' | 'HU' | 'GR' | 'RO' | 'BG' | 'HR' | 'SI' | 'EE' | 'LV' | 'LT' | 'MT' | 'CY', required — ISO 3166-1 alpha-2 Country Code format. Must **not** be `US` for this schema
    - `id_number_type` 'non_us_passport' | 'non_us_other' | 'us_permanent_resident_card' | 'us_border_crossing_card' | 'us_alien_card' | 'us_id_card', required — Passport and Non-US Other values are only valid for non-US citizens
    - `id_number` string, required — The ID number for the customer. - Required when `citizenship_code` is not `US` - Required when `citizenship_code : US` but `tax_id` is an ITIN (a 9-digit US ID that begins with the number `9`).
    - `id_issuing_authority` string, required — ISO-3166-1_A2 country code that issued the ID. Required if `id_number` is provided.
    - `id_issuing_locality` string — The locality where the customer's ID was issued, as is defined on their ID (Passport, etc.) ISO 3166-1 alpha-2 Country Code format.
    - `id_issuing_date` string — ID Issuing Date of the customer in the format `YYYY-MM-DD`
    - `id_expiration_date` string — ID Expiration Date of the customer in the format `YYYY-MM-DD`. Required if; - `id_number_type=passport` - `id_number_type=us-passport` - `id_number_type=non-us-passport`
    - `non_us_other_type` string — This is required if you select `non_us_other` for the `id_number_type` - a freeform string to describe the ID type
    - `kyc` 'pass' | 'fail', required — Whether the participant passed or failed KYC by vendor
    - `kyc_timestamp` number, required — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `sanction_screening` 'pass' | 'fail', required — Whether the participant passed sanctions checks (Platforms with X do not need to send `sanction_screening`)
    - `sanction_screening_timestamp` number, required — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Services Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `signed_agreements` object[]
      - `type` 'fund_auto_convert' | 'payment_services_terms' | 'account_link' | 'account_funding_payouts' | 'account_funding_general' | 'account_funding_pay' | 'crypto_payouts_service_terms' | 'staking' | 'trust_agreement' | 'zhllc_user_agreement_v1' | 'zhllc_privacy_policy_v1' | 'zhllc_regulatory_disclosures_v1' | 'auth_user_services_agreement_v1' | 'zhllc_payment_sender_terms_v1' | 'zhllc_third_party_disclosures_v1' | 'connect_privacy_policy_v1', required
      - `region` 'worldwide' | 'us' | 'brazil' | 'uk' | 'eu', required
      - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Fund Auto Convert Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `b_notice_receipt` boolean, required — Indicates whether a user has been flagged in an IRS B-Notice as not having up-to-date tax information on file. Required for customers onboarded to a US platform.
    - `is_w_form_certified` boolean, required — Indicates whether the participant is W-Form certified, required for customers onboarded to a US platform. - When `true`, user can be onboarded without restriction, so long as other mandatory fields are provided at time of onboarding. - When `false`, user is restricted and ineligible to transact on the platform.
    - `w_form_certification` number, required — Must be provided with `is_w_form_certified` boolean field to indicate the time at which the user certified their W-form. In the event the user transitions from an uncertified to a certified, the platform must provide a new `w_form_certification` and update `is_w_form_certified` from `false` to `true`.
    - `w8_ben` object — Wrapper sub-object holding W-8BEN tax certification data for a foreign (non-US) individual customer. Optional at the wrapper level.
      - `ftin` string — Foreign tax identification number issued by the participant's country of tax residence. Required unless `ftin_required = false`.
      - `ftin_required` boolean — Whether the participant's country legally issues an FTIN. Required whenever the sub-object is present.
      - `reference_numbers` string — Optional free-text reference numbers for the platform to connect the tax form to a specific account or financial record.
      - `treaty_claim` object — Treaty benefits claim block. Optional.
        - `is_eligible` boolean — Whether the participant is claiming reduced US withholding under a tax treaty. If `false` or omitted, the rest of the treaty block is ignored and no W-8 form is generated.
        - `country` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — Participant's country of tax residence whose treaty with the US is being invoked (ISO 3166-1 alpha-2). Required when `is_eligible = true`.
        - `residence_certification` boolean — Participant's on-form attestation that they are a tax resident of `country`. Must be `true` to claim treaty benefits. Required when `is_eligible = true`.
        - `income_type` 'royalties_other' | 'business_profits' — Category of US-source income the claim applies to: `business_profits` covers trading gains and similar active income; `royalties_other` covers royalties and other passive income. Required when `is_eligible = true`. Accepted string tokens listed in enum; legacy numeric values still accepted for backward compatibility.
        - `withholding_rate` string — Reduced rate granted by the treaty article, as a string percentage (e.g. "0", "10", "15"). Required when `is_eligible = true`.
        - `article_paragraph` string — Treaty article and paragraph authorizing the rate (e.g. "Article 12, paragraph 1"). Free text but should match the actual treaty section. Required when `is_eligible = true`.
        - `additional_conditions` boolean — Whether the participant asserts that extra conditions in the treaty article are met. Send `true` only if the participant has affirmatively confirmed. Required when `is_eligible = true`.
    - `signature` string, required — This field is used to capture the customer's first and last name as used on the W-form.
    - `signature_timestamp` number, required — This field captures the timestamp at which the user signed their W-form, used in conjunction with the `signature` field.
  - object — Fields for a new customer for the Partially Onboarded Participant model.
    - `partial` boolean — Mandatory flag for the partially onboarded participant, must be set to "true".
    - `first_name` string, required — The first name of the customer being onboarded.
    - `last_name` string, required — The last name of the customer being onboarded.
    - `date_of_birth` string, required — Date of birth of the customer in the format `YYYY-MM-DD`
    - `email` string, required — Customer email address, required. Note: zerohash will validate that the email is a correctly formatted `email`, and that the value is unique per-platform
    - `address_one` string, required — First line for the customer's address. Notes: - The regular maximum length is 80 characters. - If the platform is on the vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
    - `city` string, required — The city customer resides in.
    - `postal_code` string, required — Same as `zip`. Postal code of the customer, in the format "min 4 characters, no leading or trailing spaces".
    - `jurisdiction_code` 'US-AL' | 'US-AK' | 'US-AZ' | 'US-AR' | 'US-CA' | 'US-CO' | 'US-CT' | 'US-DE' | 'US-FL' | 'US-GA' | 'US-HI' | 'US-ID' | 'US-IL' | 'US-IN' | 'US-IA' | 'US-KS' | 'US-KY' | 'US-LA' | 'US-ME' | 'US-MD' | 'US-MA' | 'US-MI' | 'US-MN' | 'US-MS' | 'US-MO' | 'US-MT' | 'US-NE' | 'US-NV' | 'US-NH' | 'US-NJ' | 'US-NM' | 'US-NY' | 'US-NC' | 'US-ND' | 'US-OH' | 'US-OK' | 'US-OR' | 'US-PA' | 'US-RI' | 'US-SC' | 'US-SD' | 'US-TN' | 'US-TX' | 'US-UT' | 'US-VT' | 'US-VA' | 'US-WA' | 'US-WV' | 'US-WI' | 'US-WY' | 'US-DC' | 'US-AS' | 'US-GU' | 'US-MP' | 'US-PR' | 'US-UM' | 'US-VI', required — The ISO 3166-2 subdivision code that the customer resides in. A full list of valid jurisdiction codes can be retrieved from the [`GET /jurisdictions/subdivisions` endpoint](https://docs.zerohash.com/reference/get_jurisdiction-subdivisions) passing a `country` parameter.
    - `citizenship_code` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW', required — The ISO-3166-1 alpha2 citizenship of the participant, e.g. `US`.
    - `sanction_screening` 'pass' | 'fail', required — Whether the participant passed sanctions checks (Platforms with X do not need to send `sanction_screening`)
    - `sanction_screening_timestamp` number, required — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `kyc` 'pass' | 'fail', required — Whether the participant passed or failed KYC by vendor
    - `kyc_timestamp` number, required — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `liveness_check` 'pass' | 'fail', required — Whether the participant passed or failed a liveness check
    - `tax_id` string, required — The national ID of the participant, e.g. a social security number. - Required when `citizenship_code` is `US`. - Optional when `citizenship_code` is not `US`, but if provided, must be accompanied by a valid `id_number` and `id_number_type`. - If the tax ID provided is a US ITIN (a 9-digit US ID that begins with the number `9`), then `id_number_type` will be required.
    - `signed_agreements` object[], required
      - `type` 'fund_auto_convert' | 'payment_services_terms' | 'account_link' | 'account_funding_payouts' | 'account_funding_general' | 'account_funding_pay' | 'crypto_payouts_service_terms' | 'staking' | 'trust_agreement' | 'zhllc_user_agreement_v1' | 'zhllc_privacy_policy_v1' | 'zhllc_regulatory_disclosures_v1' | 'auth_user_services_agreement_v1' | 'zhllc_payment_sender_terms_v1' | 'zhllc_third_party_disclosures_v1' | 'connect_privacy_policy_v1', required
      - `region` 'worldwide' | 'us' | 'brazil' | 'uk' | 'eu', required
      - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Fund Auto Convert Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `idv` 'pass' | 'fail', required — Whether the participant passed or failed ID verification
    - `b_notice_receipt` boolean, required — Indicates whether a user has been flagged in an IRS B-Notice as not having up-to-date tax information on file. Required for customers onboarded to a US platform.
    - `is_w_form_certified` boolean, required — Indicates whether the participant is W-Form certified, required for customers onboarded to a US platform. - When `true`, user can be onboarded without restriction, so long as other mandatory fields are provided at time of onboarding. - When `false`, user is restricted and ineligible to transact on the platform.
    - `w_form_certification` number, required — Must be provided with `is_w_form_certified` boolean field to indicate the time at which the user certified their W-form. In the event the user transitions from an uncertified to a certified, the platform must provide a new `w_form_certification` and update `is_w_form_certified` from `false` to `true`.
    - `signature` string, required — This field is used to capture the customer's first and last name as used on the W-form.
    - `signature_timestamp` number, required — This field captures the timestamp at which the user signed their W-form, used in conjunction with the `signature` field.
    - `payee_exemption` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | 'NONE', required — Payee exemption field that captures enum values for any applicable payee exemption codes 1 - 13, or NONE if no exemption applies. Required for customers onboarded to a US platform.
    - `fatca_reporting_exemption` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | 'NONE', required — FATCA reporting exemption code (1-13 or NONE)
    - `is_not_subject_backup_withholding` boolean, required — Backup withholding attestation flag. Required for customers onboarded to a US platform. - If the participant confirms they are **not** subject to backup withholding, this field should be set to `true`. - If the participant **is** subject to backup withholding, this field should be set to `false`. This acts as a positive attestation that the participant confirms they are not subject to backup withholding.
  - object — All accepted fields for the zerohash individual customer object.
    - `first_name` string, required — The first name of the customer being onboarded.
    - `middle_name` string — The middle name of the customer being onboarded.
    - `last_name` string, required — The last name of the customer being onboarded.
    - `former_name` string — The former name of the customer being onboarded.
    - `email` string, required — Customer email address, required. Note: zerohash will validate that the email is a correctly formatted `email`, and that the value is unique per-platform
    - `address_one` string, required — First line for the customer's address. Notes: - The regular maximum length is 80 characters. - If the platform is on the vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
    - `address_two` string — Extra information, like an apartment or suite number. Notes: - The maximum length is `50` characters for platform using KYCaaS through zerohash. - If the platform is on the shared vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
    - `city` string, required — The city customer resides in.
    - `zip` string — Zip code of the customer, required if `country` is `USA`, min 5 characters or `<5digits>-<4digits>`, no leading or trailing spaces", e.g. 77777 or 77777-7777.
    - `postal_code` string — Same as `zip`. Postal code of the customer, in the format "min 4 characters, no leading or trailing spaces".
    - `jurisdiction_code` 'US-AL' | 'US-AK' | 'US-AZ' | 'US-AR' | 'US-CA' | 'US-CO' | 'US-CT' | 'US-DE' | 'US-FL' | 'US-GA' | 'US-HI' | 'US-ID' | 'US-IL' | 'US-IN' | 'US-IA' | 'US-KS' | 'US-KY' | 'US-LA' | 'US-ME' | 'US-MD' | 'US-MA' | 'US-MI' | 'US-MN' | 'US-MS' | 'US-MO' | 'US-MT' | 'US-NE' | 'US-NV' | 'US-NH' | 'US-NJ' | 'US-NM' | 'US-NY' | 'US-NC' | 'US-ND' | 'US-OH' | 'US-OK' | 'US-OR' | 'US-PA' | 'US-RI' | 'US-SC' | 'US-SD' | 'US-TN' | 'US-TX' | 'US-UT' | 'US-VT' | 'US-VA' | 'US-WA' | 'US-WV' | 'US-WI' | 'US-WY' | 'US-DC' | 'US-AS' | 'US-GU' | 'US-MP' | 'US-PR' | 'US-UM' | 'US-VI', required — The ISO 3166-2 subdivision code that the customer resides in. A full list of valid jurisdiction codes can be retrieved from the [`GET /jurisdictions/subdivisions` endpoint](https://docs.zerohash.com/reference/get_jurisdiction-subdivisions) passing a `country` parameter.
    - `phone_number` string — The phone number of the participant
    - `date_of_birth` string, required — Date of birth of the customer in the format `YYYY-MM-DD`
    - `id_number_type` 'us_drivers_license' | 'us_passport' | 'us_passport_card' | 'us_permanent_resident_card' | 'us_border_crossing_card' | 'us_alien_card' | 'us_id_card' | 'non_us_passport' | 'non_us_other' | 'passport' | 'eu_drivers_license' | 'national_id' — ### Region-specific guidelines ### Platforms integrated to zerohash USA; - Required when `citizenship_code` is not `US`. - Required when `citizenship_code=US` but `tax_id` is an ITIN (a 9-digit US ID that begins with the number `9`). --- ### Platforms integrated to zerohash EU; The following enums are EU-specific types: - `passport` - `eu_drivers_license` - `national_id` EU platforms can also accept: - `us_passport` - `non_us_passport` - `non_us_other` - `us_drivers_license` - `us_id_card` - `us_passport_card`
    - `id_number` string — The ID number for the customer. - Required when `citizenship_code` is not `US` - Required when `citizenship_code : US` but `tax_id` is an ITIN (a 9-digit US ID that begins with the number `9`).
    - `citizenship_code` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW', required — The ISO-3166-1 alpha2 citizenship of the participant, e.g. `US`.
    - `country` 'AND' | 'ARE' | 'AFG' | 'ATG' | 'AIA' | 'ALB' | 'ARM' | 'AGO' | 'ATA' | 'ARG' | 'ASM' | 'AUT' | 'AUS' | 'ABW' | 'ALA' | 'AZE' | 'BIH' | 'BRB' | 'BGD' | 'BEL' | 'BFA' | 'BGR' | 'BHR' | 'BDI' | 'BEN' | 'BLM' | 'BMU' | 'BRN' | 'BOL' | 'BES' | 'BRA' | 'BHS' | 'BTN' | 'BVT' | 'BWA' | 'BLR' | 'BLZ' | 'CAN' | 'CCK' | 'COD' | 'CAF' | 'COG' | 'CHE' | 'CIV' | 'COK' | 'CHL' | 'CMR' | 'CHN' | 'COL' | 'CRI' | 'CUB' | 'CPV' | 'CUW' | 'CXR' | 'CYP' | 'CZE' | 'DEU' | 'DJI' | 'DNK' | 'DMA' | 'DOM' | 'DZA' | 'ECU' | 'EST' | 'EGY' | 'ESH' | 'ERI' | 'ESP' | 'ETH' | 'FIN' | 'FJI' | 'FLK' | 'FSM' | 'FRO' | 'FRA' | 'GAB' | 'GBR' | 'GRD' | 'GEO' | 'GUF' | 'GGY' | 'GHA' | 'GIB' | 'GRL' | 'GMB' | 'GIN' | 'GLP' | 'GNQ' | 'GRC' | 'SGS' | 'GTM' | 'GUM' | 'GNB' | 'GUY' | 'HKG' | 'HMD' | 'HND' | 'HRV' | 'HTI' | 'HUN' | 'IDN' | 'IRL' | 'ISR' | 'IMN' | 'IND' | 'IOT' | 'IRQ' | 'IRN' | 'ISL' | 'ITA' | 'JEY' | 'JAM' | 'JOR' | 'JPN' | 'KEN' | 'KGZ' | 'KHM' | 'KIR' | 'COM' | 'KNA' | 'PRK' | 'KOR' | 'KWT' | 'CYM' | 'KAZ' | 'LAO' | 'LBN' | 'LCA' | 'LIE' | 'LKA' | 'LBR' | 'LSO' | 'LTU' | 'LUX' | 'LVA' | 'LBY' | 'MAR' | 'MCO' | 'MDA' | 'MNE' | 'MAF' | 'MDG' | 'MHL' | 'MKD' | 'MLI' | 'MMR' | 'MNG' | 'MAC' | 'MNP' | 'MTQ' | 'MRT' | 'MSR' | 'MLT' | 'MUS' | 'MDV' | 'MWI' | 'MEX' | 'MYS' | 'MOZ' | 'NAM' | 'NCL' | 'NER' | 'NFK' | 'NGA' | 'NIC' | 'NLD' | 'NOR' | 'NPL' | 'NRU' | 'NIU' | 'NZL' | 'OMN' | 'PAN' | 'PER' | 'PYF' | 'PNG' | 'PHL' | 'PAK' | 'POL' | 'SPM' | 'PCN' | 'PRI' | 'PSE' | 'PRT' | 'PLW' | 'PRY' | 'QAT' | 'REU' | 'ROU' | 'SRB' | 'RUS' | 'RWA' | 'SAU' | 'SLB' | 'SYC' | 'SDN' | 'SWE' | 'SGP' | 'SHN' | 'SVN' | 'SJM' | 'SVK' | 'SLE' | 'SMR' | 'SEN' | 'SOM' | 'SUR' | 'SSD' | 'STP' | 'SLV' | 'SXM' | 'SYR' | 'SWZ' | 'TCA' | 'TCD' | 'ATF' | 'TGO' | 'THA' | 'TJK' | 'TKL' | 'TLS' | 'TKM' | 'TUN' | 'TON' | 'TUR' | 'TTO' | 'TUV' | 'TWN' | 'TZA' | 'UKR' | 'UGA' | 'UMI' | 'USA' | 'URY' | 'UZB' | 'VAT' | 'VCT' | 'VEN' | 'VGB' | 'VIR' | 'VNM' | 'VUT' | 'WLF' | 'WSM' | 'YEM' | 'MYT' | 'ZAF' | 'ZMB' | 'ZWE' — The ISO-3166-1 alpha3 country, e.g.`USA`, `IRL`.
    - `tax_id` string — The national ID of the participant, e.g. a social security number. - Required when `citizenship_code` is `US`. - Optional when `citizenship_code` is not `US`, but if provided, must be accompanied by a valid `id_number` and `id_number_type`. - If the tax ID provided is a US ITIN (a 9-digit US ID that begins with the number `9`), then `id_number_type` will be required.
    - `non_us_other_type` string — This is required if you select `non_us_other` for the `id_number_type` - a freeform string to describe the ID type
    - `id_issuing_authority` string — ISO-3166-1_A2 country code that issued the ID. Required if `id_number` is provided.
    - `risk_rating` 'low' | 'medium' | 'high' — The risk-rating associated with the customer, conditionally required for certain platforms
    - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Services Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `metadata` union
      - object — Can be used to submit any additional unstructured metadata as JSON object
      - string — Can be used to submit any additional unstructured metadata as JSON string
    - `kyc` 'pass' | 'fail', required — Whether the participant passed or failed KYC by vendor
    - `kyc_timestamp` number, required — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `onboarding_profile` 'kyc_track' | 'shopper' — Onboarding profile used to determine the participant's KYC track. Defaults to 'kyc_track' when omitted.
    - `onboarded_location` string — The location of a participant during onboarding, ISO 3166-2 standard
    - `sanction_screening` 'pass' | 'fail', required — Whether the participant passed sanctions checks (Platforms with X do not need to send `sanction_screening`)
    - `sanction_screening_timestamp` number, required — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `idv` 'pass' | 'fail' — Whether the participant passed or failed ID verification
    - `liveness_check` 'pass' | 'fail' — Whether the participant passed or failed a liveness check
    - `employment_status` 'full_time' | 'part_time' | 'self_employed' | 'unemployed' | 'retired' | 'student' — Employment status
    - `industry` 'adult_entertainment' | 'advertising_media_marketing' | 'agriculture' | 'arts_entertainment' | 'charity' | 'construction_manufacturing' | 'consulting' | 'consumer_products_services' | 'crypto_mining' | 'ecommerce' | 'education' | 'electronics' | 'fashion' | 'financial_services' | 'food_beverages' | 'government_agency' | 'insurance' | 'jewelry_gemstones' | 'law_enforcement' | 'legal_services' | 'mining_energy_chemicals' | 'online_gaming_gambling' | 'pharmaceuticals' | 'property_real_estate' | 'retail_wholesale' | 'transportation' | 'travel_car_hire' | 'weapons_defense_aerospace' | 'other' — Employment industry
    - `source_of_funds` 'salary' | 'savings' | 'pension_retirement' | 'inheritance' | 'investment' | 'loan' | 'gift' | 'other' — Source of funds
    - `signed_agreements` object[]
      - `type` 'fund_auto_convert' | 'payment_services_terms' | 'account_link' | 'account_funding_payouts' | 'account_funding_general' | 'account_funding_pay' | 'crypto_payouts_service_terms' | 'staking' | 'trust_agreement' | 'zhllc_user_agreement_v1' | 'zhllc_privacy_policy_v1' | 'zhllc_regulatory_disclosures_v1' | 'auth_user_services_agreement_v1' | 'zhllc_payment_sender_terms_v1' | 'zhllc_third_party_disclosures_v1' | 'connect_privacy_policy_v1', required
      - `region` 'worldwide' | 'us' | 'brazil' | 'uk' | 'eu', required
      - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Fund Auto Convert Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
    - `salary` 'under_3500' | 'between_35001_and_75000' | 'between_75001_and_125000' | 'between_125001_and_200000' | 'over_200000' — Salary of the participant
    - `savings_and_investments` 'under_10000' | 'between_10001_and_25000' | 'between_25001_and_50000' | 'between_50001_and_100000' | 'between_100001_and_250000' | 'over_250000' — Savings and investments of the participant.
    - `investor_category` 'restricted' | 'high_net_worth_individual' | 'certified_sophisticated_investor' — Investor category of the participant
    - `distribution_channel` string — Distribution channel of the participant
    - `ip_address` string — The IP address of the participant
    - `place_of_birth` object — The place of birth of the participant, as is defined on their ID (Passport, etc.). Required if; - `id_number_type=passport` - `id_number_type=us-passport` - `id_number_type=non-us-passport`
      - `country_code` string, required — ISO 3166-1 alpha-2 Country Code
      - `place_name` string — Name of the place of birth
    - `id_expiration_date` string — ID Expiration Date of the customer in the format `YYYY-MM-DD`. Required if; - `id_number_type=passport` - `id_number_type=us-passport` - `id_number_type=non-us-passport`
    - `id_issuing_date` string — ID Issuing Date of the customer in the format `YYYY-MM-DD`
    - `id_issuing_locality` string — The locality where the customer's ID was issued, as is defined on their ID (Passport, etc.) ISO 3166-1 alpha-2 Country Code format.
    - `tx_equivalent_annual_volume` 'up_to_5k' | '5k_to_25k' | '25k_to_100k' | '100k_and_up' — The estimated total value of transactions the individual expects to process annually on the platform, in a specified currency (e.g., USD, EUR depends on region).
    - `tx_frequency_of_use` 'up_to_12' | '12_to_53' | '53_to_365' | '365_and_up' — How often the individual will use the platform's services.
    - `gross_annual_income_amount` 'up_to_5k' | '5k_to_25k' | '25k_to_100k' | '100k_and_up' — The individual's total pre-tax income from all sources annually, in a currency (e.g., USD, EUR depends on region).
    - `tx_type_of_service` string[] — The main service type the individual will use, like `buy_crypto` or `sell_crypto`, or both, or less, or more etc.
    - `tx_relationship_term_with_service` 'long_term' | 'short_term' | 'other' — The expected duration of the individual's platform use, e.g., `short_term` (<1 year) or `long_term` (>5 years).
    - `tx_relationship_term_with_service_other_explanation` string — Optional text to explain a non-standard relationship term (e.g., "few months for a project"). Used when `other` is provided in `tx_relationship_term_with_service`.
    - `gender` 'male' | 'female' | 'other' — Customer gender.
    - `purpose_of_transactions` 'finvest_personal' | 'finvest_business' | 'payments_personal' | 'payments_business' | 'billpay_personal' | 'billpay_business' | 'p2p_us' | 'p2p_intl' | 'other' — Purpose of transactions.
    - `purpose_of_transactions_other_explanation` string — A freeform explanation of the purpose of transactions.
    - `expected_monthly_transaction_count` 'under_10' | 'between_11_and_100' | 'between_101_and_1000' | 'over_1000' — Expected monthly transactions count.
    - `expected_usd_equivalent_daily_volume` 'under_1000' | 'between_1001_and_10000' | 'between_10001_and_100000' | 'over_100000' — Expected USD equivalent daily volume.
    - `gross_annual_salary_amount` string — The individual's gross annual salary amount, in a currency (e.g., USD, EUR depends on region).
    - `savings_and_investments_amount` string — The individual's total amount of savings and investments, in a currency (e.g., USD, EUR depends on region).
    - `gross_annual_income` string — The individual's total pre-tax income from all sources annually, in a currency (e.g., USD, EUR depends on region).
    - `tx_usd_equivalent_monthly_amount` string — The estimated total value of transactions the individual expects to process monthly on the platform, in USD.
    - `tx_usd_equivalent_annual_amount` string — The estimated total value of transactions the individual expects to process annually on the platform, in USD.
    - `platform_updated_at` number — Platform updated timestamp
    - `self_certification_timestamp` number — The UNIX timestamp (in milliseconds) when the participant completed self-certification for DAC8 compliance. Mandatory for participants that are based in Europe.
    - `tax_residence` object — Tax residence address for the customer
      - `address_one` string — First line of tax residence address
      - `address_two` string — Second line of tax residence address (optional)
      - `city` string — City of tax residence
      - `jurisdiction_code` string, required — Jurisdiction code in ISO-3166-2 format
      - `postal_code` string — Postal code of tax residence
    - `tin_jurisdiction_reason` 'working_abroad' | 'studying_abroad' | 'dual_residency' | 'business_abroad' | 'real_estate_abroad' | 'other' — Optional. Reason for the tax residence jurisdiction differing from the legal jurisdiction. Defaults to "unknown" if not provided.
    - `additional_tax_residences` AdditionalTaxResidence[] — Optional. Additional tax residences when the participant has tax obligations in multiple jurisdictions. Maximum 25 items.
      - `tax_id` string, required — Tax identification number for the additional tax residence
      - `jurisdiction_code` string, required — The ISO 3166-2 subdivision code that the participant resides in
    - `tin_jurisdiction_other` string — Optional. Free text explanation when tin_jurisdiction_reason is "other"
    - `proof_of_address_coordinates` object — GPS coordinates of the proof of address. Accepts both Decimal Degrees (DD) and Degrees Minutes Seconds (DMS) formats.
      - `latitude` string, required — Latitude in DD format (e.g., "51.511164") or DMS format (e.g., "N 51d 30.000000m 40.190000")
      - `longitude` string, required — Longitude in DD format (e.g., "-0.083317") or DMS format (e.g., "W 0d 4.100000m 59.940000")
    - `b_notice_receipt` boolean, required — Indicates whether a user has been flagged in an IRS B-Notice as not having up-to-date tax information on file. Required for customers onboarded to a US platform.
    - `w_form_certification` number, required — Must be provided with `is_w_form_certified` boolean field to indicate the time at which the user certified their W-form. In the event the user transitions from an uncertified to a certified, the platform must provide a new `w_form_certification` and update `is_w_form_certified` from `false` to `true`.
    - `physical_delivery` boolean — Physical delivery flag
    - `signature` string, required — This field is used to capture the customer's first and last name as used on the W-form.
    - `signature_timestamp` number, required — This field captures the timestamp at which the user signed their W-form, used in conjunction with the `signature` field.
    - `payee_exemption` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | 'NONE', required — Payee exemption field that captures enum values for any applicable payee exemption codes 1 - 13, or NONE if no exemption applies. Required for customers onboarded to a US platform.
    - `fatca_reporting_exemption` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | 'NONE', required — FATCA reporting exemption code (1-13 or NONE)
    - `is_not_subject_backup_withholding` boolean, required — Backup withholding attestation flag. Required for customers onboarded to a US platform. - If the participant confirms they are **not** subject to backup withholding, this field should be set to `true`. - If the participant **is** subject to backup withholding, this field should be set to `false`. This acts as a positive attestation that the participant confirms they are not subject to backup withholding.
    - `is_w_form_certified` boolean, required — Indicates whether the participant is W-Form certified, required for customers onboarded to a US platform. - When `true`, user can be onboarded without restriction, so long as other mandatory fields are provided at time of onboarding. - When `false`, user is restricted and ineligible to transact on the platform.
    - `w8_ben` object — Wrapper sub-object holding W-8BEN tax certification data for a foreign (non-US) individual customer. Optional at the wrapper level.
      - `ftin` string — Foreign tax identification number issued by the participant's country of tax residence. Required unless `ftin_required = false`.
      - `ftin_required` boolean — Whether the participant's country legally issues an FTIN. Required whenever the sub-object is present.
      - `reference_numbers` string — Optional free-text reference numbers for the platform to connect the tax form to a specific account or financial record.
      - `treaty_claim` object — Treaty benefits claim block. Optional.
        - `is_eligible` boolean — Whether the participant is claiming reduced US withholding under a tax treaty. If `false` or omitted, the rest of the treaty block is ignored and no W-8 form is generated.
        - `country` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — Participant's country of tax residence whose treaty with the US is being invoked (ISO 3166-1 alpha-2). Required when `is_eligible = true`.
        - `residence_certification` boolean — Participant's on-form attestation that they are a tax resident of `country`. Must be `true` to claim treaty benefits. Required when `is_eligible = true`.
        - `income_type` 'royalties_other' | 'business_profits' — Category of US-source income the claim applies to: `business_profits` covers trading gains and similar active income; `royalties_other` covers royalties and other passive income. Required when `is_eligible = true`. Accepted string tokens listed in enum; legacy numeric values still accepted for backward compatibility.
        - `withholding_rate` string — Reduced rate granted by the treaty article, as a string percentage (e.g. "0", "10", "15"). Required when `is_eligible = true`.
        - `article_paragraph` string — Treaty article and paragraph authorizing the rate (e.g. "Article 12, paragraph 1"). Free text but should match the actual treaty section. Required when `is_eligible = true`.
        - `additional_conditions` boolean — Whether the participant asserts that extra conditions in the treaty article are met. Send `true` only if the participant has affirmatively confirmed. Required when `is_eligible = true`.
    - `mailing_address` object — Mailing address when different from permanent address
      - `address_one` string
      - `address_two` string
      - `city` string
      - `state` string
      - `postal_code` string
      - `country` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — ISO-3166-1-alpha-2

## Response `201`

Successfully created customer participant. Returns the created resource with generated IDs and timestamps.

- PostCustomersResponse
  - `message` union
    - object
      - `first_name` string — The first name of the customer being onboarded.
      - `middle_name` string — The middle name of the customer being onboarded.
      - `last_name` string — The last name of the customer being onboarded.
      - `former_name` string — The former name of the customer being onboarded.
      - `email` string — Customer email address, required. Note: zerohash will validate that the email is a correctly formatted `email`, and that the value is unique per-platform
      - `phone_number` string — The phone number of the participant
      - `address_one` string — First line for the customer's address. Notes: - The regular maximum length is 80 characters. - If the platform is on the vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
      - `address_two` string — Extra information, like an apartment or suite number. Notes: - The maximum length is `50` characters for platform using KYCaaS through zerohash. - If the platform is on the shared vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
      - `country` 'AND' | 'ARE' | 'AFG' | 'ATG' | 'AIA' | 'ALB' | 'ARM' | 'AGO' | 'ATA' | 'ARG' | 'ASM' | 'AUT' | 'AUS' | 'ABW' | 'ALA' | 'AZE' | 'BIH' | 'BRB' | 'BGD' | 'BEL' | 'BFA' | 'BGR' | 'BHR' | 'BDI' | 'BEN' | 'BLM' | 'BMU' | 'BRN' | 'BOL' | 'BES' | 'BRA' | 'BHS' | 'BTN' | 'BVT' | 'BWA' | 'BLR' | 'BLZ' | 'CAN' | 'CCK' | 'COD' | 'CAF' | 'COG' | 'CHE' | 'CIV' | 'COK' | 'CHL' | 'CMR' | 'CHN' | 'COL' | 'CRI' | 'CUB' | 'CPV' | 'CUW' | 'CXR' | 'CYP' | 'CZE' | 'DEU' | 'DJI' | 'DNK' | 'DMA' | 'DOM' | 'DZA' | 'ECU' | 'EST' | 'EGY' | 'ESH' | 'ERI' | 'ESP' | 'ETH' | 'FIN' | 'FJI' | 'FLK' | 'FSM' | 'FRO' | 'FRA' | 'GAB' | 'GBR' | 'GRD' | 'GEO' | 'GUF' | 'GGY' | 'GHA' | 'GIB' | 'GRL' | 'GMB' | 'GIN' | 'GLP' | 'GNQ' | 'GRC' | 'SGS' | 'GTM' | 'GUM' | 'GNB' | 'GUY' | 'HKG' | 'HMD' | 'HND' | 'HRV' | 'HTI' | 'HUN' | 'IDN' | 'IRL' | 'ISR' | 'IMN' | 'IND' | 'IOT' | 'IRQ' | 'IRN' | 'ISL' | 'ITA' | 'JEY' | 'JAM' | 'JOR' | 'JPN' | 'KEN' | 'KGZ' | 'KHM' | 'KIR' | 'COM' | 'KNA' | 'PRK' | 'KOR' | 'KWT' | 'CYM' | 'KAZ' | 'LAO' | 'LBN' | 'LCA' | 'LIE' | 'LKA' | 'LBR' | 'LSO' | 'LTU' | 'LUX' | 'LVA' | 'LBY' | 'MAR' | 'MCO' | 'MDA' | 'MNE' | 'MAF' | 'MDG' | 'MHL' | 'MKD' | 'MLI' | 'MMR' | 'MNG' | 'MAC' | 'MNP' | 'MTQ' | 'MRT' | 'MSR' | 'MLT' | 'MUS' | 'MDV' | 'MWI' | 'MEX' | 'MYS' | 'MOZ' | 'NAM' | 'NCL' | 'NER' | 'NFK' | 'NGA' | 'NIC' | 'NLD' | 'NOR' | 'NPL' | 'NRU' | 'NIU' | 'NZL' | 'OMN' | 'PAN' | 'PER' | 'PYF' | 'PNG' | 'PHL' | 'PAK' | 'POL' | 'SPM' | 'PCN' | 'PRI' | 'PSE' | 'PRT' | 'PLW' | 'PRY' | 'QAT' | 'REU' | 'ROU' | 'SRB' | 'RUS' | 'RWA' | 'SAU' | 'SLB' | 'SYC' | 'SDN' | 'SWE' | 'SGP' | 'SHN' | 'SVN' | 'SJM' | 'SVK' | 'SLE' | 'SMR' | 'SEN' | 'SOM' | 'SUR' | 'SSD' | 'STP' | 'SLV' | 'SXM' | 'SYR' | 'SWZ' | 'TCA' | 'TCD' | 'ATF' | 'TGO' | 'THA' | 'TJK' | 'TKL' | 'TLS' | 'TKM' | 'TUN' | 'TON' | 'TUR' | 'TTO' | 'TUV' | 'TWN' | 'TZA' | 'UKR' | 'UGA' | 'UMI' | 'USA' | 'URY' | 'UZB' | 'VAT' | 'VCT' | 'VEN' | 'VGB' | 'VIR' | 'VNM' | 'VUT' | 'WLF' | 'WSM' | 'YEM' | 'MYT' | 'ZAF' | 'ZMB' | 'ZWE' — The ISO-3166-1 alpha3 country, e.g.`USA`, `IRL`.
      - `city` string — The city customer resides in.
      - `zip` string — Zip code of the customer, required if `country` is `USA`, min 5 characters or `<5digits>-<4digits>`, no leading or trailing spaces", e.g. 77777 or 77777-7777.
      - `postal_code` string — Same as `zip`. Postal code of the customer, in the format "min 4 characters, no leading or trailing spaces".
      - `jurisdiction_code` 'US-AL' | 'US-AK' | 'US-AZ' | 'US-AR' | 'US-CA' | 'US-CO' | 'US-CT' | 'US-DE' | 'US-FL' | 'US-GA' | 'US-HI' | 'US-ID' | 'US-IL' | 'US-IN' | 'US-IA' | 'US-KS' | 'US-KY' | 'US-LA' | 'US-ME' | 'US-MD' | 'US-MA' | 'US-MI' | 'US-MN' | 'US-MS' | 'US-MO' | 'US-MT' | 'US-NE' | 'US-NV' | 'US-NH' | 'US-NJ' | 'US-NM' | 'US-NY' | 'US-NC' | 'US-ND' | 'US-OH' | 'US-OK' | 'US-OR' | 'US-PA' | 'US-RI' | 'US-SC' | 'US-SD' | 'US-TN' | 'US-TX' | 'US-UT' | 'US-VT' | 'US-VA' | 'US-WA' | 'US-WV' | 'US-WI' | 'US-WY' | 'US-DC' | 'US-AS' | 'US-GU' | 'US-MP' | 'US-PR' | 'US-UM' | 'US-VI' — The ISO 3166-2 subdivision code that the customer resides in. A full list of valid jurisdiction codes can be retrieved from the [`GET /jurisdictions/subdivisions` endpoint](https://docs.zerohash.com/reference/get_jurisdiction-subdivisions) passing a `country` parameter.
      - `citizenship_code` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — The ISO-3166-1 alpha2 citizenship of the participant, e.g. `US`.
      - `date_of_birth` string — Date of birth of the customer in the format `YYYY-MM-DD`
      - `tax_id` string — The national ID of the participant, e.g. a social security number. - Required when `citizenship_code` is `US`. - Optional when `citizenship_code` is not `US`, but if provided, must be accompanied by a valid `id_number` and `id_number_type`. - If the tax ID provided is a US ITIN (a 9-digit US ID that begins with the number `9`), then `id_number_type` will be required.
      - `id_number_type` 'us_drivers_license' | 'us_passport' | 'us_passport_card' | 'us_permanent_resident_card' | 'us_border_crossing_card' | 'us_alien_card' | 'us_id_card' | 'non_us_passport' | 'non_us_other' | 'passport' | 'eu_drivers_license' | 'national_id' — ### Region-specific guidelines ### Platforms integrated to zerohash USA; - Required when `citizenship_code` is not `US`. - Required when `citizenship_code=US` but `tax_id` is an ITIN (a 9-digit US ID that begins with the number `9`). --- ### Platforms integrated to zerohash EU; The following enums are EU-specific types: - `passport` - `eu_drivers_license` - `national_id` EU platforms can also accept: - `us_passport` - `non_us_passport` - `non_us_other` - `us_drivers_license` - `us_id_card` - `us_passport_card`
      - `id_number` string — The ID number for the customer. - Required when `citizenship_code` is not `US` - Required when `citizenship_code : US` but `tax_id` is an ITIN (a 9-digit US ID that begins with the number `9`).
      - `non_us_other_type` string — This is required if you select `non_us_other` for the `id_number_type` - a freeform string to describe the ID type
      - `id_issuing_authority` string — ISO-3166-1_A2 country code that issued the ID. Required if `id_number` is provided.
      - `risk_rating` 'low' | 'medium' | 'high' — The risk-rating associated with the customer, conditionally required for certain platforms
      - `signed_timestamp` number — The UNIX timestamp (in milliseconds) when the Services Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `prefunded` boolean — Indicates whether the participant is using a prefunded model, or using the plaform float funding model to fund buy trades. - If `true`, the participant is prefunding their account and will be responsible for ensuring they have sufficient balance in their account to cover trades. - If `false`, the platform will fund trades from their float balance at zerohash, on behalf of the participant and settle at the end of the day.
      - `metadata` union
        - object — Can be used to submit any additional unstructured metadata as JSON object
        - string — Can be used to submit any additional unstructured metadata as JSON string
      - `kyc` 'pass' | 'fail' — Whether the participant passed or failed KYC by vendor
      - `kyc_timestamp` number — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `onboarding_profile` 'kyc_track' | 'shopper' — Onboarding profile used to determine the participant's KYC track. Defaults to 'kyc_track' when omitted.
      - `onboarded_location` string — The location of a participant during onboarding, ISO 3166-2 standard
      - `sanction_screening` 'pass' | 'fail' — Whether the participant passed sanctions checks (Platforms with X do not need to send `sanction_screening`)
      - `sanction_screening_timestamp` number — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `idv` 'pass' | 'fail' — Whether the participant passed or failed ID verification
      - `liveness_check` 'pass' | 'fail' — Whether the participant passed or failed a liveness check
      - `employment_status` 'full_time' | 'part_time' | 'self_employed' | 'unemployed' | 'retired' | 'student' — Employment status
      - `industry` 'adult_entertainment' | 'advertising_media_marketing' | 'agriculture' | 'arts_entertainment' | 'charity' | 'construction_manufacturing' | 'consulting' | 'consumer_products_services' | 'crypto_mining' | 'ecommerce' | 'education' | 'electronics' | 'fashion' | 'financial_services' | 'food_beverages' | 'government_agency' | 'insurance' | 'jewelry_gemstones' | 'law_enforcement' | 'legal_services' | 'mining_energy_chemicals' | 'online_gaming_gambling' | 'pharmaceuticals' | 'property_real_estate' | 'retail_wholesale' | 'transportation' | 'travel_car_hire' | 'weapons_defense_aerospace' | 'other' — Employment industry
      - `source_of_funds` 'salary' | 'savings' | 'pension_retirement' | 'inheritance' | 'investment' | 'loan' | 'gift' | 'other' — Source of funds
      - `signed_agreements` object[]
        - `type` 'fund_auto_convert' | 'payment_services_terms' | 'account_link' | 'account_funding_payouts' | 'account_funding_general' | 'account_funding_pay' | 'crypto_payouts_service_terms' | 'staking' | 'trust_agreement' | 'zhllc_user_agreement_v1' | 'zhllc_privacy_policy_v1' | 'zhllc_regulatory_disclosures_v1' | 'auth_user_services_agreement_v1' | 'zhllc_payment_sender_terms_v1' | 'zhllc_third_party_disclosures_v1' | 'connect_privacy_policy_v1', required
        - `region` 'worldwide' | 'us' | 'brazil' | 'uk' | 'eu', required
        - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Fund Auto Convert Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `salary` 'under_3500' | 'between_35001_and_75000' | 'between_75001_and_125000' | 'between_125001_and_200000' | 'over_200000' — Salary of the participant
      - `savings_and_investments` 'under_10000' | 'between_10001_and_25000' | 'between_25001_and_50000' | 'between_50001_and_100000' | 'between_100001_and_250000' | 'over_250000' — Savings and investments of the participant.
      - `investor_category` 'restricted' | 'high_net_worth_individual' | 'certified_sophisticated_investor' — Investor category of the participant
      - `distribution_channel` string — Distribution channel of the participant
      - `ip_address` string — The IP address of the participant
      - `place_of_birth` object — The place of birth of the participant, as is defined on their ID (Passport, etc.). Required if; - `id_number_type=passport` - `id_number_type=us-passport` - `id_number_type=non-us-passport`
        - `country_code` string, required — ISO 3166-1 alpha-2 Country Code
        - `place_name` string — Name of the place of birth
      - `id_expiration_date` string — ID Expiration Date of the customer in the format `YYYY-MM-DD`. Required if; - `id_number_type=passport` - `id_number_type=us-passport` - `id_number_type=non-us-passport`
      - `id_issuing_date` string — ID Issuing Date of the customer in the format `YYYY-MM-DD`
      - `id_issuing_locality` string — The locality where the customer's ID was issued, as is defined on their ID (Passport, etc.) ISO 3166-1 alpha-2 Country Code format.
      - `tx_equivalent_annual_volume` 'up_to_5k' | '5k_to_25k' | '25k_to_100k' | '100k_and_up' — The estimated total value of transactions the individual expects to process annually on the platform, in a specified currency (e.g., USD, EUR depends on region).
      - `tx_frequency_of_use` 'up_to_12' | '12_to_53' | '53_to_365' | '365_and_up' — How often the individual will use the platform's services.
      - `tx_type_of_service` string[] — The main service type the individual will use, like `buy_crypto` or `sell_crypto`, or both, or less, or more etc.
      - `tx_relationship_term_with_service` 'long_term' | 'short_term' | 'other' — The expected duration of the individual's platform use, e.g., `short_term` (<1 year) or `long_term` (>5 years).
      - `tx_relationship_term_with_service_other_explanation` string — Optional text to explain a non-standard relationship term (e.g., "few months for a project"). Used when `other` is provided in `tx_relationship_term_with_service`.
      - `gender` 'male' | 'female' | 'other' — Customer gender.
      - `purpose_of_transactions` 'finvest_personal' | 'finvest_business' | 'payments_personal' | 'payments_business' | 'billpay_personal' | 'billpay_business' | 'p2p_us' | 'p2p_intl' | 'other' — Purpose of transactions.
      - `purpose_of_transactions_other_explanation` string — A freeform explanation of the purpose of transactions.
      - `expected_monthly_transaction_count` 'under_10' | 'between_11_and_100' | 'between_101_and_1000' | 'over_1000' — Expected monthly transactions count.
      - `expected_usd_equivalent_daily_volume` 'under_1000' | 'between_1001_and_10000' | 'between_10001_and_100000' | 'over_100000' — Expected USD equivalent daily volume.
      - `gross_annual_salary_amount` string — The individual's gross annual salary amount, in a currency (e.g., USD, EUR depends on region).
      - `self_certification_timestamp` number — The UNIX timestamp (in milliseconds) when the participant completed self-certification for DAC8 compliance. Mandatory for participants that are based in Europe.
      - `tax_residence` object — Tax residence address for the customer
        - `address_one` string — First line of tax residence address
        - `address_two` string — Second line of tax residence address (optional)
        - `city` string — City of tax residence
        - `jurisdiction_code` string, required — Jurisdiction code in ISO-3166-2 format
        - `postal_code` string — Postal code of tax residence
      - `tin_jurisdiction_reason` 'working_abroad' | 'studying_abroad' | 'dual_residency' | 'business_abroad' | 'real_estate_abroad' | 'other' — Optional. Reason for the tax residence jurisdiction differing from the legal jurisdiction. Defaults to "unknown" if not provided.
      - `additional_tax_residences` AdditionalTaxResidence[] — Optional. Additional tax residences when the participant has tax obligations in multiple jurisdictions. Maximum 25 items.
        - `tax_id` string, required — Tax identification number for the additional tax residence
        - `jurisdiction_code` string, required — The ISO 3166-2 subdivision code that the participant resides in
      - `tin_jurisdiction_other` string — Optional. Free text explanation when tin_jurisdiction_reason is "other"
      - `proof_of_address_coordinates` object — GPS coordinates of the proof of address. Accepts both Decimal Degrees (DD) and Degrees/Minutes/Seconds (DMS) formats. Values are returned in DD format.
        - `latitude` string, required — Latitude. Accepts both Decimal Degrees (DD) and Degrees/Minutes/Seconds (DMS) formats. Values are returned in DD format.
        - `longitude` string, required — Longitude. Accepts both Decimal Degrees (DD) and Degrees/Minutes/Seconds (DMS) formats. Values are returned in DD format.
      - `b_notice_receipt` boolean — Indicates whether a user has been flagged in an IRS B-Notice as not having up-to-date tax information on file. Required for customers onboarded to a US platform.
      - `is_w_form_certified` boolean — Indicates whether the participant is W-Form certified, required for customers onboarded to a US platform. - When `true`, user can be onboarded without restriction, so long as other mandatory fields are provided at time of onboarding. - When `false`, user is restricted and ineligible to transact on the platform.
      - `w_form_certification` number — Must be provided with `is_w_form_certified` boolean field to indicate the time at which the user certified their W-form. In the event the user transitions from an uncertified to a certified, the platform must provide a new `w_form_certification` and update `is_w_form_certified` from `false` to `true`.
      - `physical_delivery` boolean — Physical delivery flag
      - `signature` string — This field is used to capture the customer's first and last name as used on the W-form.
      - `signature_timestamp` number — This field captures the timestamp at which the user signed their W-form, used in conjunction with the `signature` field.
      - `payee_exemption` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | 'NONE' — Payee exemption field that captures enum values for any applicable payee exemption codes 1 - 13, or NONE if no exemption applies. Required for customers onboarded to a US platform.
      - `fatca_reporting_exemption` '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | 'NONE' — FATCA reporting exemption code (1-13 or NONE)
      - `is_not_subject_backup_withholding` boolean — Backup withholding attestation flag. Required for customers onboarded to a US platform. - If the participant confirms they are **not** subject to backup withholding, this field should be set to `true`. - If the participant **is** subject to backup withholding, this field should be set to `false`. This acts as a positive attestation that the participant confirms they are not subject to backup withholding.
      - `platform_code` string
      - `participant_code` string
      - `status` string — The current status of the participant
    - object
      - `first_name` string — The first name of the customer being onboarded.
      - `middle_name` string — The middle name of the customer being onboarded.
      - `last_name` string — The last name of the customer being onboarded.
      - `date_of_birth` string — Date of birth of the customer in the format `YYYY-MM-DD`
      - `email` string — Customer email address, required. Note: zerohash will validate that the email is a correctly formatted `email`, and that the value is unique per-platform
      - `phone_number` string — The phone number of the participant
      - `address_one` string — First line for the customer's address. Notes: - The regular maximum length is 80 characters. - If the platform is on the vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
      - `address_two` string — Extra information, like an apartment or suite number. Notes: - The maximum length is `50` characters for platform using KYCaaS through zerohash. - If the platform is on the shared vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
      - `city` string — The city customer resides in.
      - `zip` string — Zip code of the customer, required if `country` is `USA`, min 5 characters or `<5digits>-<4digits>`, no leading or trailing spaces", e.g. 77777 or 77777-7777.
      - `postal_code` string — Same as `zip`. Postal code of the customer, in the format "min 4 characters, no leading or trailing spaces".
      - `jurisdiction_code` 'US-AL' | 'US-AK' | 'US-AZ' | 'US-AR' | 'US-CA' | 'US-CO' | 'US-CT' | 'US-DE' | 'US-FL' | 'US-GA' | 'US-HI' | 'US-ID' | 'US-IL' | 'US-IN' | 'US-IA' | 'US-KS' | 'US-KY' | 'US-LA' | 'US-ME' | 'US-MD' | 'US-MA' | 'US-MI' | 'US-MN' | 'US-MS' | 'US-MO' | 'US-MT' | 'US-NE' | 'US-NV' | 'US-NH' | 'US-NJ' | 'US-NM' | 'US-NY' | 'US-NC' | 'US-ND' | 'US-OH' | 'US-OK' | 'US-OR' | 'US-PA' | 'US-RI' | 'US-SC' | 'US-SD' | 'US-TN' | 'US-TX' | 'US-UT' | 'US-VT' | 'US-VA' | 'US-WA' | 'US-WV' | 'US-WI' | 'US-WY' | 'US-DC' | 'US-AS' | 'US-GU' | 'US-MP' | 'US-PR' | 'US-UM' | 'US-VI' — The ISO 3166-2 subdivision code that the customer resides in. A full list of valid jurisdiction codes can be retrieved from the [`GET /jurisdictions/subdivisions` endpoint](https://docs.zerohash.com/reference/get_jurisdiction-subdivisions) passing a `country` parameter.
      - `citizenship_code` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — The ISO-3166-1 alpha2 citizenship of the participant, e.g. `US`.
      - `tax_id` string — The national ID of the participant, e.g. a social security number. - Required when `citizenship_code` is `US`. - Optional when `citizenship_code` is not `US`, but if provided, must be accompanied by a valid `id_number` and `id_number_type`. - If the tax ID provided is a US ITIN (a 9-digit US ID that begins with the number `9`), then `id_number_type` will be required.
      - `kyc` 'pass' | 'fail' — Whether the participant passed or failed KYC by vendor
      - `kyc_timestamp` number — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `onboarding_profile` 'kyc_track' | 'shopper' — Onboarding profile used to determine the participant's KYC track. Defaults to 'kyc_track' when omitted.
      - `sanction_screening` 'pass' | 'fail' — Whether the participant passed sanctions checks (Platforms with X do not need to send `sanction_screening`)
      - `sanction_screening_timestamp` number — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `employment_status` 'full_time' | 'part_time' | 'self_employed' | 'unemployed' | 'retired' | 'student' — Employment status
      - `signed_timestamp` number — The UNIX timestamp (in milliseconds) when the Services Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `signed_agreements` object[]
        - `type` 'fund_auto_convert' | 'payment_services_terms' | 'account_link' | 'account_funding_payouts' | 'account_funding_general' | 'account_funding_pay' | 'crypto_payouts_service_terms' | 'staking' | 'trust_agreement' | 'zhllc_user_agreement_v1' | 'zhllc_privacy_policy_v1' | 'zhllc_regulatory_disclosures_v1' | 'auth_user_services_agreement_v1' | 'zhllc_payment_sender_terms_v1' | 'zhllc_third_party_disclosures_v1' | 'connect_privacy_policy_v1', required
        - `region` 'worldwide' | 'us' | 'brazil' | 'uk' | 'eu', required
        - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Fund Auto Convert Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `metadata` union
        - object — Can be used to submit any additional unstructured metadata as JSON object
        - string — Can be used to submit any additional unstructured metadata as JSON string
      - `tax_residence` object — Tax residence address for the customer
        - `address_one` string — First line of tax residence address
        - `address_two` string — Second line of tax residence address (optional)
        - `city` string — City of tax residence
        - `jurisdiction_code` string, required — Jurisdiction code in ISO-3166-2 format
        - `postal_code` string — Postal code of tax residence
      - `tin_jurisdiction_reason` 'working_abroad' | 'studying_abroad' | 'dual_residency' | 'business_abroad' | 'real_estate_abroad' | 'other' — Optional. Reason for the tax residence jurisdiction differing from the legal jurisdiction. Defaults to "unknown" if not provided.
      - `platform_code` string
      - `participant_code` string
      - `status` string — The current status of the participant
    - object
      - `first_name` string — The first name of the customer being onboarded.
      - `middle_name` string — The middle name of the customer being onboarded.
      - `last_name` string — The last name of the customer being onboarded.
      - `email` string — Customer email address, required. Note: zerohash will validate that the email is a correctly formatted `email`, and that the value is unique per-platform
      - `phone_number` string — The phone number of the participant
      - `address_one` string — First line for the customer's address. Notes: - The regular maximum length is 80 characters. - If the platform is on the vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
      - `date_of_birth` string — Date of birth of the customer in the format `YYYY-MM-DD`
      - `address_two` string — Extra information, like an apartment or suite number. Notes: - The maximum length is `50` characters for platform using KYCaaS through zerohash. - If the platform is on the shared vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
      - `city` string — The city customer resides in.
      - `zip` string — Zip code of the customer, required if `country` is `USA`, min 5 characters or `<5digits>-<4digits>`, no leading or trailing spaces", e.g. 77777 or 77777-7777.
      - `postal_code` string — Same as `zip`. Postal code of the customer, in the format "min 4 characters, no leading or trailing spaces".
      - `jurisdiction_code` 'US-AL' | 'US-AK' | 'US-AZ' | 'US-AR' | 'US-CA' | 'US-CO' | 'US-CT' | 'US-DE' | 'US-FL' | 'US-GA' | 'US-HI' | 'US-ID' | 'US-IL' | 'US-IN' | 'US-IA' | 'US-KS' | 'US-KY' | 'US-LA' | 'US-ME' | 'US-MD' | 'US-MA' | 'US-MI' | 'US-MN' | 'US-MS' | 'US-MO' | 'US-MT' | 'US-NE' | 'US-NV' | 'US-NH' | 'US-NJ' | 'US-NM' | 'US-NY' | 'US-NC' | 'US-ND' | 'US-OH' | 'US-OK' | 'US-OR' | 'US-PA' | 'US-RI' | 'US-SC' | 'US-SD' | 'US-TN' | 'US-TX' | 'US-UT' | 'US-VT' | 'US-VA' | 'US-WA' | 'US-WV' | 'US-WI' | 'US-WY' | 'US-DC' | 'US-AS' | 'US-GU' | 'US-MP' | 'US-PR' | 'US-UM' | 'US-VI' — The ISO 3166-2 subdivision code that the customer resides in. A full list of valid jurisdiction codes can be retrieved from the [`GET /jurisdictions/subdivisions` endpoint](https://docs.zerohash.com/reference/get_jurisdiction-subdivisions) passing a `country` parameter.
      - `citizenship_code` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — The ISO-3166-1 alpha2 citizenship of the participant, e.g. `US`.
      - `id_number_type` 'us_drivers_license' | 'us_passport' | 'us_passport_card' | 'us_permanent_resident_card' | 'us_border_crossing_card' | 'us_alien_card' | 'us_id_card' | 'non_us_passport' | 'non_us_other' | 'passport' | 'eu_drivers_license' | 'national_id' — ### Region-specific guidelines ### Platforms integrated to zerohash USA; - Required when `citizenship_code` is not `US`. - Required when `citizenship_code=US` but `tax_id` is an ITIN (a 9-digit US ID that begins with the number `9`). --- ### Platforms integrated to zerohash EU; The following enums are EU-specific types: - `passport` - `eu_drivers_license` - `national_id` EU platforms can also accept: - `us_passport` - `non_us_passport` - `non_us_other` - `us_drivers_license` - `us_id_card` - `us_passport_card`
      - `id_number` string — The ID number for the customer. - Required when `citizenship_code` is not `US` - Required when `citizenship_code : US` but `tax_id` is an ITIN (a 9-digit US ID that begins with the number `9`).
      - `id_issuing_authority` string — ISO-3166-1_A2 country code that issued the ID. Required if `id_number` is provided.
      - `id_issuing_locality` string — The locality where the customer's ID was issued, as is defined on their ID (Passport, etc.) ISO 3166-1 alpha-2 Country Code format.
      - `id_issuing_date` string — ID Issuing Date of the customer in the format `YYYY-MM-DD`
      - `id_expiration_date` string — ID Expiration Date of the customer in the format `YYYY-MM-DD`. Required if; - `id_number_type=passport` - `id_number_type=us-passport` - `id_number_type=non-us-passport`
      - `non_us_other_type` string — This is required if you select `non_us_other` for the `id_number_type` - a freeform string to describe the ID type
      - `kyc` 'pass' | 'fail' — Whether the participant passed or failed KYC by vendor
      - `kyc_timestamp` number — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `onboarding_profile` 'kyc_track' | 'shopper' — Onboarding profile used to determine the participant's KYC track. Defaults to 'kyc_track' when omitted.
      - `sanction_screening` 'pass' | 'fail' — Whether the participant passed sanctions checks (Platforms with X do not need to send `sanction_screening`)
      - `sanction_screening_timestamp` number — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `signed_timestamp` number — The UNIX timestamp (in milliseconds) when the Services Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `signed_agreements` object[]
        - `type` 'fund_auto_convert' | 'payment_services_terms' | 'account_link' | 'account_funding_payouts' | 'account_funding_general' | 'account_funding_pay' | 'crypto_payouts_service_terms' | 'staking' | 'trust_agreement' | 'zhllc_user_agreement_v1' | 'zhllc_privacy_policy_v1' | 'zhllc_regulatory_disclosures_v1' | 'auth_user_services_agreement_v1' | 'zhllc_payment_sender_terms_v1' | 'zhllc_third_party_disclosures_v1' | 'connect_privacy_policy_v1', required
        - `region` 'worldwide' | 'us' | 'brazil' | 'uk' | 'eu', required
        - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Fund Auto Convert Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `platform_code` string
      - `participant_code` string
      - `status` string — The current status of the participant
    - object
      - `first_name` string — The first name of the customer being onboarded.
      - `middle_name` string — The middle name of the customer being onboarded.
      - `last_name` string — The last name of the customer being onboarded.
      - `email` string — Customer email address, required. Note: zerohash will validate that the email is a correctly formatted `email`, and that the value is unique per-platform
      - `phone_number` string — The phone number of the participant
      - `citizenship_code` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — The ISO-3166-1 alpha2 citizenship of the participant, e.g. `US`.
      - `place_of_birth` object — The place of birth of the participant, as is defined on their ID (Passport, etc.). Required if; - `id_number_type=passport` - `id_number_type=us-passport` - `id_number_type=non-us-passport`
        - `country_code` string, required — ISO 3166-1 alpha-2 Country Code
        - `place_name` string — Name of the place of birth
      - `date_of_birth` string — Date of birth of the customer in the format `YYYY-MM-DD`
      - `address_one` string — First line for the customer's address. Notes: - The regular maximum length is 80 characters. - If the platform is on the vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
      - `address_two` string — Extra information, like an apartment or suite number. Notes: - The maximum length is `50` characters for platform using KYCaaS through zerohash. - If the platform is on the shared vendor reliance track, the maximum length increases to `200` characters. - PO Box addresses are not accepted.
      - `city` string — The city customer resides in.
      - `postal_code` string — Same as `zip`. Postal code of the customer, in the format "min 4 characters, no leading or trailing spaces".
      - `tax_id` string — The national ID of the participant, e.g. a social security number. - Required when `citizenship_code` is `US`. - Optional when `citizenship_code` is not `US`, but if provided, must be accompanied by a valid `id_number` and `id_number_type`. - If the tax ID provided is a US ITIN (a 9-digit US ID that begins with the number `9`), then `id_number_type` will be required.
      - `id_number_type` 'us_drivers_license' | 'us_passport' | 'us_passport_card' | 'us_permanent_resident_card' | 'us_border_crossing_card' | 'us_alien_card' | 'us_id_card' | 'non_us_passport' | 'non_us_other' | 'passport' | 'eu_drivers_license' | 'national_id' — ### Region-specific guidelines ### Platforms integrated to zerohash USA; - Required when `citizenship_code` is not `US`. - Required when `citizenship_code=US` but `tax_id` is an ITIN (a 9-digit US ID that begins with the number `9`). --- ### Platforms integrated to zerohash EU; The following enums are EU-specific types: - `passport` - `eu_drivers_license` - `national_id` EU platforms can also accept: - `us_passport` - `non_us_passport` - `non_us_other` - `us_drivers_license` - `us_id_card` - `us_passport_card`
      - `id_number` string — The ID number for the customer. - Required when `citizenship_code` is not `US` - Required when `citizenship_code : US` but `tax_id` is an ITIN (a 9-digit US ID that begins with the number `9`).
      - `id_issuing_date` string — ID Issuing Date of the customer in the format `YYYY-MM-DD`
      - `id_issuing_authority` string — ISO-3166-1_A2 country code that issued the ID. Required if `id_number` is provided.
      - `id_issuing_locality` string — The locality where the customer's ID was issued, as is defined on their ID (Passport, etc.) ISO 3166-1 alpha-2 Country Code format.
      - `id_expiration_date` string — ID Expiration Date of the customer in the format `YYYY-MM-DD`. Required if; - `id_number_type=passport` - `id_number_type=us-passport` - `id_number_type=non-us-passport`
      - `signed_timestamp` number — The UNIX timestamp (in milliseconds) when the Services Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `sanction_screening_timestamp` number — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `jurisdiction_code` 'US-AL' | 'US-AK' | 'US-AZ' | 'US-AR' | 'US-CA' | 'US-CO' | 'US-CT' | 'US-DE' | 'US-FL' | 'US-GA' | 'US-HI' | 'US-ID' | 'US-IL' | 'US-IN' | 'US-IA' | 'US-KS' | 'US-KY' | 'US-LA' | 'US-ME' | 'US-MD' | 'US-MA' | 'US-MI' | 'US-MN' | 'US-MS' | 'US-MO' | 'US-MT' | 'US-NE' | 'US-NV' | 'US-NH' | 'US-NJ' | 'US-NM' | 'US-NY' | 'US-NC' | 'US-ND' | 'US-OH' | 'US-OK' | 'US-OR' | 'US-PA' | 'US-RI' | 'US-SC' | 'US-SD' | 'US-TN' | 'US-TX' | 'US-UT' | 'US-VT' | 'US-VA' | 'US-WA' | 'US-WV' | 'US-WI' | 'US-WY' | 'US-DC' | 'US-AS' | 'US-GU' | 'US-MP' | 'US-PR' | 'US-UM' | 'US-VI' — The ISO 3166-2 subdivision code that the customer resides in. A full list of valid jurisdiction codes can be retrieved from the [`GET /jurisdictions/subdivisions` endpoint](https://docs.zerohash.com/reference/get_jurisdiction-subdivisions) passing a `country` parameter.
      - `kyc` 'pass' | 'fail' — Whether the participant passed or failed KYC by vendor
      - `kyc_timestamp` number — The UNIX timestamp (in milliseconds) when KYC was passed. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `onboarding_profile` 'kyc_track' | 'shopper' — Onboarding profile used to determine the participant's KYC track. Defaults to 'kyc_track' when omitted.
      - `sanction_screening` 'pass' | 'fail' — Whether the participant passed sanctions checks (Platforms with X do not need to send `sanction_screening`)
      - `idv` 'pass' | 'fail' — Whether the participant passed or failed ID verification
      - `liveness_check` 'pass' | 'fail' — Whether the participant passed or failed a liveness check
      - `risk_rating` 'low' | 'medium' | 'high' — The risk-rating associated with the customer, conditionally required for certain platforms
      - `employment_status` 'full_time' | 'part_time' | 'self_employed' | 'unemployed' | 'retired' | 'student' — Employment status
      - `industry` 'adult_entertainment' | 'advertising_media_marketing' | 'agriculture' | 'arts_entertainment' | 'charity' | 'construction_manufacturing' | 'consulting' | 'consumer_products_services' | 'crypto_mining' | 'ecommerce' | 'education' | 'electronics' | 'fashion' | 'financial_services' | 'food_beverages' | 'government_agency' | 'insurance' | 'jewelry_gemstones' | 'law_enforcement' | 'legal_services' | 'mining_energy_chemicals' | 'online_gaming_gambling' | 'pharmaceuticals' | 'property_real_estate' | 'retail_wholesale' | 'transportation' | 'travel_car_hire' | 'weapons_defense_aerospace' | 'other' — Employment industry
      - `source_of_funds` 'salary' | 'savings' | 'pension_retirement' | 'inheritance' | 'investment' | 'loan' | 'gift' | 'other' — Source of funds
      - `salary` 'under_3500' | 'between_35001_and_75000' | 'between_75001_and_125000' | 'between_125001_and_200000' | 'over_200000' — Salary of the participant
      - `savings_and_investments` 'under_10000' | 'between_10001_and_25000' | 'between_25001_and_50000' | 'between_50001_and_100000' | 'between_100001_and_250000' | 'over_250000' — Savings and investments of the participant.
      - `tx_equivalent_annual_volume` 'up_to_5k' | '5k_to_25k' | '25k_to_100k' | '100k_and_up' — The estimated total value of transactions the individual expects to process annually on the platform, in a specified currency (e.g., USD, EUR depends on region).
      - `tx_frequency_of_use` 'up_to_12' | '12_to_53' | '53_to_365' | '365_and_up' — How often the individual will use the platform's services.
      - `tx_type_of_service` string[] — The main service type the individual will use, like `buy_crypto` or `sell_crypto`, or both, or less, or more etc.
      - `tx_relationship_term_with_service` 'long_term' | 'short_term' | 'other' — The expected duration of the individual's platform use, e.g., `short_term` (<1 year) or `long_term` (>5 years).
      - `tx_relationship_term_with_service_other_explanation` string — Optional text to explain a non-standard relationship term (e.g., "few months for a project"). Used when `other` is provided in `tx_relationship_term_with_service`.
      - `signed_agreements` object[]
        - `type` 'fund_auto_convert' | 'payment_services_terms' | 'account_link' | 'account_funding_payouts' | 'account_funding_general' | 'account_funding_pay' | 'crypto_payouts_service_terms' | 'staking' | 'trust_agreement' | 'zhllc_user_agreement_v1' | 'zhllc_privacy_policy_v1' | 'zhllc_regulatory_disclosures_v1' | 'auth_user_services_agreement_v1' | 'zhllc_payment_sender_terms_v1' | 'zhllc_third_party_disclosures_v1' | 'connect_privacy_policy_v1', required
        - `region` 'worldwide' | 'us' | 'brazil' | 'uk' | 'eu', required
        - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the Fund Auto Convert Agreement was accepted by the participant. This timestamp value must be from no longer than one (1) year in the past or one (1) day in the future.
      - `self_certification_timestamp` number — The UNIX timestamp (in milliseconds) when the participant completed self-certification for DAC8 compliance. Mandatory for participants that are based in Europe.
      - `tax_residence` object — Tax residence address for the customer
        - `address_one` string — First line of tax residence address
        - `address_two` string — Second line of tax residence address (optional)
        - `city` string — City of tax residence
        - `jurisdiction_code` string, required — Jurisdiction code in ISO-3166-2 format
        - `postal_code` string — Postal code of tax residence
      - `tin_jurisdiction_reason` 'working_abroad' | 'studying_abroad' | 'dual_residency' | 'business_abroad' | 'real_estate_abroad' | 'other' — Optional. Reason for the tax residence jurisdiction differing from the legal jurisdiction. Defaults to "unknown" if not provided.
      - `proof_of_address_coordinates` object — GPS coordinates of the proof of address. Accepts both Decimal Degrees (DD) and Degrees/Minutes/Seconds (DMS) formats. Values are returned in DD format.
        - `latitude` string, required — Latitude. Accepts both Decimal Degrees (DD) and Degrees/Minutes/Seconds (DMS) formats. Values are returned in DD format.
        - `longitude` string, required — Longitude. Accepts both Decimal Degrees (DD) and Degrees/Minutes/Seconds (DMS) formats. Values are returned in DD format.
      - `platform_code` string
      - `participant_code` string
      - `status` string — The current status of the participant

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/zerohash/apis/zerohash-api.md) · [All operations](https://skmtc.net/zerohash/apis/zerohash-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zerohash/zerohash-api/revisions/8b647d934363/schema)
