> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.reka.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.reka.ai/_mcp/server.

# YouTube Automations

> Generate clips automatically whenever a YouTube channel publishes a new video

> **Info**
>
> For chat over text, images and short videos, use the OpenAI-compatible [Chat Completions API](/chat/overview).

A YouTube automation watches a YouTube channel. When the channel publishes a new video, Reka Vision starts a [Clip Generation](/vision/highlight-clip-generation) job for it on your account, so highlight clips arrive without you submitting each video by hand.

## Create an automation

`POST /v2/youtube-automations`

#### Bash

```bash
curl -X POST https://vision-agent.api.reka.ai/v2/youtube-automations \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "youtube_channel_id": "UC1234567890abcdefghijk",
    "youtube_channel_url": "https://www.youtube.com/channel/UC1234567890abcdefghijk",
    "notify_email": "you@example.com"
  }'
```

#### Python

```python
import requests

BASE_URL = "https://vision-agent.api.reka.ai"
headers = {"X-Api-Key": REKA_API_KEY}

payload = {
    "youtube_channel_id": "UC1234567890abcdefghijk",
    "youtube_channel_url": "https://www.youtube.com/channel/UC1234567890abcdefghijk",
    "notify_email": "you@example.com",
}
response = requests.post(f"{BASE_URL}/v2/youtube-automations", json=payload, headers=headers)
response.raise_for_status()
automation = response.json()
```

### Parameters

* **`youtube_channel_id`** (required): ID of the YouTube channel to watch. Cannot be empty.
* **`youtube_channel_url`** (optional): URL of the channel.
* **`enabled`** (optional): Whether the automation is active. Defaults to `true`.
* **`notify_email`** (optional): Email address for notifications about this automation.

### Response

```json
{
  "id": "7c1d3f0e-5b8a-4a6f-9d2e-3f4b5a6c7d8e",
  "user_id": "user-123",
  "youtube_channel_id": "UC1234567890abcdefghijk",
  "youtube_channel_url": "https://www.youtube.com/channel/UC1234567890abcdefghijk",
  "enabled": true,
  "notify_email": "you@example.com",
  "last_checked_at": null,
  "created_at": "2026-09-30T08:00:00+00:00",
  "updated_at": "2026-09-30T08:00:00+00:00"
}
```

## List automations

`GET /v2/youtube-automations` returns your automations in a `results` array.

```bash
curl https://vision-agent.api.reka.ai/v2/youtube-automations \
  -H "X-Api-Key: YOUR_API_KEY"
```

## Get an automation

`GET /v2/youtube-automations/{automation_id}`

```bash
curl https://vision-agent.api.reka.ai/v2/youtube-automations/7c1d3f0e-5b8a-4a6f-9d2e-3f4b5a6c7d8e \
  -H "X-Api-Key: YOUR_API_KEY"
```

## Update an automation

`PATCH /v2/youtube-automations/{automation_id}` changes the channel URL, pauses or resumes the automation, or changes the notification email. Send at least one field. The channel ID cannot be changed; create a new automation instead.

```bash
curl -X PATCH https://vision-agent.api.reka.ai/v2/youtube-automations/7c1d3f0e-5b8a-4a6f-9d2e-3f4b5a6c7d8e \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'
```

### Parameters

* **`youtube_channel_url`** (optional): New channel URL.
* **`enabled`** (optional): `false` pauses the automation, `true` resumes it.
* **`notify_email`** (optional): New notification email.

The response is the updated automation.

## Delete an automation

`DELETE /v2/youtube-automations/{automation_id}`

```bash
curl -X DELETE https://vision-agent.api.reka.ai/v2/youtube-automations/7c1d3f0e-5b8a-4a6f-9d2e-3f4b5a6c7d8e \
  -H "X-Api-Key: YOUR_API_KEY"
```

```json
{
  "status": "success",
  "message": "YouTube automation deleted successfully"
}
```