---
title: "Render"
method: POST
path: "/api/engine/render"
---

# Render

`POST /api/engine/render`

## Request

- Base URL: `https://basisprotocol.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://basisprotocol.xyz/api/engine/render`
- Auth: none declared

## Request body

- RenderRequest
  - `analysis_id` string, uuid, required
  - `artifact_type` 'incident_page' | 'retrospective_internal' | 'case_study' | 'internal_memo' | 'talking_points' | 'one_pager' | 'nothing', required
  - `force` boolean: If true and a non-discarded artifact already exists for (analysis_id, artifact_type), the existing rows are marked discarded and a fresh artifact is inserted. Cannot override constitutional blocks (incident_page on backfilled coverage).

## Response `202`

Successful Response

- ArtifactResponse
  - `id` string, uuid, required
  - `analysis_id` string, uuid, required
  - `artifact_type` 'incident_page' | 'retrospective_internal' | 'case_study' | 'internal_memo' | 'talking_points' | 'one_pager' | 'nothing', required
  - `rendered_at` string, date-time, required
  - `content_markdown` string, required
  - `suggested_path` string, nullable
  - `suggested_url` string, nullable
  - `status` 'draft' | 'approved' | 'published' | 'discarded', required
  - `published_url` string, nullable
  - `warnings` string[]

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/basisprotocol/apis/basis-protocol-api.md) · [All operations](https://skmtc.dev/basisprotocol/apis/basis-protocol-api/llms.txt) · [OpenAPI document](https://skmtc.dev/basisprotocol/apis/basis-protocol-api/revisions/c0067366b9c0?raw)
