---
title: "Record an accept, reject, or revision event for an artifact"
method: POST
path: "/v1/artifacts/{artifact_id}/reviews"
tags: ["Artifacts"]
---

# Record an accept, reject, or revision event for an artifact

`POST /v1/artifacts/{artifact_id}/reviews`

## Request

- Base URL: `https://api.cerul.ai`
- URL: `https://api.cerul.ai/v1/artifacts/{artifact_id}/reviews`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Cerul-API-Key`
- TypeScript: <https://skmtc.dev/cerul-ai/apis/cerul-api/docs/v1/artifacts/:artifact_id/reviews/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `artifact_id` string, required

## Headers

- `Idempotency-Key` string, required

## Request body

- CreateReviewEventRequest
  - `action` 'accepted' | 'rejected' | 'revised', required
  - `revision` object

## Response `201`

Review event recorded

- ReviewEventResponse
  - `request_id` string, required
  - `execution` Execution, required
    - `location` 'local' | 'cloud', required
    - `capability_id` string, nullable
    - `capability_version` string, nullable
  - `usage` Usage, required
    - `billable` boolean, required
    - `quantity` number, required
    - `unit` string, required
    - `credits` number
  - `warnings` string[], required
  - `data` ReviewEvent, required
    - `id` string, required
    - `artifact_id` string, required
    - `action` 'accepted' | 'rejected' | 'revised', required
    - `revision` object
    - `created_at` string, date-time, required

## Other responses

- `default`: Standard Cerul error envelope

## Changes

- **2026-07-27** `c15615d54993`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cerul-ai/apis/cerul-api/changes/v1/artifacts/:artifact_id/reviews/post.md)

---

[API](https://skmtc.dev/cerul-ai/apis/cerul-api.md) - [All operations](https://skmtc.dev/cerul-ai/apis/cerul-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cerul-ai/apis/cerul-api/revisions/c15615d54993?raw)
