---
title: "Get a document"
method: GET
path: "/projects/{project_id}/documents/{document_id}/"
tags: ["Documents"]
---

# Get a document

`GET /projects/{project_id}/documents/{document_id}/`

## Request

- Base URL: `https://api.parsewise.ai/api/v1`
- URL: `https://api.parsewise.ai/api/v1/projects/{project_id}/documents/{document_id}/`
- Auth: API key in header `X-API-Key`

Return a single document by ID, including parsing status, page count, tags, and timestamps. Returns `404` if the document does not exist on this project.

## Path parameters

- `document_id` string, uuid, required
- `project_id` string, uuid, required

## Response `200`

- Document
  - `id` string, uuid, required: Stable identifier for the document (UUID).
  - `project_id` string, uuid, required: Identifier of the project this document belongs to.
  - `file_url` string, uri, required: URL for downloading the original uploaded file.
  - `uploaded_at` string, date-time, required: Timestamp when the document was uploaded.
  - `type` 'PDF' | 'Audio' | 'Image' | 'Text' | 'Excel' | 'PPT' | 'Word Document' | 'Website' | 'Email', required: * `PDF` - PDF * `Audio` - Audio * `Image` - Image * `Text` - Text * `Excel` - Excel * `PPT` - PPT * `Word Document` - Word Document * `Website` - Website * `Email` - Email
  - `page_count` integer: Number of pages detected after parsing. 0 until parsing completes.
  - `version` integer: Version number, incremented each time the document is reprocessed.
  - `summary` string: AI-generated short summary of the document contents.
  - `metadata` string: Free-form metadata extracted from the document by the parser. Format is parser-dependent (often a JSON string, sometimes plain text); may be empty.
  - `status` 'Pending' | 'Processed' | 'Failed', required: * `Pending` - Pending * `Processed` - Processed * `Failed` - Failed
  - `uses_agentic_extraction` boolean: True when the document is parsed using the agentic (AI-assisted) parser, false when it is parsed by the standard parser.
  - `last_parsed_at` string, date-time, nullable: Timestamp of the most recent successful parse, or null if it has never been parsed.
  - `archive_requested_at` string, date-time, nullable: Timestamp when archival was requested for this document, or null. A non-null value means the document is queued to be moved into an archived project and will disappear from this project once archival completes.
  - `tags` object[], required: Key/value tags applied to the document.
    - `key` string, required
    - `value` string, required
  - `file_name` string, required: Original filename of the uploaded document.

---

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