---
title: "Agent Channel New"
method: POST
path: "/v1/channel/new"
tags: ["agent"]
---

# Agent Channel New

`POST /v1/channel/new`

## Request

- Base URL: `https://api.sumvid.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sumvid.app/v1/channel/new`
- Auth: none declared

New videos on a YouTube channel since the caller's cursor. Pay-per-call
via x402 (no account/key). Stateless: we hold no per-caller watch state —
the agent supplies its own cursor (a video id or timestamp) and we answer
from YouTube's public channel feed (`youtube_feed`). No jobs-ledger row (a
poll has no video to attach one to), but it does write an x402_payments
row (see below) so this SKU isn't invisible in Postgres; wallet-level
reconciliation also logs payer/amount via `_register_reconciliation_hooks`.
Charged only on success — an unresolvable channel or a malformed cursor is
never charged.

## Request body

- AgentChannelRequest
  - `channel` string, required
  - `since_video_id` string, nullable
  - `since` string, date-time, nullable

## Response `200`

Successful Response

- AgentChannelResponse
  - `channel_id` string, required
  - `channel_title` string, nullable
  - `videos` ChannelVideo[], required
    - `video_id` string, required
    - `url` string, required
    - `title` string, required
    - `published_at` string, date-time, required
  - `newest_video_id` string, nullable
  - `cursor_found` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sumvid/apis/summarize-vid.md) · [All operations](https://skmtc.dev/sumvid/apis/summarize-vid/llms.txt) · [OpenAPI document](https://skmtc.dev/sumvid/apis/summarize-vid/revisions/c03d66e07deb?raw)
