Skip to main content
The following API endpoints allow wealth platforms to submit onboarding applications for their individual or institution end clients and create subaccounts for use at Anchorage Digital. Joint subaccounts can be created between multiple end clients, and a single end client can have multiple subaccounts. These endpoints collect data and documentation for Anchorage Digital to satisfy its regulatory obligations to perform Know Your Customer (KYC), Customer Identification Program (CIP), Customer Due Diligence (CDD), and Enhanced Due Diligence (EDD) on its clients and related parties. Once submitted, each end client or subaccount application is screened and approved.

Customer onboarding endpoints

  • POST /v2/onboarding/customers — create a new end client onboarding application (individual or institution)
  • GET /v2/onboarding/customers — return information about all existing onboarding applications associated with this API key
  • GET /v2/onboarding/customers/{{customerId}} — return information about an existing end client onboarding application
  • PUT /v2/onboarding/customers/{{customerId}} — update an existing end client onboarding application
  • POST /v2/onboarding/customers/{{customerId}}/document — retrieve a signed URL for uploading a document image for an existing end client application
  • POST /v2/onboarding/customers/{{customerId}}/submit — submit a completed end client onboarding application
  • POST /v2/onboarding/agreements/terms — create new terms for a signer to sign
  • GET /v2/onboarding/agreements/terms — return information about all existing terms
  • GET /v2/onboarding/agreements/terms/{{termsAgreementId}} — return Docusign signed URL for the terms

Payload structure

Each endpoint accepts a data payload with an entries object containing tag/value pairs:
{
  "entries": [
    {
      "key": "boolField",
      "value": true
    },
    {
      "key": "numberField",
      "value": 10
    },
    {
      "key": "stringField",
      "value": "stringFieldValue"
    },
    {
      "key": "collectionField",
      "value": [
        "collectionField0Value",
        "collectionField1Value"
      ]
    },
    {
      "key": "objectField",
      "value": {
        "field0": "field0Value",
        "field1": "field1Value",
        "field2": "field2Value"
      }
    },
    {
      "key": "objectCollectionField",
      "value": [
        {
          "field0": "field0AValue",
          "field1": "field1AValue",
          "field2": "field2AValue"
        },
        {
          "field0": "field0BValue",
          "field1": "field1BValue",
          "field2": "field2BValue"
        }
      ]
    }
  ]
}
  • Some data is conditional, as described in the payload details for each endpoint.
  • Payload data elements support versioning to prevent breaking changes. Use the optional applicationVersion parameter to specify the payload version. The default is 0, which points to the latest version. The current latest version is 1; breaking changes will be applied to newer versions only.
  • String field values are limited to 512 characters. Fields with further restrictions are listed in the Value Restrictions column of the relevant payload tables.