---
description: "This endpoint retrieves a paginated list of customers for the Business User's account. `Agreements` is not returned on list items; use `GET /customers/{CustomerID}` or Customer webhooks for agreement state."
title: "Customers"
---

# Customers

> This endpoint retrieves a paginated list of customers for the Business User's account. `Agreements` is not returned on list items; use `GET /customers/{CustomerID}` or Customer webhooks for agreement state.

```http
GET /customers
```

- `https://api.sandbox.noah.com/v1/customers` — V1 Sandbox Server
- `https://api.noah.com/v1/customers` — V1 Production Server

## Authentication

- `X-Api-Key`: Your Noah API key. Required on all requests. See [API Keys](/api-concepts/authentication/api).
- `Api-Signature`: Digitally signed JWT used to verify request authenticity. Optional in sandbox when your API key has no associated signing public key; required in production for all requests. If sent, the signature is always validated. See [Request Signing](/api-concepts/authentication/signing).

## Query parameters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `PageSize` | integer | No | (range 1-100; default `20`) |
| `PageToken` | string | No |  |
| `SortDirection` | `ASC` \| `DESC` | No | Direction of sorting (default `DESC`) |

## Responses

### 200 — List of customers

#### `application/json`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `Items` | (IndividualCustomer \| BusinessCustomer)[] | Yes | (discriminated by `Type`) |
| `Items[][IndividualCustomer]` | object | No |  |
| `Items[][IndividualCustomer].Type` | `Individual` | Yes |  |
| `Items[][IndividualCustomer].CustomerID` | string | Yes | A unique ID which identifies the customer in the Business' internal system and in NOAH. (length 1-42) |
| `Items[][IndividualCustomer].Created` | string (date-time) | Yes |  |
| `Items[][IndividualCustomer].DateOfBirth` | string (date) | Yes | (length 10-10; pattern `^\d{4}-\d{2}-\d{2}$`) |
| `Items[][IndividualCustomer].FullName` | object | Yes |  |
| `Items[][IndividualCustomer].FullName.FirstName` | string | Yes | user's first name (length 1-50) |
| `Items[][IndividualCustomer].FullName.LastName` | string | Yes | user's last name (family name) (length 1-50) |
| `Items[][IndividualCustomer].FullName.MiddleName` | string | No | user's middle name (length 1-50) |
| `Items[][IndividualCustomer].Identities` | object[] | Yes |  |
| `Items[][IndividualCustomer].Identities[].IssuingCountry` | string | Yes | ISO 3166-1 alpha-2 country code. |
| `Items[][IndividualCustomer].Identities[].IDNumber` | string | Yes | (length 1-36) |
| `Items[][IndividualCustomer].Identities[].IssuedDate` | string (date) | No | (length 10-10; pattern `^\d{4}-\d{2}-\d{2}$`) |
| `Items[][IndividualCustomer].Identities[].ExpiryDate` | string (date) | No | (length 10-10; pattern `^\d{4}-\d{2}-\d{2}$`) |
| `Items[][IndividualCustomer].Identities[].IDType` | string | Yes | Type of identification document: * DrivingLicense * NationalIDCard * Passport * AddressProof * ResidencePermit * TaxID |
| `Items[][IndividualCustomer].PrimaryResidence` | object | Yes | Physical postal address. All string fields must be printable ASCII. State and PostCode are required for every country. See [Address Validation](/api-concepts/address-validation) for country-specific rules and payment-form differences. |
| `Items[][IndividualCustomer].PrimaryResidence.Street` | string | Yes | Street: the primary name of an address's street. Printable ASCII only. (length 2-200) |
| `Items[][IndividualCustomer].PrimaryResidence.Street2` | string | No | Street2: the secondary name of an address's street. Optional. Printable ASCII only. (length 0-200) |
| `Items[][IndividualCustomer].PrimaryResidence.City` | string | Yes | City: name of an address's city or town. Printable ASCII only. (length 1-100) |
| `Items[][IndividualCustomer].PrimaryResidence.PostCode` | string | Yes | PostCode: the address's postcode or ZIP code. Required for all countries (1-20 characters). Use the format from the customer's official documents. Placeholder values such as 00000 or NA are not accepted. (length 1-20) |
| `Items[][IndividualCustomer].PrimaryResidence.State` | string | Yes | State: the address's state, province, or county. Required for all countries (1-100 characters). For USA and Canada, use the ISO 3166-2 subdivision code as two uppercase letters (e.g. CA). For other countries, use the local administrative division name. Placeholders such as NA or None are not accepted. (length 1-100) |
| `Items[][IndividualCustomer].PrimaryResidence.Country` | string | Yes | ISO 3166-1 alpha-2 country code. |
| `Items[][IndividualCustomer].Verifications` | object | No | Verification data for the customer |
| `Items[][IndividualCustomer].Verifications.Type` | `Individual` \| `Business` | Yes |  |
| `Items[][IndividualCustomer].Verifications.Status` | string | Yes |  |
| `Items[][IndividualCustomer].Verifications.ActionsRequired` | (`HighRiskInfo` \| `HighRiskInfoSenior` \| `SourceOfWealth` \| `DocumentPageMissing` \| `DocumentReupload` \| `SelfieReupload` \| `ProofOfAddress` \| `ProofOfAddressReupload` \| `IncorrectTaxID`)[] | No | Additional actions currently required from the customer to complete the review. |
| `Items[][IndividualCustomer].Verifications.EntityVerifications` | object[] | Yes |  |
| `Items[][IndividualCustomer].Verifications.EntityVerifications[].Model` | string | Yes |  |
| `Items[][IndividualCustomer].Verifications.EntityVerifications[].Status` | string | Yes |  |
| `Items[][IndividualCustomer].Verifications.EntityVerifications[].Created` | string (date-time) | Yes |  |
| `Items[][IndividualCustomer].Verifications.EntityVerifications[].Modified` | string (date-time) | Yes |  |
| `Items[][IndividualCustomer].Verifications.EntityVerifications[].Entity` | string | Yes |  |
| `Items[][IndividualCustomer].Verifications.EntityVerifications[].RejectionData` | object | No |  |
| `Items[][IndividualCustomer].Verifications.EntityVerifications[].RejectionData.RejectType` | `Final` \| `Retry` | Yes |  |
| `Items[][IndividualCustomer].Verifications.EntityVerifications[].RejectionData.PublicComment` | string | No |  |
| `Items[][IndividualCustomer].Metadata` | Record<string, string> | No | Custom user defined key value pairs used for storing additional information about the customer. |
| `Items[][IndividualCustomer].Agreements` | object[] | No |  |
| `Items[][IndividualCustomer].Agreements[].Name` | `NoahPrivacyPolicy` \| `NoahTermsOfService` \| `NoahEsignAgreement` \| `LeadBankFundTransfer` \| `LeadBankTermsAndConditions` \| `LeadBankBusinessFundTransfer` | Yes | Identifier of a terms or agreement document the customer was asked to accept. |
| `Items[][IndividualCustomer].Agreements[].Version` | integer | Yes | Version of the agreement. |
| `Items[][IndividualCustomer].Agreements[].Accepted` | boolean | Yes | Whether the customer has accepted this agreement version. |
| `Items[][IndividualCustomer].Agreements[].AcceptedAt` | string (date-time) | No | Time at which the agreement was accepted. Present only when Accepted is true. |
| `Items[][BusinessCustomer]` | object | No |  |
| `Items[][BusinessCustomer].Type` | `Business` | Yes |  |
| `Items[][BusinessCustomer].CustomerID` | string | Yes | A unique ID which identifies the customer in the Business' internal system and in NOAH. (length 1-42) |
| `Items[][BusinessCustomer].Created` | string (date-time) | Yes |  |
| `Items[][BusinessCustomer].RegisteredName` | string | Yes | Name of the business. |
| `Items[][BusinessCustomer].Email` | string (email) | No | Email address of the business. |
| `Items[][BusinessCustomer].RegistrationNumber` | string | No | Registration number of the business. |
| `Items[][BusinessCustomer].RegistrationCountry` | string | No | ISO 3166-1 alpha-2 country code. |
| `Items[][BusinessCustomer].RegisteredAddress` | object | No | Physical postal address. All string fields must be printable ASCII. State and PostCode are required for every country. See [Address Validation](/api-concepts/address-validation) for country-specific rules and payment-form differences. |
| `Items[][BusinessCustomer].RegisteredAddress.Street` | string | Yes | Street: the primary name of an address's street. Printable ASCII only. (length 2-200) |
| `Items[][BusinessCustomer].RegisteredAddress.Street2` | string | No | Street2: the secondary name of an address's street. Optional. Printable ASCII only. (length 0-200) |
| `Items[][BusinessCustomer].RegisteredAddress.City` | string | Yes | City: name of an address's city or town. Printable ASCII only. (length 1-100) |
| `Items[][BusinessCustomer].RegisteredAddress.PostCode` | string | Yes | PostCode: the address's postcode or ZIP code. Required for all countries (1-20 characters). Use the format from the customer's official documents. Placeholder values such as 00000 or NA are not accepted. (length 1-20) |
| `Items[][BusinessCustomer].RegisteredAddress.State` | string | Yes | State: the address's state, province, or county. Required for all countries (1-100 characters). For USA and Canada, use the ISO 3166-2 subdivision code as two uppercase letters (e.g. CA). For other countries, use the local administrative division name. Placeholders such as NA or None are not accepted. (length 1-100) |
| `Items[][BusinessCustomer].RegisteredAddress.Country` | string | Yes | ISO 3166-1 alpha-2 country code. |
| `Items[][BusinessCustomer].IncorporationDate` | string (date) | No | (length 10-10; pattern `^\d{4}-\d{2}-\d{2}$`) |
| `Items[][BusinessCustomer].Verifications` | object | No | Verification data for the customer |
| `Items[][BusinessCustomer].Verifications.Type` | `Individual` \| `Business` | Yes |  |
| `Items[][BusinessCustomer].Verifications.Status` | string | Yes |  |
| `Items[][BusinessCustomer].Verifications.ActionsRequired` | (`HighRiskInfo` \| `HighRiskInfoSenior` \| `SourceOfWealth` \| `DocumentPageMissing` \| `DocumentReupload` \| `SelfieReupload` \| `ProofOfAddress` \| `ProofOfAddressReupload` \| `IncorrectTaxID`)[] | No | Additional actions currently required from the customer to complete the review. |
| `Items[][BusinessCustomer].Verifications.EntityVerifications` | object[] | Yes |  |
| `Items[][BusinessCustomer].Verifications.EntityVerifications[].Model` | string | Yes |  |
| `Items[][BusinessCustomer].Verifications.EntityVerifications[].Status` | string | Yes |  |
| `Items[][BusinessCustomer].Verifications.EntityVerifications[].Created` | string (date-time) | Yes |  |
| `Items[][BusinessCustomer].Verifications.EntityVerifications[].Modified` | string (date-time) | Yes |  |
| `Items[][BusinessCustomer].Verifications.EntityVerifications[].Entity` | string | Yes |  |
| `Items[][BusinessCustomer].Verifications.EntityVerifications[].RejectionData` | object | No |  |
| `Items[][BusinessCustomer].Verifications.EntityVerifications[].RejectionData.RejectType` | `Final` \| `Retry` | Yes |  |
| `Items[][BusinessCustomer].Verifications.EntityVerifications[].RejectionData.PublicComment` | string | No |  |
| `Items[][BusinessCustomer].Metadata` | Record<string, string> | No | Custom user defined key value pairs used for storing additional information about the customer. |
| `Items[][BusinessCustomer].Agreements` | object[] | No |  |
| `Items[][BusinessCustomer].Agreements[].Name` | `NoahPrivacyPolicy` \| `NoahTermsOfService` \| `NoahEsignAgreement` \| `LeadBankFundTransfer` \| `LeadBankTermsAndConditions` \| `LeadBankBusinessFundTransfer` | Yes | Identifier of a terms or agreement document the customer was asked to accept. |
| `Items[][BusinessCustomer].Agreements[].Version` | integer | Yes | Version of the agreement. |
| `Items[][BusinessCustomer].Agreements[].Accepted` | boolean | Yes | Whether the customer has accepted this agreement version. |
| `Items[][BusinessCustomer].Agreements[].AcceptedAt` | string (date-time) | No | Time at which the agreement was accepted. Present only when Accepted is true. |
| `PageToken` | string | No |  |

### 400 — Bad request

### 401 — Client is not authorized to perform this action

### 500 — Internal server error

Error responses share one `Error` envelope across the whole API. See https://docs.noah.com/api-concepts/errors.md for its fields, the `Type` values, and the field-level validation details in `RequestExtension` and `DenyExtension`.

## See also

- Rendered reference: https://docs.noah.com/api-reference/customers
- OpenAPI document: https://docs.noah.com/files/oas-schema.generated.json
