---
title: "List recent documents"
method: GET
path: "/documents"
tags: ["Documents"]
---

# List recent documents

`GET /documents`

## Request

- Base URL: `https://api.bankstatemently.com/v1`
- URL: `https://api.bankstatemently.com/v1/documents`
- Auth: API key in header `X-API-Key`

Retrieve a paginated list of your uploaded documents, ordered by creation date descending. Rate limit: 120 requests per minute.

## Query parameters

- `limit` integer
- `offset` integer
- `status` 'processing' | 'completed' | 'failed' | 'password_required': The processing status of a document.

## Response `200`

Paginated list of documents.

- StatementListResponse: Paginated list of documents.
  - `data` StatementListItem[], required
    - `id` string, uuid, required: Unique document identifier.
    - `status` 'processing' | 'completed' | 'failed' | 'password_required', required: The processing status of a document.
    - `contentHash` string, required: Content-addressable hash of the uploaded file.
    - `filename` string, nullable: Original filename of the uploaded PDF.
    - `pageCount` integer, nullable: Number of pages in the uploaded PDF.
    - `source` string, nullable: How the document was uploaded (e.g., `api`, `web`).
    - `createdAt` string, date-time, required: Timestamp when the document was created.
    - `updatedAt` string, date-time, required: Timestamp of the last status update.
    - `exports` ExportUrls: URLs to download the document in each export format.
      - `json` string, uri, required
      - `csv` string, uri, required
      - `xlsx` string, uri, required
      - `qbo` string, uri, required
      - `xero` string, uri, required
  - `pagination` Pagination, required: Pagination metadata for list responses.
    - `total` integer, required: Total number of documents matching the query.
    - `limit` integer, required: Maximum number of documents returned in this page.
    - `offset` integer, required: Number of documents skipped.
    - `hasMore` boolean, required: Whether there are more results beyond this page.

## Other responses

- `401`: Authentication failed, API key revoked, or API key expired.
- `429`: Too many requests. Wait the number of seconds indicated by the `Retry-After` header.
- `500`: An unexpected server error occurred.

---

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