> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anchorage.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Onboard institutions

> Submit, upload, and approve institutional end client onboarding applications via the Anchorage Digital onboarding API.

This flow supports opening the following account types for institutional end clients:

* `INDIVIDUAL_TAXABLE`
* `INSTITUTIONAL_TAXABLE`
* `IRA` — may contain an optional `CONVERSION` or `ROLLOVER` sub-type
* `ROTH` — may contain an optional `CONVERSION` or `ROLLOVER` sub-type
* `JOINT`
* `CUSTODIAL`

Key differences from the existing institution onboarding flow:

* `physicalStateUS` must be the 2-letter USPS state code when `physicalCountry` is `US`.
* `physicalStateOther` must contain alphabetical characters when `physicalCountry` is not `US`.
* New `hasDbaName` boolean field.
* New `dbaNames` field — required when `hasDbaName` is `true`.
* New upload field `constitutionDocument` — required.
* New upload field `proofOfAddress` — required when `hasProofOfAddress` is `true`.
* Removed fields: `legalStructure`, `customerType`, `countryOfIncorporation`, `legalRegistAddrDifPrincPlace` and all related legal address fields, `initialFundingWalletGroup`, `sourceOfWealth`.

***

## Integration steps

<Steps>
  <Step title="Create an institution application">
    **`POST /v2/onboarding/customers`**

    * `applicationType`: `RIA_PC_INSTITUTION`
    * `externalId`: unique identifier used by the wealth platform to identify this end client
    * `entries`: see tables below

    <Note>
      If the given `externalId` has already been tied to another end client, an `external_id already in use` error will be returned.
    </Note>

    **General entries:**

    | **Tag**                    | **Description**                                          | **Required**                                        | **Type** | **Value restrictions**                                                              |
    | :------------------------- | :------------------------------------------------------- | :-------------------------------------------------- | :------- | :---------------------------------------------------------------------------------- |
    | legalEntityName            | legal entity name                                        | Yes                                                 | String   |                                                                                     |
    | hasDbaName                 | does the organization have a registered DBA name?        | Yes                                                 | Boolean  | `true` or `false`                                                                   |
    | dbaNames                   | DBA name                                                 | Yes, if `hasDbaName` is `true`                      | String   |                                                                                     |
    | businessRegistrationNumber | business registration number                             | Yes (this or `taxId` required)                      | String   |                                                                                     |
    | taxId                      | EIN                                                      | Yes (this or `businessRegistrationNumber` required) | Number   | 9-digit number                                                                      |
    | proofOfAddressContext      | explanation when `hasProofOfAddress` is `false`          | No                                                  | String   |                                                                                     |
    | legalStructure             | legal structure of the institution                       | No                                                  | Enum     | `C_CORP`; `LLC`; `LLP`; `LP`; `S_CORP`; `SOLE_PROP`; `TRUST`; `NON_PROFIT`; `OTHER` |
    | legalStructureOther        | legal structure when `legalStructure` is `OTHER`         | No                                                  | String   |                                                                                     |
    | physicalCountry            | country                                                  | Yes                                                 | String   | ISO 3166-1 alpha-2 country code                                                     |
    | physicalStreetAddress      | street address                                           | Yes                                                 | String   |                                                                                     |
    | physicalCity               | city name                                                | Yes                                                 | String   |                                                                                     |
    | physicalStateUS            | US state                                                 | Yes, for US country                                 | String   | 2-character USPS state code                                                         |
    | physicalStateOther         | non-US state or province                                 | Yes, for non-US countries                           | String   |                                                                                     |
    | physicalPostalCode         | zip code or postal code                                  | Yes                                                 | String   |                                                                                     |
    | hasProofOfAddress          | can you provide a proof of address?                      | Yes                                                 | Boolean  | `true` or `false`                                                                   |
    | hasProofOfAddressContext   | additional context if unable to provide proof of address | No                                                  | String   |                                                                                     |

    **Additional entries for IRS reporting requirements (US and non-US entities):**

    | **Tag**                     | **Description**                                                   | **Required**                                                                                                             | **Type** | **Value restrictions**                                                                                                                                        |
    | :-------------------------- | :---------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | **US entity**               |                                                                   |                                                                                                                          |          |                                                                                                                                                               |
    | taxClassificationUs         | tax classification (entity type)                                  | Yes if `taxId` is provided                                                                                               | Enum     | See [Tax classifications](/knowledge-base/platform/developers/wealth/wealth-management-onboarding-tax-classifications)                                        |
    | taxExemptionPayeeCode       | exempt payee code                                                 | No                                                                                                                       | Enum     | `TAX_EXEMPT_PAYEE_CODE_1` through `TAX_EXEMPT_PAYEE_CODE_13`. [Values](https://www.sec.gov/Archives/edgar/data/896923/000120677416006118/exhibit99_a1-vi.htm) |
    | fatcaExemptionReportingCode | exemption from FATCA reporting code                               | No                                                                                                                       | Enum     | See [FATCA](/knowledge-base/platform/developers/wealth/wealth-management-onboarding-fatca)                                                                    |
    | certifiedW9                 | customer has signed W-9 certification                             | Yes if `taxId` is provided                                                                                               | Boolean  | `true` or `false`                                                                                                                                             |
    | **Non-US entity**           |                                                                   |                                                                                                                          |          |                                                                                                                                                               |
    | taxClassificationNonUs      | tax classification (entity type)                                  | Yes if `businessRegistrationNumber` is provided                                                                          | Enum     | See [Tax classifications](/knowledge-base/platform/developers/wealth/wealth-management-onboarding-tax-classifications)                                        |
    | disregardedEntityName       | disregarded entity name                                           | Yes if `taxClassificationNonUs` is `DISREGARDED_ENTITY`                                                                  | String   |                                                                                                                                                               |
    | fatcaEntityType             | FATCA entity type                                                 | Yes if `taxClassificationNonUs` is `DISREGARDED_ENTITY`                                                                  | Enum     | See [FATCA](/knowledge-base/platform/developers/wealth/wealth-management-onboarding-fatca)                                                                    |
    | fatcaStatusFfi              | FATCA status                                                      | Yes if `fatcaEntityType` is `FFI`                                                                                        | Enum     | See [FATCA](/knowledge-base/platform/developers/wealth/wealth-management-onboarding-fatca)                                                                    |
    | fatcaStatusNffe             | FATCA status                                                      | Yes if `fatcaEntityType` is `NFFE`                                                                                       | Enum     | See [FATCA](/knowledge-base/platform/developers/wealth/wealth-management-onboarding-fatca)                                                                    |
    | fatcaStatusExemptBO         | FATCA status                                                      | Yes if `fatcaEntityType` is `EXEMPTBO`                                                                                   | Enum     | See [FATCA](/knowledge-base/platform/developers/wealth/wealth-management-onboarding-fatca)                                                                    |
    | giin                        | GIIN                                                              | Yes if `fatcaStatusFfi` is `REPORTING_MODEL_1`, `REPORTING_MODEL_2`, or `REGISTERED_DEEMED_COMPLIANT_OTHER_THAN_MODEL_1` | String   | See [GIIN composition](https://www.irs.gov/businesses/corporations/fatca-registration-and-ffi-list-giin-composition-information)                              |
    | beneficialOwnersRequired    | any individuals directly or indirectly owning ≥25% of the entity? | Yes if `fatcaStatusNffe` is `PASSIVE`                                                                                    | Boolean  |                                                                                                                                                               |
    | beneficiaryFirstName        | beneficiary's legal first name                                    | Yes if `beneficialOwnersRequired` is `true`                                                                              | String   |                                                                                                                                                               |
    | beneficiaryLastName         | beneficiary's legal last name                                     | Yes if `beneficialOwnersRequired` is `true`                                                                              | String   |                                                                                                                                                               |
    | beneficiaryTaxId            | beneficiary's US taxpayer ID number                               | Yes if `beneficialOwnersRequired` is `true`                                                                              | String   | 9-digit number                                                                                                                                                |
    | beneficiaryAllocation       | beneficiary's percentage of ownership                             | Yes if `beneficialOwnersRequired` is `true`                                                                              | String   | 1–100, no percentage sign or spaces (e.g., `35`)                                                                                                              |
    | beneficiaryCountry          | beneficiary's residential country                                 | Yes if `beneficialOwnersRequired` is `true`                                                                              | String   | ISO 3166-1 alpha-2 country code                                                                                                                               |
    | beneficiaryStreetAddress    | beneficiary's residential street address                          | Yes if `beneficialOwnersRequired` is `true`                                                                              | String   |                                                                                                                                                               |
    | beneficiaryCity             | beneficiary's residential city                                    | Yes if `beneficialOwnersRequired` is `true`                                                                              | String   |                                                                                                                                                               |
    | beneficiaryStateUS          | beneficiary's residential state                                   | Yes, for US country                                                                                                      | String   | 2-character USPS state code                                                                                                                                   |
    | beneficiaryStateOther       | beneficiary's residential state/province                          | Yes, for non-US countries                                                                                                | String   |                                                                                                                                                               |
    | beneficiaryPostalCode       | beneficiary's zip code or postal code                             | Yes if `beneficialOwnersRequired` is `true`                                                                              | String   |                                                                                                                                                               |
    | certifiedW8                 | customer has signed W-8 certification                             | Yes if `businessRegistrationNumber` is provided                                                                          | Boolean  | `true` or `false`                                                                                                                                             |

    A unique `customerId` is returned, which will be used in all future calls to identify this end client at Anchorage Digital.

    **Sample — US entity:**

    ```json theme={null}
    {
      "applicationType": "RIA_PC_INSTITUTION",
      "entries": [
        { "key": "legalEntityName", "value": "Encom LLC" },
        { "key": "hasDbaName", "value": true },
        { "key": "dbaNames", "value": "Encom Video Games" },
        { "key": "taxId", "value": "123456789" },
        { "key": "physicalCountry", "value": "US" },
        { "key": "physicalStreetAddress", "value": "123 Lightcycle Way" },
        { "key": "physicalCity", "value": "San Francisco" },
        { "key": "physicalStateUS", "value": "CA" },
        { "key": "physicalPostalCode", "value": "94104" },
        { "key": "hasProofOfAddress", "value": true },
        { "key": "taxClassificationUs", "value": "C_CORP" },
        { "key": "taxExemptionPayeeCode", "value": "TAX_EXEMPT_PAYEE_CODE_5" },
        { "key": "fatcaExemptionReportingCode", "value": "FATCA_EXEMPT_REPORTING_CODE_D" },
        { "key": "certifiedW9", "value": true }
      ]
    }
    ```

    **Sample — non-US entity:**

    ```json theme={null}
    {
      "applicationType": "RIA_PC_INSTITUTION",
      "entries": [
        { "key": "legalEntityName", "value": "Encom LLC" },
        { "key": "hasDbaName", "value": true },
        { "key": "dbaNames", "value": "Encom Video Games" },
        { "key": "businessRegistrationNumber", "value": "123456789" },
        { "key": "physicalCountry", "value": "GB" },
        { "key": "physicalStreetAddress", "value": "123 Lightcycle Way" },
        { "key": "physicalCity", "value": "London" },
        { "key": "physicalStateOther", "value": "London" },
        { "key": "physicalPostalCode", "value": "94104" },
        { "key": "hasProofOfAddress", "value": true },
        { "key": "taxClassificationNonUs", "value": "CORP" },
        { "key": "fatcaEntityType", "value": "NFFE" },
        { "key": "fatcaStatusNffe", "value": "PASSIVE" },
        { "key": "beneficialOwnersRequired", "value": true },
        {
          "key": "beneficiaryGroup",
          "value": [
            {
              "beneficiaryFirstName": "John",
              "beneficiaryLastName": "Smith",
              "beneficiaryTaxId": "123456789",
              "beneficiaryAllocation": "60",
              "beneficiaryCountry": "GB",
              "beneficiaryStreetAddress": "10 Downing Street",
              "beneficiaryCity": "London",
              "beneficiaryStateOther": "England",
              "beneficiaryPostalCode": "SW1A 1AA"
            },
            {
              "beneficiaryFirstName": "Jane",
              "beneficiaryLastName": "Doe",
              "beneficiaryTaxId": "987654321",
              "beneficiaryAllocation": "40",
              "beneficiaryCountry": "GB",
              "beneficiaryStreetAddress": "221B Baker Street",
              "beneficiaryCity": "London",
              "beneficiaryStateOther": "England",
              "beneficiaryPostalCode": "NW1 6XE"
            }
          ]
        },
        { "key": "certifiedW8", "value": true }
      ]
    }
    ```

    **Response:**

    ```json theme={null}
    {
      "data": {
        "customerId": "d6f81b1563687f326ac9e3d4a00f9a0949e4ca81158cc47674846d27094b2503",
        "status": "IN_PROGRESS"
      }
    }
    ```
  </Step>

  <Step title="Upload required document images">
    **`POST /v2/onboarding/customers/{{customerId}}/document`**

    | **Tag**              | **Description**         | **Required**                          | **Type** | **Value restrictions**             |
    | :------------------- | :---------------------- | :------------------------------------ | :------- | :--------------------------------- |
    | constitutionDocument | constitutional document | Yes                                   | Upload   | GIF, JPEG, PNG, or PDF — max 25 MB |
    | proofOfAddress       | proof of address        | Yes, if `hasProofOfAddress` is `true` | Upload   | GIF, JPEG, PNG, or PDF — max 25 MB |

    <Note>
      Upload a single image file (GIF, JPEG, PNG, or PDF). If a second file is uploaded, the latest replaces the first. Multi-file archives are rejected. A signed upload URL is returned and accepts the document via a PUT request. The URL is valid for 15 minutes — if it expires, request a new one by calling this endpoint again.
    </Note>

    **Sample request:**

    ```json theme={null}
    {
      "documentType": "constitutionDocument"
    }
    ```

    **Sample response:**

    ```json theme={null}
    {
      "data": {
        "url": "https://storage.googleapis.com/staging-191601-bio-default/anchorage/pii/v1/d6f81b1563687f326ac9e3d4a00f9a0949e4ca81158cc47674846d27094b2503/CONSTITUTION_DOCUMENT/994c0115e0f5cd3c0bd17f82c93bd63aec1f3f919a9e7e431ce62aa564ea2c3d?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=kyc-default%40staging-191601.iam.gserviceaccount.com%2F20250409%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20250409T043734Z&X-Goog-Expires=899&X-Goog-Signature=8e49d401c3e0916a98dab97f3b4718a612e53a26998e5ca80d8dded71a2b99e9628db38b4eef1611a0b54721c80fe4f57869185a4ce57045af372df57dd87ec4429f0aac6dde0193f6b1e0bd03b0050121113e9cf9e86cb182c0eed220c3e697646733ee81d240b893bf6a9a118d5d5183cb4f0fa97f1ed983c13941a55acf26fb9e841c812bbce3d69a9ff4583e523aaddf09c430c640c2cac4cc6ac2e8c83535b57375288b3c18dd8c46257ea6eea12563e9a98d2a18382a7955cedea4ac68e5271c1d32aa97a0546bb3350ab4063e11ced5e7019026c10bfa2fb7b17ff79ad9d912de3ccda0c83c10b21d7e91259e85988c4dd098bc7b6ccc734df12c9c8f&X-Goog-SignedHeaders=host"
      }
    }
    ```

    **Upload the image:**

    ```bash theme={null}
    curl -X PUT -H 'Content-Type: application/octet-stream' --data-binary @image.png {{step4url.response.body.data.url}}
    ```
  </Step>

  <Step title="Check the status of the application">
    **`GET /v2/onboarding/customers/{{customerId}}`**

    Any errors or missing documents are listed in the `errors` section of the response.

    **Sample response:**

    ```json theme={null}
    {
      "data": {
        "customerId": "26c014539bd34e8e441e34381d9d5dad9434bb3645dbbf27d8267304e7ad0584",
        "entries": [
          { "key": "legalEntityName", "value": "ACME Corp - 2025-04-11T11:08:11.771Z" },
          { "key": "dbaNames", "value": "Encom Video Games" },
          { "key": "taxId", "value": "123456789" },
          { "key": "hasProofOfAddress", "value": "Yes" },
          { "key": "physicalCity", "value": "San Francisco" },
          { "key": "physicalCountry", "value": "United States" },
          { "key": "physicalStateUS", "value": "California" },
          { "key": "physicalStreetAddress", "value": "123 Lightcycle Way" },
          { "key": "physicalPostalCode", "value": "94104" },
          { "key": "hasDbaName", "value": "Yes" }
        ],
        "errors": [
          {
            "key": "constitutionDocument",
            "status": "MISSING",
            "value": "expected 1 answer for non-void triggered question, instead got 0"
          },
          {
            "key": "proofOfAddress",
            "status": "MISSING",
            "value": "expected 1 answer for non-void triggered question, instead got 0"
          }
        ],
        "status": "IN_PROGRESS"
      }
    }
    ```
  </Step>

  <Step title="Submit the application">
    **`POST /v2/onboarding/customers/{{customerId}}/submit`**

    Once successfully submitted, you may submit another end client application or a linked subaccount application.

    <Note>
      You do not need to wait for approval before submitting linked subaccount applications.
    </Note>
  </Step>

  <Step title="Check the approval status">
    **`GET /v2/onboarding/customers/{{customerId}}`**

    Upon successful submission, status changes from `IN_PROGRESS` to `IN_REVIEW`. Once fully approved, status changes to `COMPLETE`.

    To receive asynchronous notification when approval is complete, register for webhooks. See [Configure webhooks](/knowledge-base/platform/developers/webhooks/webhooks-configure).

    **Sample response:**

    ```json theme={null}
    {
      "data": {
        "customerId": "26c014539bd34e8e441e34381d9d5dad9434bb3645dbbf27d8267304e7ad0584",
        "entries": [
          { "key": "legalEntityName", "value": "ACME Corp - 2025-04-11T11:08:11.771Z" },
          { "key": "dbaNames", "value": "Encom Video Games" },
          { "key": "taxId", "value": "123456789" },
          { "key": "hasProofOfAddress", "value": "Yes" },
          { "key": "physicalCity", "value": "San Francisco" },
          { "key": "physicalCountry", "value": "United States" },
          { "key": "physicalStateUS", "value": "California" },
          { "key": "physicalStreetAddress", "value": "123 Lightcycle Way" },
          { "key": "physicalPostalCode", "value": "94104" },
          { "key": "hasDbaName", "value": "Yes" }
        ],
        "status": "COMPLETE"
      }
    }
    ```
  </Step>
</Steps>

***

## Reliance only: edit customer information

RIAs with full or partial KYC reliance have access to a flow in which program customers are auto-approved. For these RIAs, select fields remain editable even after application status is `COMPLETE`.

| **Tag**                    | **Description**                                          | **Required**                                        | **Can edit** | **Type** | **Value restrictions**                                                              |
| :------------------------- | :------------------------------------------------------- | :-------------------------------------------------- | :----------- | :------- | :---------------------------------------------------------------------------------- |
| legalEntityName            | legal entity name                                        | Yes                                                 | No           | String   |                                                                                     |
| hasDbaName                 | does the organization have a registered DBA name?        | Yes                                                 | Yes          | Boolean  | `true` or `false`                                                                   |
| dbaNames                   | DBA name                                                 | Yes, if `hasDbaName` is `true`                      | Yes          | String   |                                                                                     |
| taxId                      | EIN                                                      | Yes (this or `businessRegistrationNumber` required) | No           | Number   | 9-digit number                                                                      |
| businessRegistrationNumber | business registration number                             | Yes (this or `taxId` required)                      | No           | String   |                                                                                     |
| proofOfAddressContext      | explanation when `hasProofOfAddress` is `false`          | No                                                  | Yes          | String   |                                                                                     |
| legalStructure             | legal structure of the institution                       | No                                                  | No           | Enum     | `C_CORP`; `LLC`; `LLP`; `LP`; `S_CORP`; `SOLE_PROP`; `TRUST`; `NON_PROFIT`; `OTHER` |
| legalStructureOther        | legal structure when `legalStructure` is `OTHER`         | No                                                  | Yes          | String   |                                                                                     |
| physicalCountry            | country                                                  | Yes                                                 | Yes          | String   | ISO 3166-1 alpha-2 country code                                                     |
| physicalStreetAddress      | street address                                           | Yes                                                 | Yes          | String   |                                                                                     |
| physicalCity               | city name                                                | Yes                                                 | Yes          | String   |                                                                                     |
| physicalStateUS            | US state                                                 | Yes, for US country                                 | Yes          | String   | 2-character USPS state code                                                         |
| physicalStateOther         | non-US state or province                                 | Yes, for non-US countries                           | Yes          | String   |                                                                                     |
| physicalPostalCode         | zip code or postal code                                  | Yes                                                 | Yes          | String   |                                                                                     |
| hasProofOfAddress          | can you provide a proof of address?                      | Yes                                                 | Yes          | Boolean  | `true` or `false`                                                                   |
| hasProofOfAddressContext   | additional context if unable to provide proof of address | No                                                  | Yes          | String   |                                                                                     |

***

## Changelog

| Date             | Change                                                                                                                                                              |
| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| December 4, 2025 | Updates for new onboarding API fields related to 1099-DA requirements: W-8/W-9 collection to avoid backup withholding. New fields added for **Tax Classification**. |
| June 10, 2025    | Updates for new onboarding API payloads and flows                                                                                                                   |
| May 1, 2025      | Initial version                                                                                                                                                     |
