> ## 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 Agreements

> List the agreements currently assigned to an account

Agreements are assigned to an account during onboarding as independent account-scoped actions; they are not part of the automatic KYB submission readiness. The Platform lists the assigned agreements, renders each document (its `content_url`) to the end customer, and submits an accept or reject action signed by one of the account's authorized signers.

<Note>
  In v1 agreements are hosted by Hop — there are no third-party signing links. Agreement content and versions are managed by Hop. There is no pre-account "current ToS" endpoint and no `signed_agreement_id`. Acceptance is recorded through the account-scoped actions endpoint.
</Note>

Returns the agreements currently assigned to the account. Any agreements not yet assigned are added automatically from the active agreement set for the account's entity type and country.

## Path Parameters

<ParamField path="customer_id" type="string" required>
  Identifier of the Platform customer (`cus_…`). Must be your own customer id.
</ParamField>

<ParamField path="account_id" type="string" required>
  Identifier of the Platform end-customer account (`acct_…`).
</ParamField>

## Query Parameters

<ParamField query="page" type="integer" default="1">
  Page number (1-based). Default 1.
</ParamField>

<ParamField query="size" type="integer" default="64">
  Items per page. Default 64; range 1–100.
</ParamField>

## Response

Returns 200 with a paginated list of assigned agreements.

<Note>
  Agreement objects use `created_at` / `updated_at` field names in this response.
</Note>

<ResponseField name="items" type="object[]">
  The assigned agreements on this page.

  <Expandable title="agreement attributes">
    <ResponseField name="object" type="string">
      Always `agreement`.
    </ResponseField>

    <ResponseField name="id" type="string">
      Assigned agreement id (`aagr_…`).
    </ResponseField>

    <ResponseField name="title" type="string">
      Agreement title.
    </ResponseField>

    <ResponseField name="version" type="string">
      Agreement version.
    </ResponseField>

    <ResponseField name="content_url" type="string">
      URL of the agreement document to render to the end customer.
    </ResponseField>

    <ResponseField name="status" type="enum">
      One of `pending`, `accepted`, or `rejected`.
    </ResponseField>

    <ResponseField name="responded_at" type="string">
      ISO 8601 timestamp of the response; `null` while pending.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp when the agreement was assigned.
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      ISO 8601 timestamp when the agreement was last updated.
    </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>

<ResponseExample>
  ```json Response theme={null}
  {
    "items": [
      {
        "object": "agreement",
        "id": "aagr_2k9m4p7q1w8e5r3t6y0u2i4",
        "title": "Partner Platform Agreement (Non-US)",
        "version": "v1",
        "content_url": "https://docs.platform.example/agreements/partner-platform-agreement-non-us-v1.pdf",
        "status": "pending",
        "responded_at": null,
        "created_at": "2026-06-22T08:30:00Z",
        "updated_at": "2026-06-22T08:30:00Z"
      }
    ],
    "page": 1,
    "size": 64,
    "total": 1,
    "pages": 1
  }
  ```
</ResponseExample>
