> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apostra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a review

> Fetch a single creative review row by its opaque review id

`GET /api/v2/storefront/creative-reviews/{creativeId}`

Fetches one creative review row. Use the collision-free `reviewRef` returned by
the review queue so the request identifies one buyer and one immutable content
version. The legacy numeric `id` remains in responses, but is not a bare path
reference. Bare path values always select the AdCP creative-id namespace,
including when numeric; `creative:<id>` is the explicit equivalent. The
response includes the submitted payload, current status, and any decision you
recorded.

## Request

```bash theme={null}
curl "https://api.apostra.com/api/v2/storefront/creative-reviews/review%3A42" \
  -H "Authorization: Bearer $SCOPE3_API_KEY"
```

## Parameters

| Field        | Type   | Required | Notes                                                                                                                         |
| ------------ | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `creativeId` | string | Yes      | Path param — use the `reviewRef` returned by the queue. Bare values always select an AdCP creative id, including when numeric |

## Response

```json theme={null}
{
  "id": "42",
  "reviewRef": "review:42",
  "storefrontId": "1234",
  "creativeId": "cr_abc123",
  "contentDigest": "0db36cf6c4bfb43123aee1c3eaf5ee965e1c34c9df606b02a56c72a226ad097a",
  "mediaBuyId": "mb_2026_q2_ctv",
  "buyerCustomerId": 8801,
  "submittedPayload": {
    "creative_id": "cr_abc123",
    "format": "video",
    "media_url": "https://cdn.acme-brand.example/spots/launch-30s.mp4",
    "account": { "account_id": "acme-buying" },
    "buyer_ref": "launch-q2-sync",
    "context": { "context_id": "ctx_launch_q2" }
  },
  "previewContexts": [
    {
      "contextRef": "75c90dd1-2430-4f2e-9bd0-c029f91ad5f7",
      "buyerPackageId": "homepage-display",
      "placement": {
        "kind": "publisher",
        "publisherDomain": "publisher.example",
        "placementId": "homepage-hero"
      }
    }
  ],
  "status": "pending",
  "reviewedBy": null,
  "reviewedAt": null,
  "reviewerNotes": null,
  "createdAt": "2026-06-02T11:00:00Z",
  "updatedAt": "2026-06-02T11:00:00Z"
}
```

Returns the matching `CreativeReviewResponse`. `mediaBuyId` is `null` when the
buyer attached the creative independently of a media buy. `submittedPayload`
is the immutable, credential-stripped submission snapshot: it contains the
creative object and may contain request-level `account`, `buyer_ref`, and
`context`. Those three request-level fields do not contribute to
`contentDigest`. `push_notification_config` and `pushNotificationConfig` are
stored separately and are never returned in this response.
`previewContexts` contains only current, unambiguous package and placement
bindings. Use its opaque `contextRef` with the preview endpoint; an empty array
means the row remains source-inspection only.

## Errors

* `409 CONFLICT` — the creative id matches multiple buyers or content versions; retry with `reviewRef`.
* `404 NOT_FOUND` — no creative review row with that id exists for your storefront.

See [Errors](/v2/reference/errors) for the full error contract.

## Related

<CardGroup cols={2}>
  <Card title="Decide a review" href="/v2/storefront/creative-reviews/tasks/decide-review" icon="gavel">
    Approve or reject this creative
  </Card>

  <Card title="Preview a review" href="/v2/storefront/creative-reviews/tasks/preview-review" icon="eye">
    Resolve the safest available placement-aware preview
  </Card>

  <Card title="List reviews" href="/v2/storefront/creative-reviews/tasks/list-reviews" icon="list">
    Find creatives in the queue
  </Card>

  <Card title="Creative review tasks" href="/v2/storefront/creative-reviews/tasks" icon="list-check">
    All creative-review operations
  </Card>

  <Card title="Creative reviews overview" href="/v2/storefront/creative-reviews/overview" icon="image">
    Queue lifecycle and concepts
  </Card>
</CardGroup>
