---
title: "Preview a channel trigger"
method: POST
path: "/v1/channel-feeds/{feed_id}/preview"
tags: ["channel-feeds"]
---

# Preview a channel trigger

`POST /v1/channel-feeds/{feed_id}/preview`

## 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/channel-feeds/{feed_id}/preview`
- Auth: HTTP bearer

## Path parameters

- `feed_id` string, uuid, required

## Headers

- `X-Tenant-Id` string, nullable

## Request body

- TriggerPreviewRequest: Select catalog data or recent real events for a side-effect-free preview.
  - `sample_source` 'catalog' | 'recent'
  - `limit` integer

## Response `200`

Successful Response

- TriggerPreviewResponse: A side-effect-free evaluation of one trigger.
  - `trigger_id` string, uuid, required
  - `action` 'announce' | 'agent', required
  - `instruction` string, nullable, required
  - `destination` TriggerPreviewDestination, required: The resolved destination the real trigger uses.
    - `platform_code` string, required
    - `channel_external_id` string, required
    - `channel_name` string, nullable, required
  - `sample_source` 'catalog' | 'recent', required
  - `events` TriggerPreviewEvent[], required
    - `event_id` string, nullable, required
    - `occurred_at` string, date-time, nullable, required
    - `properties` object, required
    - `conditions` TriggerConditionVerdict[], required
      - `matched` boolean, required
      - `state` 'no_condition' | 'matched' | 'different' | 'missing', required
      - `field` string, nullable, required
      - `label` string, required
      - `event_value` unknown, required
      - `wanted_value` unknown, required
    - `rendered_message` string, nullable, required
  - `no_events_message` string, nullable, required
  - `hourly_ceiling` TriggerHourlyCeiling, required: The current hourly agent-trigger ceiling state.
    - `rate_limited` boolean, required
    - `hourly_limit_notice_resume_at` string, date-time, nullable, required
    - `max_runs_per_feed_per_hour` integer, required

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden. Inspect response body `code` for the specific reason (for example: PERMISSION_DENIED, EMAIL_NOT_VERIFIED, TENANT_ACCESS_REQUIRED, ROLE_UNRESOLVED)
- `404`: Not found
- `409`: Conflict
- `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)
