---
title: "List Documents"
method: GET
path: "/api/v1/documents"
tags: ["v1", "documents"]
---

# List Documents

`GET /api/v1/documents`

## Request

- Base URL: `https://zsign.io` (the document declares no server; this is the origin it was published from)
- URL: `https://zsign.io/api/v1/documents`
- Auth: HTTP bearer

List envelopes in the caller's organization.

Same filter semantics as dashboard JWT GET /api/documents: `offset`,
`limit`, `status`, `recipient` (email substring), `date_from` /
`date_to` (ISO-8601 inclusive on created_at; 422 if unparseable),
`q` (name, filename, recipient name/email, and id when the term
looks like one), `sort` (`created_at`, `updated_at`, `name`,
`status`; unknown → created_at), `direction` (`asc` or `desc`;
unknown → desc). `limit` max 50.

Includes unsent drafts (`status` `draft` or `ready_to_send`,
`session_id` null) in the default All mix. Pass `status=draft` or
`status=ready_to_send` to list only those. Other `status` values
are session statuses (`pending`, `in_progress`, `completed`,
`voided`, `declined`, `expired`, `cancelled` → voided+declined,
`deleted`).

Rows are session-centric: one document with N sessions is N items.
Each item includes a thin `recipients[]` (`recipient_id`, `email`,
`name`, `status`, `can_remind`) so Remind can map without a Get
Status hop. Sender email and the rich session payload stay on
GET /api/v1/documents/{document_id}.

## Query parameters

- `offset` integer
- `limit` integer
- `status` string, nullable
- `recipient` string, nullable
- `date_from` string, nullable
- `date_to` string, nullable
- `q` string, nullable
- `sort` string, nullable
- `direction` string, nullable

## Response `200`

Successful Response

- AgentEnvelopeListResponse
  - `items` AgentEnvelopeListItem[], required
    - `document_id` string, uuid, required
    - `session_id` string, uuid, nullable
    - `name` string, required
    - `status` string, required
    - `created_at` string, date-time, required
    - `recipient_count` integer, required
    - `completed_recipient_count` integer, required
    - `recipients` AgentEnvelopeListRecipient[]
      - `recipient_id` string, uuid, required
      - `email` string, required
      - `name` string, required
      - `status` string, required
      - `can_remind` boolean, required
  - `total` integer, required
  - `offset` integer, required
  - `limit` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zsign/apis/zsign-api.md) · [All operations](https://skmtc.dev/zsign/apis/zsign-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zsign/apis/zsign-api/revisions/a674ac4137ba?raw)
