---
title: "Download Document File"
method: GET
path: "/v1/graphs/{graph_id}/documents/{document_id}/file"
tags: ["Documents"]
---

# Download Document File

`GET /v1/graphs/{graph_id}/documents/{document_id}/file`

## Request

- Base URL: `https://api.robosystems.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.robosystems.ai/v1/graphs/{graph_id}/documents/{document_id}/file`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

A short-lived link to a document's stored file, such as the statement PDF behind a recorded balance.

## Path parameters

- `graph_id` string, required
- `document_id` string, required

## Response `200`

Successful Response

- DocumentFileDownloadResponse: A short-lived link to a stored document file.
  - `document_id` string, required
  - `download_url` string, required: Presigned URL to GET the file.
  - `expires_in` integer, required: Seconds until the URL expires.
  - `file` DocumentFileInfo, required: The stored file behind a document, when it is one.
    - `file_name` string, required: The file's name as uploaded.
    - `content_type` string, required: The file's media type.
    - `size_bytes` integer, required: The stored file's size.
    - `sha256` string, required: Hex SHA-256 of the stored bytes, taken when the upload completed. A stored file never changes, so this identifies it.

## Other responses

- `400`: Invalid request
- `401`: Authentication required
- `403`: Access denied
- `404`: Resource not found
- `422`: Validation Error
- `429`: Rate limit exceeded
- `500`: Internal server error

---

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