---
title: "Get participant full info"
method: GET
path: "/participant/{participant_code}/full_info"
tags: ["Query Participants"]
---

# Get participant full info

`GET /participant/{participant_code}/full_info`

This endpoint returns Participant full info.

## Path parameters

- `participant_code` string, required

## Headers

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

## Response `200`

Successfully retrieved participant full information. Including all profile details, KYC status, limits, and account configuration.

- GetParticipantFullInfoResponse
  - `message` object
    - `participant_code` string — Unique participant code
    - `status` string — The current status of the participant
    - `action` string — The action taken
    - `action_reason` string — If the participant has changed statuses, the reason code will give more details like `compliance_issue`, `user_request`, or `risk_cleared`
    - `user_email` string — Identifier of the user who last acted on this participant. Typically an email address, but may be any opaque user identifier.
    - `participant_type` string — The type of participant.
    - `name` string — Full display name of the participant.
    - `first_name` string — First name of the participant.
    - `last_name` string — Last name of the participant.
    - `email` string, email — Email of the participant.
    - `contact_number` string — Phone number of the business.
    - `website` string — Website of the business.
    - `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 regular maximum length is 50 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 — The city minor resides in
    - `postal_code` string — Postal, or zip code, of the business, in the format "min 4 characters, no leading or trailing spaces" for non-US postal code or <5digits>-<4digits> for US zip code, e.g. 77777 or 77777-7777
    - `date_established` string — Date the business was established. This should reflect government registration for the entity in the format `YYYY-MM-DD`
    - `legal_name` string — Registered legal name of the entity. This should not be a DBA or DBA equivalent
    - `entity_type` 'corporation' | 'llc' | 'partnership' | 'sole_proprietorship' | 'other' | 'non_profit' | 'public_or_semi_public_administrative' | 'trust' | 'cooperation' | 'company_with_limited_liability' | 'llc_c' | 'llc_s' | 'llc_p' | 's_corporation' | 'c_corporation' | 'trust_estate' — The type of business that is onboarding, must be one of the supported
    - `state_or_province_of_organization` string
    - `date_of_birth` string — Date of birth of the participant
    - `submission_method` string — The method of submission
    - `signed_timestamp` number — The time at which the business accepted zerohash services agreements
    - `created_at` number — Creation timestamp
    - `last_updated` number — Last update timestamp
    - `platform_updated_at` number — Platform updated timestamp
    - `kyc_timestamp` number — The timestamp at which the KYC was completed
    - `sanction_screening_timestamp` number — The time the sanctions screen was done
    - `kyc_participant_track` string — KYC track the participant was onboarded under (e.g. `vendor reliance`).
    - `jurisdiction_updated_at` number — Unix timestamp in milliseconds indicating when the jurisdiction was last updated.
    - `kyc_tier` string — The KYC tier currently held by the participant (e.g. `FULL`, `LIGHT`).
    - `subdomain` string — Registered subdomain of the entity.
    - `jurisdiction_code` string — The ISO 3166-2 subdivision code that the customer resides in
    - `id_number` string — The ID number for the customer
    - `id_number_type` 'ssn' | 'ein' | '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' | 'legal_entity_identifier' | 'chamber_of_commerce_number' | 'value_added_tax_number' | 'national_id' — The type of ID number that is provided, must be one of the supported types.
    - `non_us_other_type` string — A freeform string to describe the ID type that does not fit into the other predefined categories of ID types.
    - `id_issuing_authority` string — ISO-3166-1_A2 country code that issued the ID
    - `non_us_entity_tax_id` string — The tax identifier for a non-US entity
    - `tax_id` string — The national ID of the participant, e.g. a social security number.
    - `kyc` 'pass' | 'fail' — Whether the participant passed or failed KYC by vendor.
    - `onboarding_profile` 'kyc_track' | 'shopper' | 'originator_entity' | 'payouts_payor_ultimate' | 'payouts_beneficiary' — Onboarding profile used to determine the participant's KYC track. Defaults to 'kyc_track' when omitted.
    - `merchant_category_code` string — ISO 18245 four-digit Merchant Category Code (MCC) that identifies the business activity of the entity. Accepted on entity create/update; zerohash derives `merchant_category_code_category` and `merchant_category_code_classification` from this value.
    - `merchant_category_code_category` string — Human-readable category derived by zerohash from `merchant_category_code`. Returned in responses only; not accepted as input.
    - `merchant_category_code_classification` 'transferable' | 'nontransferable' | 'food_vendor' — Classification derived by zerohash from `merchant_category_code`, used to determine how the merchant is treated for downstream payment flows. Returned in responses only; not accepted as input.
    - `sanction_screening` 'pass' | 'fail' — Whether the participant passed sanctions checks.
    - `idv` 'pass' | 'fail' — Whether the participant passed or failed ID verification.
    - `liveness_check` 'pass' | 'fail' — Whether the participant passed or failed a liveness check on their onboarding experience.
    - `employment_status` 'full_time' | 'part_time' | 'self_employed' | 'unemployed' | 'retired' | 'student' — The employment status of the participant.
    - `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' — The industry in which the participant is employed.
    - `source_of_funds` 'salary' | 'savings' | 'pension_retirement' | 'inheritance' | 'investment' | 'loan' | 'gift' | 'other' — How the participant funds their account to support their trading activity.
    - `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 — The type of the agreement signed
      - `region` 'worldwide' | 'us' | 'brazil' | 'uk' | 'eu', required — The region for the signed agreement
      - `signed_timestamp` number, required — The UNIX timestamp (in milliseconds) when the 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.
    - `onboarded_location` string — The location of a participant during onboarding, ISO 3166-2 standard
    - `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).
    - `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).
    - `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 gross annual income amount, 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.
    - `investor_category` 'restricted' | 'high_net_worth_individual' | 'certified_sophisticated_investor' — Investor category of the participant
    - `ip_address` string — The IP address of the participant
    - `appropriateness_test_results` object[] — The results of a participant to determining whether or not they have enough knowledge and experience to understand the risks associated with trading an instrument (in ZH case, crypto).
      - `result` 'pass' | 'fail', required — The results of the administered appropriateness test
      - `timestamp` string, required — The date when the test result was generated
    - `kyc_attempts` number — The number of KYC attempts done by 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`.
    - `metadata` object — Additional unstructured metadata
    - `email_screening` 'passed' | 'failed' | 'error' — Whether the participant passed email screening
    - `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.
    - `tin_jurisdiction_other` string — Optional. Free text explanation when `tin_jurisdiction_reason` is `other`.
    - `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
    - `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.
    - `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`.
    - `w8_ben_e` object — Wrapper sub-object holding W-8BEN-E tax certification data for a foreign (non-US) entity customer. Inherits all shared W-8 fields plus the entity-only fields below. Optional at the wrapper level.
      - `tax_classification` 'individual' | 'corporation' | 'partnership' | 'simple_trust' | 'complex_trust' | 'grantor_trust' | 'estate' | 'central_bank_of_issue' | 'foreign_government_controlled_entity' | 'foreign_government_integral_part' | 'tax_exempt_organization' | 'private_foundation' | 'international_organization' — Entity's IRS tax classification (e.g. corporation, partnership, trust variants, estate, tax-exempt organization). Required for W-8 form generation when `w8_ben_e` is present. Accepted string tokens listed in enum; legacy numeric values still accepted for backward compatibility.
      - `ftin` string — Foreign tax identification number issued by the entity's country of tax residence. Required unless `ftin_required = false`.
      - `ftin_required` boolean — Whether the entity'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 entity 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' — Entity'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 — Entity's on-form attestation that it is 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 7, paragraph 1"). Free text but should match the actual treaty section. Required when `is_eligible = true`.
        - `additional_conditions` boolean — Whether the entity asserts that extra conditions in the treaty article are met. Send `true` only if the entity has affirmatively confirmed. Required when `is_eligible = true`.
        - `requirements_certification` boolean — Entity's on-form attestation that it derives the relevant income and meets all qualifying tests of the treaty provision. Must be `true` when an entity is claiming treaty benefits in order to generate a W-8 form. Required when `is_eligible = true`.
        - `limitation_on_benefits` 'government' | 'tax_exempt_pension' | 'other_tax_exempt_organization' | 'publicly_traded_corporation' | 'subsidiary' | 'company_meets_erosion_test' | 'company_meets_derivative_test' | 'company_meets_business_test' | 'favorable_determination' | 'no_lob_article' | 'other_article_paragraph' — Which Limitation on Benefits (LOB) clause the entity qualifies under. Required when `is_eligible = true`. Accepted string tokens listed in enum; legacy numeric values still accepted for backward compatibility.
        - `limitation_on_benefits_other` string — Free-text describing the article and paragraph the entity is relying on. Required when (and only when) `limitation_on_benefits = other_article_paragraph`.
    - `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

## 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/versions/8b647d934363/schema)
