---
title: "Render one catalogued Slack message"
method: GET
path: "/v1/admin/slack-preview-messages/{message_id}/render"
tags: ["admin"]
---

# Render one catalogued Slack message

`GET /v1/admin/slack-preview-messages/{message_id}/render`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/admin/slack-preview-messages/{message_id}/render`
- Auth: HTTP bearer

Builds the entry from its dummy data through the REAL production builder and returns the frames: the notification line, a plain-text transcript, the control labels, and the raw Block Kit. Read-only: no Slack call, no database write. Works for render-only entries too.

## Path parameters

- `message_id` string, required

## Response `200`

Successful Response

- SlackPreviewRender: One catalog entry, built from its dummy data and rendered.
  - `id` string, required
  - `label` string, required
  - `kind` string, required
  - `sendable` boolean, required
  - `note` string, required
  - `frames` SlackPreviewFrameOut[], required
    - `fallback_text` string, required: The notification line, and for a text entry the whole message.
    - `lines` string[], required: The words a reader sees, in reading order. Not a Slack layout.
    - `buttons` string[], required: Every control the message carries, by label. Inert in a preview.
    - `blocks` object[], nullable
    - `view` object, nullable

## Other responses

- `401`: Unauthorized
- `403`: Permission denied (PERMISSION_DENIED) or email not verified (EMAIL_NOT_VERIFIED)
- `404`: Not found
- `422`: Validation error

---

[API](https://skmtc.dev/patricia/apis/patricia-api.md) · [All operations](https://skmtc.dev/patricia/apis/patricia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/patricia/apis/patricia-api/revisions/0dfb44495ea1?raw)
