---
title: "Guide Preset Endpoint"
method: POST
path: "/guide/preset"
tags: ["guide"]
---

# Guide Preset Endpoint

`POST /guide/preset`

## Request

- Base URL: `https://api.framesail.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.framesail.com/guide/preset`
- Auth: HTTP bearer

Answer a chip with its preset message: the chip joins the thread as
the user's turn and the preset as the reply, which is returned. Ownership
of the channel or project is checked.

## Request body

- GuidePresetRequest
  - `project_id` string, nullable
  - `channel_id` string, nullable
  - `route` string, required
  - `preset_id` string, required
  - `label` string, required

## Response `200`

Successful Response

- GuideThreadMessage: One stored message of the thread, as the panel renders it.
  - `id` string, required
  - `scope` 'global' | 'channel' | 'project', required
  - `scope_id` string, nullable, required
  - `role` 'user' | 'assistant' | 'nudge', required
  - `content` string, required
  - `nudge_id` string, nullable, required
  - `category` string, nullable, required
  - `chips` GuideChip[], required
    - `label` string, required
    - `kind` 'navigate' | 'question' | 'preset', required
    - `value` string, required
    - `highlight` string, nullable
  - `preset` GuidePreset, required: A preset message as the panel renders it (generation/guide/presets.py).
    - `id` string, required
    - `title` string, required
    - `blocks` union[], required
      - union
        - GuideTextBlock
          - `type` 'text'
          - `text` string, required
        - GuideTipBlock
          - `type` 'tip'
          - `text` string, required
        - GuideTemplatesBlock: The channel style's two template images, as they are now.
          - `type` 'templates'
        - GuideListBlock: Numbered rows: steps to read, or options to pick from.
          - `type` 'list'
          - `items` GuideListItem[], required
            - `title` string, required
            - `detail` string, required
            - `link` string, nullable
            - `highlight` string, nullable
    - `page` string, nullable
    - `highlight` string, nullable
    - `route` string, nullable
  - `rating` 'up' | 'down', nullable
  - `created_at` string, required

## Other responses

- `422`: Validation Error

---

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