---
title: "List campaign creators' Discord handles"
method: GET
path: "/campaigns/creators/discord"
tags: ["Campaigns"]
---

# List campaign creators' Discord handles

`GET /campaigns/creators/discord`

## Request

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

For creators linked to your Creator Community campaigns, returns each creator's TikTok handle alongside their linked Discord handle — so you can match Discord server members to the TikTok Shop creators you work with.

One row per (campaign, creator): a creator in several of your campaigns appears once per campaign, with `campaign_id` / `campaign_name` for context. Discord is creator-provided and optional; by default only creators who have linked a Discord account are returned. Set `with_discord_only=false` to include creators without one (`discord_handle` and `discord_user_id` will be null).

By default every currently-linked creator is returned except those rejected / removed / withdrawn from a campaign; pass `active_only=true` to restrict to creators accepted into a campaign (active or settled). Single shop only.

## Query parameters

- `page` integer: Page number (1-indexed).
- `page_size` integer: Rows per page (max 100).
- `campaign_id` integer, nullable: Restrict to a single campaign you own. Must belong to the shop in x-shop-id, otherwise the result is simply empty.
- `with_discord_only` boolean: Return only creators who have linked a Discord account. Set false to include creators without one (their Discord fields are null).
- `active_only` boolean: Restrict to creators accepted into a campaign (active or settled). Default returns all linked creators except rejected / removed / withdrawn.

## Response `200`

Successful Response

- CampaignCreatorDiscordResponse: Paginated list of campaign-linked creators with Discord handles.
  - `data` CampaignCreatorDiscordItem[], required
    - `tiktok_handle` string, nullable: The TikTok handle this creator posts as for the campaign — the one they chose when enrolling, or their primary handle if they made no per-campaign choice. DB: creator_tiktok_auth.tiktok_username.
    - `discord_handle` string, nullable: Creator's linked Discord username. Creator-provided and optional — null when the creator has not connected Discord (only returned when with_discord_only=false). DB: creator_discord_links.username.
    - `discord_user_id` string, nullable: Discord's stable numeric user id (snowflake) for the creator. Unlike the handle it never changes, so it is the reliable key for matching a Discord server member to this creator. DB: creator_discord_links.discord_user_id.
    - `campaign_id` integer, required: Campaign the creator is linked to. DB: campaign_creator_mapping.campaign_id.
    - `campaign_name` string, nullable: Campaign name. DB: campaigns.campaign_name.
  - `pagination` unknown, required

## Other responses

- `422`: Validation Error

---

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