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

# Get Agreement Content

> List the terms behind one virtual account group agreement

This endpoint works on any account you own. [Create Virtual Account Group](/fx/api-reference/virtual-account-groups/create-group) covers who can open a group and what the account needs first.

Returns the terms that make up an agreement, so the account holder can read them before you call [Submit Agreement Actions](/fx/api-reference/virtual-account-groups/submit-agreement-actions). Get the `agreement_id` from [List Agreements](/fx/api-reference/virtual-account-groups/list-agreements), or use the `content_url` on each agreement, which is this endpoint's path.

An agreement is made of several documents. The response lists each one with a title and a link. Which documents are listed depends on where the account is based: an account in the United States gets additional disclosures. Where an account is based comes from its identity: the registered address for a business, the residential address for an individual.

Show every listed document to the account holder, and have them confirm they have read it, before you accept the agreement.

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

## Path Parameters

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

<ParamField path="group_id" type="string" required>
  The virtual account group's external ID (starts with `vag_`). It must belong to the account in the path.
</ParamField>

<ParamField path="agreement_id" type="string" required>
  The agreement's external ID (starts with `agr_`). It must belong to the group in the path.
</ParamField>

## Response

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

<ResponseField name="agreement_id" type="string">
  The agreement's external ID, as in the path
</ResponseField>

<ResponseField name="documents" type="array">
  The documents that make up the agreement, in the order to show them.

  <Expandable title="Document Fields">
    <ResponseField name="title" type="string">
      Document name, to show as the link text
    </ResponseField>

    <ResponseField name="url" type="string">
      Public link to the document: a PDF or a web page
    </ResponseField>
  </Expandable>
</ResponseField>

## Errors

| Status | `code` | When |
| - | - | - |
| `404` | `RESOURCE_NOT_FOUND` | `group_id` or `agreement_id` is unknown, or belongs to another account or group |

## Request Example

```bash theme={null}
curl "https://api.hopnow.io/v1/accounts/acct_ka44qsvpo8q3wtzuwfqf0h6u/virtual-account-groups/vag_7m2k9x4c1b6v3n8q5z0j2p7t/agreements/agr_3f8k1m5p9r2t6v4x7z0b3n5q/content" \
  -H "X-API-Key: your_api_key" \
  -H "X-Signature: hmac_signature" \
  -H "X-Timestamp: 1234567890" \
  -H "X-Nonce: abc123"
```

## Response Example

```json US-based account theme={null}
{
  "object": "agreement_content",
  "agreement_id": "agr_3f8k1m5p9r2t6v4x7z0b3n5q",
  "documents": [
    {"title": "Terms of Service", "url": "https://example.com/terms-of-service.pdf"},
    {"title": "Privacy Policy", "url": "https://example.com/privacy-policy.pdf"},
    {"title": "Privacy Notice", "url": "https://example.com/privacy-notice"},
    {"title": "Electronic Communications Notice", "url": "https://example.com/electronic-communications-notice"},
    {"title": "Fund Transfer Agreement", "url": "https://example.com/fund-transfer-agreement.pdf"}
  ]
}
```

```json Account based elsewhere theme={null}
{
  "object": "agreement_content",
  "agreement_id": "agr_3f8k1m5p9r2t6v4x7z0b3n5q",
  "documents": [
    {"title": "Terms of Service", "url": "https://example.com/terms-of-service.pdf"},
    {"title": "Privacy Policy", "url": "https://example.com/privacy-policy.pdf"},
    {"title": "Fund Transfer Agreement", "url": "https://example.com/fund-transfer-agreement.pdf"}
  ]
}
```
