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

# List Associated Persons

> Retrieve the beneficial owners, directors and control persons on a business account

Lists the associated persons recorded on an account, newest first. An individual account has none, so the list is empty for one.

Requires an API key with `read` access on the `accounts` scope.

## Path Parameters

<ParamField path="account_id" type="string" required>
  The account's external ID (starts with `acct_`)
</ParamField>

## Query Parameters

<ParamField query="page" type="integer" default="1">
  Page number (minimum 1)
</ParamField>

<ParamField query="size" type="integer" default="10">
  Items per page (1-100)
</ParamField>

## Response

<ResponseField name="items" type="array">
  Associated person objects, newest first

  <Expandable title="Associated Person Fields">
    <ResponseField name="id" type="string">
      Associated person identifier (starts with `aap_`), and the value to pass as `signer_id` when responding to agreements.
    </ResponseField>

    <ResponseField name="object" type="string">
      Always returns `"associated_person"`
    </ResponseField>

    <ResponseField name="account_id" type="string">
      Parent account ID
    </ResponseField>

    <ResponseField name="role" type="string">
      `ultimate_beneficial_owner`, `director`, `control_person` or `account_representative`
    </ResponseField>

    <ResponseField name="additional_roles" type="string[]">
      Other roles the person holds. Empty when they hold only `role`
    </ResponseField>

    <ResponseField name="is_signer" type="boolean">
      Whether the person may be named as `signer_id` on an agreement response
    </ResponseField>

    <ResponseField name="first_name" type="string">
      First name
    </ResponseField>

    <ResponseField name="last_name" type="string">
      Last name
    </ResponseField>

    <ResponseField name="middle_name" type="string">
      Middle name, or `null`
    </ResponseField>

    <ResponseField name="email" type="string">
      Contact email, or `null`
    </ResponseField>

    <ResponseField name="phone_number" type="string">
      Contact phone in E.164, or `null`
    </ResponseField>

    <ResponseField name="date_of_birth" type="string">
      ISO 8601 date, or `null`
    </ResponseField>

    <ResponseField name="country_code" type="string">
      Country of residence, alpha-2
    </ResponseField>

    <ResponseField name="nationality" type="string">
      Nationality, alpha-2, or `null`
    </ResponseField>

    <ResponseField name="birth_country_code" type="string">
      Country of birth, alpha-2, or `null`
    </ResponseField>

    <ResponseField name="tax_identification_number" type="string">
      Tax identification number, or `null`
    </ResponseField>

    <ResponseField name="tax_residence_country_code" type="string">
      Country of tax residence, alpha-2, or `null`
    </ResponseField>

    <ResponseField name="position" type="string">
      Position at the business, or `null`
    </ResponseField>

    <ResponseField name="ownership_percentage" type="string">
      Ownership share as a percentage, or `null`
    </ResponseField>

    <ResponseField name="ownership_type" type="string">
      `direct` or `indirect`, or `null`
    </ResponseField>

    <ResponseField name="residential_address" type="object">
      Residential address, or `null`
    </ResponseField>

    <ResponseField name="created" type="string">
      ISO 8601 timestamp when created
    </ResponseField>

    <ResponseField name="updated" type="string">
      ISO 8601 timestamp when last updated
    </ResponseField>

    <ResponseField name="created_by" type="string">
      ID of the API key that created the person (starts with `ak_`)
    </ResponseField>

    <ResponseField name="updated_by" type="string">
      Actor that last updated the person, or `null`
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="page" type="integer">
  Current page number
</ResponseField>

<ResponseField name="size" type="integer">
  Items per page
</ResponseField>

<ResponseField name="total" type="integer">
  Total number of items
</ResponseField>

<ResponseField name="pages" type="integer">
  Total number of pages
</ResponseField>

## Response Example

```json theme={null}
{
  "items": [
    {
      "id": "aap_3f8k1m5p9r2t6v4x7z0b3n5q",
      "object": "associated_person",
      "account_id": "acct_9f2a7c1e6a2b4f3c9b8d2e5a",
      "role": "ultimate_beneficial_owner",
      "additional_roles": ["control_person"],
      "is_signer": true,
      "first_name": "Maya",
      "last_name": "Chen",
      "middle_name": null,
      "email": "maya@acme.example",
      "phone_number": "+6581234567",
      "date_of_birth": "1985-06-21",
      "country_code": "SG",
      "nationality": "SG",
      "birth_country_code": "SG",
      "tax_identification_number": "S1234567D",
      "tax_residence_country_code": "SG",
      "position": "Director",
      "ownership_percentage": "60.00",
      "ownership_type": "direct",
      "residential_address": {
        "address_line": "10 Marina Boulevard, #23-01",
        "city": "Singapore",
        "region": "Central Region",
        "postal_code": "018983",
        "country": "SG"
      },
      "created": "2026-09-16T03:14:01Z",
      "updated": "2026-09-16T03:14:01Z",
      "created_by": "ak_9a3yfd2ro3jeoqqalbx8jew1",
      "updated_by": null
    }
  ],
  "page": 1,
  "size": 10,
  "total": 1,
  "pages": 1
}
```
