# List/filter policy documents

Operation ID: `graph.listPolicyDocuments`

List or filter medical-policy and guideline documents by network, title substring, type, payer key, or policy type. Backed by Algolia with a Neo4j fallback.

## Public method

`listPolicyDocuments`

Signature: `graph.listPolicyDocuments(query)`

Return type: `Promise<PolicyDocument[]>`

## Authentication

Classification: **AUTHENTICATED**

Schemes: `bearerAuth`

## Prerequisites

None documented.

## HTTP

`GET /documents`

## Path parameters

None.

## Query parameters

| Name | Type | Required | Format | Allowed values | Default | Nullable | Description |
|---|---|---:|---|---|---|---:|---|
| `include_content` | `boolean` | No |  |  | `false` | No | Include full document content in results |
| `limit` | `integer` | No |  |  | `20` | No |  |
| `network_id` | `string` | No |  |  |  | No | Filter by insurance network ID |
| `offset` | `integer` | No |  |  | `0` | No |  |
| `payer_key` | `string` | No |  |  |  | No | Filter by payer key |
| `policy_type` | `string` | No |  |  |  | No | Policy type filter |
| `title` | `string` | No |  |  |  | No | Filter by document title (substring match) |
| `type` | `string` | No |  |  |  | No | Document type filter |

## Body parameters

None.

Request model: None.

## Request example

None declared in canonical OpenAPI.

## Success responses

| Status | Shape | Content type | Description |
|---|---|---|---|
| `200` | [`ListPolicyDocumentsResponse`](../models/ListPolicyDocumentsResponse.md) | application/json | Successful Response |

## Success response examples

### 200

```json
[
  {
    "bytes": 37881,
    "char_count": 4068,
    "content": "Synthetic medical policy content",
    "content_excerpt": "Synthetic medical policy excerpt",
    "content_type": "application/pdf",
    "extract_error": null,
    "extracted_at": "2026-07-20T20:04:39+00:00",
    "filename": "policy-example.pdf",
    "id": "policy-example-001",
    "network_id": "100935",
    "page_count": 2,
    "parent": "Example Health Plan",
    "payer": "Example Health Plan",
    "payer_key": "example-health-plan",
    "policy_number": "POLICY-EXAMPLE-001",
    "policy_type": "medical policy",
    "score": 0.98,
    "sha256": "ea29f2496db1bf3b0b3d39841e970d1045e5b8ba18b28b9371f9c45837315904",
    "source_page": "https://example.com/policies",
    "source_url": "https://example.com/policies/policy-example.pdf",
    "title": "Example Preventive Care Policy",
    "truncated": false,
    "type": "medical policy",
    "wasabi_key": "policies/policy-example.pdf"
  }
]
```

## Common errors

| Status | Shape | Content type | Description |
|---|---|---|---|
| `401` | [`graph.ErrorResponse`](../models/graph.ErrorResponse.md) | application/json | Authorization required — missing or invalid Bearer JWT |
| `500` | [`graph.ErrorResponse`](../models/graph.ErrorResponse.md) | application/json | Internal server error |

## Error examples

### 401 — Missing or invalid access token

```json
{
  "error": "Authorization required"
}
```

### 500 — Unexpected service failure (sanitized example)

```json
{
  "error": "Internal server error"
}
```

## NodeJS / TypeScript implementation

```ts
import { HCSDK } from "@healthcloudai/hc-sdk";
```

```ts
const query = {
  "include_content": false,
  "limit": 20,
  "network_id": "<NETWORK_ID>",
  "offset": 0,
  "payer_key": "<PAYER_KEY>",
  "policy_type": "<POLICY_TYPE>",
  "title": "<TITLE>",
  "type": "<TYPE>"
};

const result = await graph.listPolicyDocuments(query);
```

## cURL

```bash
curl -X GET \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  'https://dev-api-graph.health.cloud/documents?include_content=false&limit=20&network_id=%3CNETWORK_ID%3E&offset=0&payer_key=%3CPAYER_KEY%3E&policy_type=%3CPOLICY_TYPE%3E&title=%3CTITLE%3E&type=%3CTYPE%3E'
```

## Notes

None.

## Prepared Test Console scenario

No canonical scenario is currently associated.

## Real response

No approved real integration response is currently published. Unapproved candidates are never rendered as examples.
