> ## Documentation Index
> Fetch the complete documentation index at: https://docs.memorylake.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Download Document

> Download the binary content of a project document

```
GET /openapi/memorylake/api/v1/projects/{id}/documents/{documentId}/download
```

Downloads the binary content of a project document. The response is either a `303` redirect to the storage download URL, or streamed binary content.

<Note>
  **Permissions required (all of):**

  * [`project:doc_read`](/features/team-collaboration/permission-reference#read-a-single-document) · `instance`
  * [`drive:item_read`](/features/team-collaboration/permission-reference#read-your-files) · `service`

  The server resolves the document to its underlying Library file and forwards to the drive download handler — both permissions are checked on every call.
</Note>

### Path Parameters

<ParamField path="id" type="string" required>
  Project ID
</ParamField>

<ParamField path="documentId" type="string" required>
  Project document ID
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -L -X GET 'https://app.memorylake.ai/openapi/memorylake/api/v1/projects/proj-a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6/documents/doc-1234567890abcdef/download' \
    -H 'Authorization: Bearer sk_xxxxxx' \
    -o downloaded_file.pdf
  ```
</RequestExample>

### Response

Returns either a `303` redirect to the storage download URL, or `200` with streamed binary content (`application/octet-stream`).

<ResponseExample>
  ```
  HTTP/1.1 303 See Other
  Location: https://storage.example.com/download/document.pdf?signature=...
  ```
</ResponseExample>
