---
title: "Prism Refresh Readiness"
method: POST
path: "/v2/prisms/refresh-readiness"
tags: ["Prisms Internal"]
---

# Prism Refresh Readiness

`POST /v2/prisms/refresh-readiness`

Freshness gate for the 15-minute recompute tick: which prisms have new
data worth paying for? Batch — one call covers every live prism.

Per prism: resolve the granted tables at compute-time (the ontology edge
is the authority; the set is a function of the whole slice and shifts on
ontology rebuilds), read each table's ``table_max_date`` data edge, and
compare it against that table's *own* last-consumed edge. Strict ALL:
ready only when every granted table advanced — a series must never gain a
day computed from a subset of its sources while history used all of them.
Neo4j + PG only — no warehouse touch. Fail-open per table on any missing
signal (new table, no edge row), and per prism when nothing resolves.

## Request body

- BodyPrismRefreshReadinessV2PrismsRefreshReadinessPost
  - `payload` PrismReadinessRequest, required
    - `items` PrismReadinessItem[], required
      - `prism_id` string, required
      - `insight_id` integer, required
      - `entities` PrismEntityRef[], required
        - `entity_id` integer, required — Carc entity id (representation-scoped)
        - `entity_representation` string, required
        - `entity_name` string, required
      - `location_resolution` string
      - `last_source_edges` object, nullable
  - `config` object, nullable

## Response `200`

Successful Response

- PrismReadinessResponse
  - `results` PrismReadinessResult[], required
    - `prism_id` string, required
    - `ready` boolean, required
    - `data_edge` string, date, nullable
    - `sources` PrismSourceEdge[]
      - `table` string, required
      - `sources` string[], required
      - `table_max_date` string, date, nullable
      - `platform_updated_timestamp` string, date-time, nullable
      - `advanced` boolean, required

## Other responses

- `404` — Not Found
- `422` — Validation Error

## Changes

- **2026-08-28** `726b1a8471b4` — 1 breaking, 2 info
  - the `payload/items/items/last_source_edges/anyOf[subschema #1]/additionalProperties/` request property type/format changed from `string`/`date` to ``/``
  - added `subschema #1, subschema #2` to the `payload/items/items/last_source_edges/anyOf[subschema #1]/additionalProperties/` request property `anyOf` list
  - added the optional property `results/items/sources/items/platform_updated_timestamp` to the response with the `200` status
- **2026-08-07** `bd33ea42994c` — 4 breaking
  - removed the enum value `poi` of the request property `payload/items/items/location_resolution`
  - removed the enum value `us` of the request property `payload/items/items/location_resolution`
  - removed the enum value `ww` of the request property `payload/items/items/location_resolution`
  - the `payload/items/items/location_resolution` request property's minLength was increased from `0` to `1`
- **2026-07-26** `6ba1ca74e6c7` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/carbonarc/apis/carbon-arc-api-documentation/changes/v2/prisms/refresh-readiness/post.md)

---

[API](https://skmtc.dev/carbonarc/apis/carbon-arc-api-documentation.md) · [All operations](https://skmtc.dev/carbonarc/apis/carbon-arc-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/carbonarc/carbon-arc-api-documentation/revisions/726b1a8471b4/schema)
