---
title: "/channels/{channel_id}"
method: GET
path: "/projects/{project_id}/channels/{channel_id}"
tags: ["Channels"]
---

# /channels/{channel_id}

`GET /projects/{project_id}/channels/{channel_id}`

## Request

- Base URL: `https://api.productbyte.com/v1`
- URL: `https://api.productbyte.com/v1/projects/{project_id}/channels/{channel_id}`
- Auth: HTTP bearer

Returns one connected channel. Useful for confirming a stored channel id still resolves before publishing to it — a disconnected account answers 404 here.

Requires the `channels:read` scope.

## Path parameters

- `project_id` string, required: The project the channel belongs to.
- `channel_id` string, required: The channel to read.

## Response `200`

The channel.

- object
  - `id` string, required: Stable identifier for this channel. Pass it when creating a post.
  - `type` 'x_profile' | 'tiktok_creator' | 'facebook_page' | 'instagram' | 'threads_profile' | 'bluesky_profile' | 'pinterest_profile', required: What kind of destination this is.
  - `platform` 'x' | 'tiktok' | 'meta' | 'threads' | 'bluesky' | 'pinterest', required: The provider behind the channel.
  - `name` string, required: Display name, as shown in ProductByte.
  - `secondary_name` string: Owning account or business, when the provider reports one.
  - `handle` string: Public handle, without the leading @, when the provider has one.

## Other responses

- `401`: Missing, unknown, revoked, or expired key (`API_KEY_UNAUTHORIZED`).
- `403`: The key lacks `channels:read`, or the project is outside its allowlist.
- `404`: No such channel connected to this project (`API_CHANNEL_NOT_FOUND`).
- `429`: Too many requests for this key (`API_RATE_LIMITED`). Back off and retry; `Retry-After` gives the window length.

---

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