YouTube Channels

Manage YouTube channel content sources

List YouTube channels

get

Returns the saved YouTube channels for the authenticated token including recently cached videos.

Authorizations
Responses
200

Array of YouTube channels

application/json
get
/youtube-channels
GET /youtube-channels HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "success": true,
  "channels": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "channelId": "text",
      "title": "text",
      "description": "text",
      "thumbnailUrl": "https://example.com",
      "channelUrl": "https://example.com",
      "lastSyncedOn": "2025-11-08T21:35:02.753Z",
      "createdOn": "2025-11-08T21:35:02.753Z",
      "updatedOn": "2025-11-08T21:35:02.753Z",
      "videos": [
        {
          "videoId": "dQw4w9WgXcQ",
          "title": "Product Update Week 27",
          "videoUrl": "https://example.com",
          "thumbnailUrl": "https://example.com",
          "videoType": "video",
          "publishedAt": "2025-11-08T21:35:02.753Z"
        }
      ]
    }
  ]
}

Add a YouTube channel

post

Adds a new YouTube channel (by URL, ID, or @handle) and caches the latest public uploads. Handle resolution requires the YOUTUBE_API_KEY environment variable.

Authorizations
Body
urlstringRequired

YouTube channel URL, channel ID, or @handle

Example: https://www.youtube.com/@AutoContentAPI
Responses
201

Channel created and synced successfully

application/json
post
/youtube-channels
POST /youtube-channels HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 49

{
  "url": "https://www.youtube.com/@AutoContentAPI"
}
{
  "success": true,
  "channel": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "channelId": "text",
    "title": "text",
    "description": "text",
    "thumbnailUrl": "https://example.com",
    "channelUrl": "https://example.com",
    "lastSyncedOn": "2025-11-08T21:35:02.753Z",
    "createdOn": "2025-11-08T21:35:02.753Z",
    "updatedOn": "2025-11-08T21:35:02.753Z",
    "videos": [
      {
        "videoId": "dQw4w9WgXcQ",
        "title": "Product Update Week 27",
        "videoUrl": "https://example.com",
        "thumbnailUrl": "https://example.com",
        "videoType": "video",
        "publishedAt": "2025-11-08T21:35:02.753Z"
      }
    ]
  }
}

Get a YouTube channel by ID

get
Authorizations
Path parameters
channelIdstring · uuidRequired

Internal channel source identifier

Responses
200

Channel information

application/json
get
/youtube-channels/{channelId}
GET /youtube-channels/{channelId} HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "success": true,
  "channel": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "channelId": "text",
    "title": "text",
    "description": "text",
    "thumbnailUrl": "https://example.com",
    "channelUrl": "https://example.com",
    "lastSyncedOn": "2025-11-08T21:35:02.753Z",
    "createdOn": "2025-11-08T21:35:02.753Z",
    "updatedOn": "2025-11-08T21:35:02.753Z",
    "videos": [
      {
        "videoId": "dQw4w9WgXcQ",
        "title": "Product Update Week 27",
        "videoUrl": "https://example.com",
        "thumbnailUrl": "https://example.com",
        "videoType": "video",
        "publishedAt": "2025-11-08T21:35:02.753Z"
      }
    ]
  }
}

Remove a YouTube channel

delete

Marks the specified YouTube channel as inactive so it will no longer supply new content.

Authorizations
Path parameters
channelIdstring · uuidRequired
Responses
200

Channel removed successfully

application/json
delete
/youtube-channels/{channelId}
DELETE /youtube-channels/{channelId} HTTP/1.1
Host: api.autocontentapi.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "success": true,
  "message": "Channel removed successfully"
}

Last updated