---
title: "Gets a list of documents"
method: GET
path: "/api/v1/documents"
tags: ["documents"]
---

# Gets a list of documents

`GET /api/v1/documents`

## Request

- Base URL: `https://demo.invoiceninja.com`
- URL: `https://demo.invoiceninja.com/api/v1/documents`
- Auth: none declared. Required headers: `X-API-TOKEN`, `X-Requested-With`
- TypeScript: <https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/docs/api/v1/documents/get.ts> (a function with typed inputs; its response is checked against the schema)

Lists documents, search and filters allow fine grained lists to be generated.

    Query parameters can be added to performed more fine grained filtering of the documents, these are handled by the DocumentsFilters class which defines the methods available

## Query parameters

- `include` string
- `index` string
- `per_page` integer
- `page` integer
- `sort` string[]

## Headers

- `X-API-TOKEN` string, required
- `X-Requested-With` string, required

## Response `200`

A list of documents

- object
  - `data` Document[]
    - `id` string: The document hashed id
    - `user_id` string: The user hashed id
    - `assigned_user_id` string: The assigned user hashed id
    - `project_id` string: The project associated with this document
    - `vendor_id` string: The vendor associated with this documents
    - `name` string: The document name
    - `url` string: The document url
    - `preview` string: The document preview url
    - `type` string: The document type
    - `disk` string: The document disk
    - `hash` string: The document hashed
    - `is_deleted` boolean: Flag to determine if the document is deleted
    - `is_default` boolean: Flag to determine if the document is a default doc
    - `created_at` number: Timestamp
    - `updated_at` number: Timestamp
    - `deleted_at` number: Timestamp
  - `meta` Meta
    - `pagination` Pagination
      - `total` integer: The total number of items
      - `count` integer: The number of items per page
      - `per_page` integer: The number of items per page
      - `current_page` integer: The current page number
      - `total_pages` integer: The total number of pages
      - `links` object: The pagination links

## Other responses

- `401`: Authentication error
- `403`: Authorization error
- `422`: Validation error
- `default`: Unexpected Error

## Changes

- **2026-05-06** `89876e7e51d6`: 1 info
  - added the new optional `query` request parameter `sort`
- **2026-04-20** `69a36036d334`: 3 info
  - added the new optional `query` request parameter `page`
  - added the new optional `query` request parameter `per_page`
  - the response optional property `data/items/id` became read-only for the status `200`
- **2025-05-24** `93bb427f804b`: 1 breaking
  - the `meta` response's property type changed from `object` to no type for status `200`
- **2024-06-06** `8e82a2bd77e0`: 1 breaking, 3 info
  - the response's body type changed from no type to `object` for status `default`
  - added the optional property `code` to the response with the `default` status
  - added the optional property `message` to the response with the `default` status
  - added the optional property `meta/pagination` to the response with the `200` status
- **2024-06-05** `e61df65649e2`: 1 breaking, 3 warning
  - the response's body type changed from `object` to no type for status `default`
  - removed the optional property `code` from the response with the `default` status
  - removed the optional property `message` from the response with the `default` status
  - removed the optional property `meta/pagination` from the response with the `200` status

[Operation history](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/changes/api/v1/documents/get.md)

---

[API](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference.md) - [All operations](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/revisions/bcda1f823746?raw)
