---
title: "List the channels a preview may be sent to"
method: GET
path: "/v1/admin/slack-preview-channels"
tags: ["admin"]
---

# List the channels a preview may be sent to

`GET /v1/admin/slack-preview-channels`

## 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-channels`
- Auth: HTTP bearer

Public, unarchived, non-shared channels of the allowlisted workspace that Patricia is already in. ``auth.test`` anchors the token to that workspace BEFORE the listing runs, so a mis-stored token cannot answer with another workspace's channel names. A convenience only: the send re-attests whatever channel id it is given. ``truncated`` says whether the list is complete.

## Response `200`

Successful Response

- SlackPreviewChannelList
  - `items` SlackPreviewChannelRow[], required
    - `id` string, required
    - `name` string, required
  - `count` integer, required
  - `truncated` boolean, required: True when this is not every channel a preview could go to: one page of Slack's list is read and the offerable rows are capped. The console says so and keeps the typed channel-id box reachable, because a silently short list reads as 'Patricia is not in that channel'.

## Other responses

- `401`: Unauthorized
- `403`: Permission denied (PERMISSION_DENIED) or email not verified (EMAIL_NOT_VERIFIED)
- `409`: Conflict: ``errors[0].type`` is ``wrong_workspace``. The stored Slack credential is live but answers for a different workspace than the one previews may be posted into.
- `422`: Validation error
- `503`: Preview sending is unavailable in this environment (no active Slack install for the allowlisted workspace), or Slack did not answer before anything was posted.

---

[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)
