---
title: "Get document details"
method: GET
path: "/v1/default/banks/{bank_id}/documents/{document_id}"
tags: ["Documents"]
---

# Get document details

`GET /v1/default/banks/{bank_id}/documents/{document_id}`

## Request

- Base URL: `https://hindsight.vectorize.io` (the document declares no server; this is the origin it was published from)
- URL: `https://hindsight.vectorize.io/v1/default/banks/{bank_id}/documents/{document_id}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/vectorize/apis/hindsight-http-api/docs/v1/default/banks/:bank_id/documents/:document_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Get a specific document including its original text

## Path parameters

- `bank_id` string, required
- `document_id` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- DocumentResponse: Response model for get document endpoint.
  - `id` string, required
  - `bank_id` string, required
  - `original_text` string, nullable, required
  - `content_hash` string, nullable, required
  - `created_at` string, required
  - `updated_at` string, required
  - `memory_unit_count` integer, required
  - `nodes_by_fact_type` object, nullable: Memory count per fact type (world, experience, observation)
  - `tags` string[]: Tags associated with this document
  - `document_metadata` object, nullable: Document metadata
  - `retain_params` object, nullable: Parameters used during retain
  - `observation_scopes` union: The observation_scopes spec configured at retain time (e.g. 'all_combinations', 'per_tag', or explicit tag-set lists), captured into retain_params. None when none was set (default 'combined' scoping) or for documents retained before this was captured.
    - string
    - array[]
      - string[]
  - `attachments` ChunkAttachment[], nullable: Attachments referenced by this document, when it was retained with inline content. Each carries a bank-scoped `url` serving the original bytes. Omitted when there are none.
    - `id` string, required: The id inside the text's placeholder; a prefix of the bytes' sha256.
    - `hash` string, required: Full sha256 of the attachment bytes.
    - `kind` string, required: 'image' or 'file', as the caller sent it.
    - `media_type` string, required: MIME type of the attachment.
    - `byte_size` integer, required: Size of the attachment in bytes.
    - `filename` string, nullable: Original filename, when the caller supplied one.
    - `url` string, required: Bank-scoped API path serving the bytes. Requires the same authorization as the bank.

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-04** `4fda98b75f63`: 1 breaking, 1 warning, 2 info
  - response property `original_text` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - removed the optional property `detail/items/url` from the response with the `422` status
  - added the optional property `attachments` to the response with the `200` status
  - added the optional property `observation_scopes` to the response with the `200` status
- **2026-05-15** `0d08f271b9db`: 6 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
  - added the optional property `detail/items/url` to the response with the `422` status
  - added the optional property `document_metadata` to the response with the `200` status
  - …2 more

[Operation history](https://skmtc.dev/vectorize/apis/hindsight-http-api/changes/v1/default/banks/:bank_id/documents/:document_id/get.md)

---

[API](https://skmtc.dev/vectorize/apis/hindsight-http-api.md) - [All operations](https://skmtc.dev/vectorize/apis/hindsight-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vectorize/apis/hindsight-http-api/revisions/45e711cd0897?raw)
