---
title: "Read the channels behind a source"
method: GET
path: "/sources/{id}/channels"
tags: ["Atlas"]
---

# Read the channels behind a source

`GET /sources/{id}/channels`

## Request

- Base URL: `https://api.epovest.com/v1`
- URL: `https://api.epovest.com/v1/sources/{id}/channels`
- Auth: HTTP bearer

The channels that published the videos the AIs cited when answering your questions. The order
is the measure: how many of your questions the channel came back on, then videos, then
citations, so a channel that answers two of your questions with one well-titled video sits
above a busy channel cited twice on the same one. `you_are_there` is read from the
corroborations this account has recorded on that channel or on one of its videos.

## Query parameters

- `project_id` string

## Response `200`

The channels, and the counts the list is drawn from.

- SourceChannels
  - `source` object, required
    - `id` string, uuid
    - `domain` string
  - `channels` object[], required
    - `name` string, nullable
    - `url` string, nullable
    - `questions` integer: How many of your questions the channel came back on. It is what orders the list.
    - `videos` integer
    - `citations` integer
    - `surveys` integer
    - `first_seen_on` string, date
    - `last_seen_on` string, date
    - `you_are_there` boolean: Read from the corroborations this account recorded on that channel or on one of its videos.
    - `video_list` object[]
      - `url` string
      - `questions` string[]: The text of your own questions that surfaced this video.
      - `citations` integer
      - `surveys` integer
      - `first_seen_on` string, date
      - `last_seen_on` string, date
  - `videos` integer, required: The distinct videos cited on your questions, which is what the list is drawn from.
  - `named` integer, required: Those whose channel is established.
  - `unnamed` integer, required: Those the world does not name.
  - `pending` integer, required: Those still to be established.
  - `citations` integer, required

## Other responses

- `401`: `unauthenticated`: missing, unknown or revoked key.
- `403`: `insufficient_scope`: the credential may not do this, either because the key lacks the scope, or, on a one-click connection, because the person lacks the role the action needs (manager, or owner to start, pause and top up). On that path, read it as "this person may not do this" and tell them which role the action needs.
- `404`: `not_found`: unknown for this account.
- `422`: `invalid_project`: the message says what `project_id` takes.
- `429`: `rate_limited`: 120 requests per minute per credential, sliding window. Retry after `Retry-After` seconds.

---

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