---
title: "Preview Prism"
method: POST
path: "/api/v1/admin/prisms/preview"
tags: ["Admin APIs", "prisms"]
---

# Preview Prism

`POST /api/v1/admin/prisms/preview`

Compute a prism's data through the real purchase path without touching
the public page — so an admin can view the exact platform rendering of a
draft (saved or unsaved) before it goes live. Read-through cached here in
CAMS; ``force`` re-purchases.

## Request body

- PrismPreviewRequest — Compute a prism's data without publishing. Accepts a full definition so an unsaved form can be previewed; ``prism_id`` is set when previewing a saved draft. ``force`` bypasses the preview cache and re-purchases.
  - `title` string, required — Prism name
  - `category_id` string, uuid, required — First-class category (prism_categories.id)
  - `question` string, nullable — Question this prism answers in the growth (index) view
  - `question_share` string, nullable — Question this prism answers in the share view
  - `note` string, nullable — Short caveat shown as a warning bar at the top of this prism's drawer on the public page. Null/blank = no bar.
  - `insight_id` integer, required — Metric insight id
  - `insight_label` string, required
  - `location_resolution` string — Location grain the framework computes at, as advertised by /prisms/location-resolutions for this insight + entity set
  - `entities` PrismEntity[], required — Entities the prism computes over; at least one
    - `entity_id` integer, required — Carc entity id (representation-scoped)
    - `entity_representation` string, required — Graph representation the id belongs to (e.g. artist, actor). Required — the same real-world entity has a different id per representation.
    - `entity_name` string, required — Resolved entity name
  - `filters` object — Dimension filters from the framework's advertised set, as {filter_key: value}. Blank selections are dropped, not sent as empty lists. Grain / window / aggregate are prism-owned and rejected here.
  - `publish_state` 'draft' | 'live'
  - `prism_id` string, uuid, nullable
  - `force` boolean

## Response `200`

Successful Response

- PrismPreviewResponse — ``prism`` is the public-page-shaped snapshot entry the platform would render; ``cached`` is True when the derived series was reused.
  - `cached` boolean, required
  - `prism` object, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/carbonarc/apis/carbon-arc-client-admin-api.md) · [All operations](https://skmtc.net/carbonarc/apis/carbon-arc-client-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/carbonarc/carbon-arc-client-admin-api/revisions/a8ca30023371/schema)
