---
title: "Get Document"
method: GET
path: "/api/v3/documents/{document_id}"
tags: ["Documents"]
---

# Get Document

`GET /api/v3/documents/{document_id}`

## Request

- Base URL: `https://api.nugen.in`
- URL: `https://api.nugen.in/api/v3/documents/{document_id}`
- Auth: HTTP bearer

Fetch a document's details.

**Args**:
    `document_id`: Document ID (path parameter)

**Raises**:
    - `404`: If the document is not found or doesn't belong to the user

## Path parameters

- `document_id` string, required

## Response `200`

Returns the document's full record: document_id, name, filename, type, size, status, categories, uploader, and timestamps.

- DocumentGetResponse: One document's full record: everything on its status and list rows, plus filename, type, size and uploader found nowhere else.
  - `document_id` string, required: Unique identifier for the document
  - `document_name` string, nullable: Display name of the document. Defaults to the document id if not set at upload.
  - `filename` string, required: Original filename of the uploaded document
  - `type` string, required: MIME type of the document
  - `size` integer, required: File size in bytes
  - `status` 'QUEUED' | 'PROCESSING' | 'READY' | 'FAILED' | 'STOPPED', required: Lifecycle status of a resource that runs asynchronously. Stored as is and returned as is, with no translation in between. - `QUEUED`: accepted and waiting for its workflow to start - `PROCESSING`: running - `READY`: finished successfully - `FAILED`: failed at any stage - `STOPPED`: stopped by the user before completion
  - `categories` string[], required: List of category tags assigned to the document for organization and retrieval
  - `uploader` string, required: Email/username of the user who uploaded the document
  - `created_at` string, nullable: Timestamp when the document was created
  - `completed_at` string, nullable: Timestamp when processing completed; null while still running
  - `updated_at` string, nullable: Timestamp of the last status change
  - `progress` number, nullable: Completion progress, 0.0 to 100.0. Not wired up yet, always null.
  - `eta_seconds` integer, nullable: Estimated time remaining in seconds. Not wired up yet, always null.

## Other responses

- `401`: Invalid API key
- `403`: Authorization header missing or not a Bearer token
- `404`: Resource not found
- `422`: Validation Error

---

[API](https://skmtc.dev/nugen/apis/nugen-intelligence-api.md) - [All operations](https://skmtc.dev/nugen/apis/nugen-intelligence-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nugen/apis/nugen-intelligence-api/revisions/62baa7960a4a?raw)
