---
title: "List the shop's Discord channels"
method: GET
path: "/discord/channels"
tags: ["Discord"]
---

# List the shop's Discord channels

`GET /discord/channels`

## Request

- Base URL: `https://api.reacherapp.com/public/v1`
- URL: `https://api.reacherapp.com/public/v1/discord/channels`
- Auth: API key in header `x-api-key` and API key in header `x-shop-id`

Every text / announcement channel in the shop's connected Discord server, with `can_post` telling you where the Reacher bot can actually post. Use a channel's `id` as `channel_id` when posting.

404 if the shop has not connected Discord. Single shop only.

## Response `200`

Successful Response

- DiscordChannelsResponse
  - `data` DiscordChannelsPayload, required
    - `discord_guild_id` string, required
    - `channels` DiscordChannelPublic[]
      - `id` string, required
      - `name` string, required
      - `type` integer, required: 0 = text, 5 = announcement.
      - `position` integer, nullable
      - `parent_id` string, nullable
      - `parent_name` string, nullable: Category name, if any.
      - `can_post` boolean, required: Whether the bot can actually post here.
      - `missing_permissions` string[]: Permissions the bot lacks here (VIEW_CHANNEL, SEND_MESSAGES, MANAGE_WEBHOOKS); empty when can_post is true.

## Changes

> 76 revisions in range; 1 not diffed.

- **2026-09-29** `c8958a7038ec`: 1 info
  - added the optional property `data/channels/items/missing_permissions` to the response with the `200` status
- **2026-09-05** `643422c93bd8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/reacherapp/apis/reacher-data-api/changes/discord/channels/get.md)

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) - [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/reacherapp/apis/reacher-data-api/revisions/63ce74b30b5a?raw)
