---
title: "Read the direct storage API capability snapshot."
method: GET
path: "/v1/storage/capabilities"
tags: ["Storage"]
---

# Read the direct storage API capability snapshot.

`GET /v1/storage/capabilities`

Public preflight surface for the storage API. Clients call this before attempting a managed-mode artifact upload. The response describes what the direct `/v1/storage/artifacts/*` API supports for the active backend — Filecoin direct managed upload is not yet supported in v1, so every capability flag reports `false` for Filecoin here. Filecoin still has full feature support through document ingestion (see `/v1/documents/limits`).

## Response `200`

Capability snapshot for the direct storage API.

- object — Capability snapshot for the direct storage API (`/v1/storage/artifacts/*`). Composition-time projection; no per-user state. Document ingestion's own capability surface lives at `/v1/documents/limits` and may report different flags (e.g. Filecoin reports `supportsContentHash: true` through documents but `false` here in v1 because direct managed Filecoin upload is not yet supported).
  - `addressing` string[], required
  - `availabilityModel` 'immediate' | 'delayed' | 'scheduled' | 'best_effort', required — Coarse availability category for the backend.
  - `consistency` 'immediate' | 'eventual', required — When bytes become retrievable after put.
  - `deleteSemantics` string[], required
  - `maxUploadBytes` integer
  - `minUploadBytes` integer
  - `provider` string, required
  - `supportedBundleFormats` string[], required
  - `supportsBundles` boolean, required
  - `supportsContentAddressedUri` boolean, required
  - `supportsContentHash` boolean, required
  - `supportsDelete` boolean, required
  - `supportsDirectUpload` boolean, required
  - `supportsProviderProofs` boolean, required
  - `supportsRangeRead` boolean, required
  - `supportsReplication` boolean, required
  - `supportsRetrievalStatus` boolean, required
  - `supportsTombstone` boolean, required
  - `supportsVerification` boolean, 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.dev/atomicstrata/apis/atomicmemory-http-api.md) · [All operations](https://skmtc.dev/atomicstrata/apis/atomicmemory-http-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/atomicstrata/atomicmemory-http-api/revisions/d501daa39bb2/schema)
