---
title: "Get object pages"
method: GET
path: "/vault/{id}/objects/{objectId}/pages"
tags: ["Vaults"]
---

# Get object pages

`GET /vault/{id}/objects/{objectId}/pages`

Retrieves the raw text of a processed vault object split by page. The object must have completed ingestion before pages can be retrieved — for PDFs this requires the OCR pipeline to have finished writing the per-page sidecar, so freshly uploaded PDFs return 400 with the current `ingestionStatus` until processing completes. For PDFs this returns the per-page OCR text. For plain text files (txt, md, source code, court reporter transcripts) the text is split using right-aligned page-number markers when present (preserving the original document numbering, including continuations like Volume 2 starting at page 234), falling back to form-feed (\f) page-break characters, and finally a single page if neither signal is present. Use the optional `start` and `end` query parameters to fetch a specific inclusive page range. Pages with no text are omitted.

## Path parameters

- `id` string, required
- `objectId` string, required

## Query parameters

- `start` integer
- `end` integer

## Response `200`

Successfully retrieved object pages

- object
  - `pages` object[], required — Per-page OCR text in ascending page order
    - `page` integer, required — Page number (1-indexed)
    - `text` string, required — OCR text for this page
  - `metadata` object, required
    - `object_id` string, required
    - `vault_id` string, required
    - `filename` string, required
    - `source` 'ocr' | 'txt', required — Where the page text came from. `ocr` for PDFs (per-page OCR sidecar). `txt` for plain-text files split on form-feed (\f) characters.
    - `page_count` integer, required — Total number of pages with extracted text in the document
    - `returned_pages` integer, required — Number of pages returned after applying the range filter
    - `start` integer, nullable — Echoes the start query param if provided
    - `end` integer, nullable — Echoes the end query param if provided

## Other responses

- `400` — Bad request - invalid range or object not processed
- `401` — Unauthorized - invalid API key
- `403` — Forbidden - API key lacks vault service access
- `404` — Object or vault not found, or no per-page OCR text available (non-PDF document)

---

[API](https://skmtc.net/casemark/apis/case-dev-api.md) · [All operations](https://skmtc.net/casemark/apis/case-dev-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/casemark/case-dev-api/versions/5b7e64e6d6f9/schema)
