---
title: "Read upload + index byte caps and raw-storage capability."
method: GET
path: "/v1/documents/limits"
tags: ["Documents"]
---

# Read upload + index byte caps and raw-storage capability.

`GET /v1/documents/limits`

Public preflight surface. Clients call this to size requests and decide whether to attempt a managed-blob upload. The values are a composition-time snapshot of the runtime config; no PII, no per-user state. Mirrors the auth posture of `/health`.

## Response `200`

Document limits + raw_storage capability.

- object — Document upload/index limits and raw-storage capability. Public preflight surface — clients read this to size requests and decide whether to attempt a managed-blob upload. When a managed-blob adapter is configured, `raw_storage` additionally advertises the active store's `provider` + capability triple (`addressing`, `retrieval_consistency`, `delete_semantics`) so clients can render honest copy for eventual-provider flows. No PII, no per-user state.
  - `index_max_text_bytes` integer, required
  - `raw_storage` object, required
    - `addressing` 'location' | 'content'
    - `delete_semantics` 'delete' | 'unpin' | 'tombstone'
    - `enabled` boolean, required
    - `mode` 'pointer_only' | 'managed_blob', required
    - `provider` string
    - `reason` string
    - `retrieval_consistency` 'immediate' | 'eventual'
    - `supports_get` boolean
    - `supports_head` boolean
  - `raw_upload_max_bytes` integer, required

## Other responses

- `500` — Internal server error
- `502` — Upstream AI provider returned an unrecoverable failure (auth, non-retryable 4xx).
- `503` — Upstream AI provider is rate-limited, quota-exhausted, or returned 5xx; consult `retryable`.

---

[API](https://skmtc.net/atomicstrata/apis/atomicmemory-http-api.md) · [All operations](https://skmtc.net/atomicstrata/apis/atomicmemory-http-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/atomicstrata/atomicmemory-http-api/versions/d501daa39bb2/schema)
