Tube Archivist Playlist API

The Playlist API from Tube Archivist — 4 operation(s) for playlist.

Operations 7

GET /api/playlist/ Api playlist retrieve #
POST /api/playlist/ Api playlist create #
GET /api/playlist/{playlist_id}/ Api playlist retrieve 2 #
POST /api/playlist/{playlist_id}/ Api playlist create 2 #
DELETE /api/playlist/{playlist_id}/ Api playlist destroy #
POST /api/playlist/custom/ Api playlist custom create #
POST /api/playlist/custom/{playlist_id}/ Api playlist custom create 2 #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tubearchivist:tubearchivist-playlist-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tubearchivist-playlist-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tubearchivist Playlist API
  version: v0.6.0
  description: 'Operations tagged Playlist across 2 of this provider''s published API definitions: schema.yaml, tubearchivist-openapi.yml. Each path carries the servers of the definition it was published in.'
tags:
- name: Playlist
paths:
  /api/playlist/:
    get:
      operationId: api_playlist_retrieve
      description: get playlist list
      parameters:
      - in: query
        name: channel
        schema:
          type: string
          minLength: 1
      - in: query
        name: page
        schema:
          type: integer
      - in: query
        name: subscribed
        schema:
          type:
          - boolean
          - 'null'
      - in: query
        name: type
        schema:
          enum:
          - regular
          - custom
          type: string
          minLength: 1
        description: '* `regular` - regular

          * `custom` - custom'
      tags:
      - Playlist
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlaylistList'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
      summary: Api playlist retrieve
      x-summary-source: derived
    post:
      operationId: api_playlist_create
      description: async subscribe to list of playlists
      tags:
      - Playlist
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlaylistBulkAdd'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PlaylistBulkAdd'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PlaylistBulkAdd'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
      summary: Api playlist create
      x-summary-source: derived
  /api/playlist/{playlist_id}/:
    get:
      operationId: api_playlist_retrieve_2
      description: get playlist
      parameters:
      - in: path
        name: playlist_id
        schema:
          type: string
        required: true
      tags:
      - Playlist
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Playlist'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: playlist not found
      summary: Api playlist retrieve 2
      x-summary-source: derived
    post:
      operationId: api_playlist_create_2
      description: update subscribed state of playlist
      parameters:
      - in: path
        name: playlist_id
        schema:
          type: string
        required: true
      tags:
      - Playlist
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlaylistSingleUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PlaylistSingleUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PlaylistSingleUpdate'
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Playlist'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: playlist not found
      summary: Api playlist create 2
      x-summary-source: derived
    delete:
      operationId: api_playlist_destroy
      description: delete playlist
      parameters:
      - in: query
        name: delete_videos
        schema:
          type: boolean
      - in: path
        name: playlist_id
        schema:
          type: string
        required: true
      tags:
      - Playlist
      security:
      - tokenAuth: []
      responses:
        '204':
          description: playlist deleted
      summary: Api playlist destroy
      x-summary-source: derived
  /api/playlist/custom/:
    post:
      operationId: api_playlist_custom_create
      description: create new custom playlist
      tags:
      - Playlist
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlaylistListCustomPost'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PlaylistListCustomPost'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PlaylistListCustomPost'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Playlist'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad request
      summary: Api playlist custom create
      x-summary-source: derived
  /api/playlist/custom/{playlist_id}/:
    post:
      operationId: api_playlist_custom_create_2
      description: modify custom playlist
      parameters:
      - in: path
        name: playlist_id
        schema:
          type: string
        required: true
      tags:
      - Playlist
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlaylistCustomPost'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PlaylistCustomPost'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PlaylistCustomPost'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Playlist'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: bad request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: playlist not found
      summary: Api playlist custom create 2
      x-summary-source: derived
components:
  schemas:
    ErrorResponse:
      type: object
      description: error message
      properties:
        error:
          type: string
      required:
      - error
    PlaylistList:
      type: object
      description: serialize list of playlists
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Playlist'
        paginate:
          $ref: '#/components/schemas/Pagination'
      required:
      - data
      - paginate
    PlaylistSingleUpdate:
      type: object
      description: update state of single playlist
      properties:
        playlist_subscribed:
          type: boolean
        playlist_sort_order:
          $ref: '#/components/schemas/PlaylistSortOrderEnum'
    PlaylistTypeEnum:
      enum:
      - regular
      - custom
      type: string
      description: '* `regular` - regular

        * `custom` - custom'
    PlaylistBulkAdd:
      type: object
      description: bulk add playlists serializers
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PlaylistSingleAdd'
      required:
      - data
    PlaylistListCustomPost:
      type: object
      description: serialize list post custom playlist
      properties:
        playlist_name:
          type: string
      required:
      - playlist_name
    Playlist:
      type: object
      description: serialize playlist
      properties:
        playlist_active:
          type: boolean
        playlist_channel:
          type: string
        playlist_channel_id:
          type: string
        playlist_description:
          type:
          - string
          - 'null'
        playlist_entries:
          type: array
          items:
            $ref: '#/components/schemas/PlaylistEntry'
        playlist_id:
          type: string
        playlist_last_refresh:
          type: string
        playlist_name:
          type: string
        playlist_subscribed:
          type: boolean
        playlist_sort_order:
          $ref: '#/components/schemas/PlaylistSortOrderEnum'
        playlist_thumbnail:
          type: string
        playlist_type:
          $ref: '#/components/schemas/PlaylistTypeEnum'
        _index:
          type: string
          title: ' index'
        _score:
          type: integer
          title: ' score'
      required:
      - playlist_active
      - playlist_channel
      - playlist_channel_id
      - playlist_entries
      - playlist_id
      - playlist_last_refresh
      - playlist_name
      - playlist_sort_order
      - playlist_subscribed
      - playlist_thumbnail
      - playlist_type
    PlaylistSortOrderEnum:
      enum:
      - top
      - bottom
      type: string
      description: '* `top` - top

        * `bottom` - bottom'
    PlaylistSubscribedEnum:
      enum:
      - true
      type: boolean
      description: '* `True` - True'
    AsyncTaskResponse:
      type: object
      description: serialize new async task
      properties:
        message:
          type: string
        task_id:
          type: string
        status:
          type: string
        filename:
          type: string
      required:
      - task_id
    Pagination:
      type: object
      description: serialize paginate response
      properties:
        page_size:
          type: integer
        page_from:
          type: integer
        prev_pages:
          type:
          - array
          - 'null'
          items:
            type: integer
        current_page:
          type: integer
        max_hits:
          type: boolean
        params:
          type: string
        last_page:
          type: integer
        next_pages:
          type:
          - array
          - 'null'
          items:
            type: integer
        total_hits:
          type: integer
      required:
      - current_page
      - last_page
      - max_hits
      - next_pages
      - page_from
      - page_size
      - params
      - prev_pages
      - total_hits
    ActionEnum:
      enum:
      - create
      - remove
      - up
      - down
      - top
      - bottom
      type: string
      description: '* `create` - create

        * `remove` - remove

        * `up` - up

        * `down` - down

        * `top` - top

        * `bottom` - bottom'
    PlaylistCustomPost:
      type: object
      description: serialize playlist custom action
      properties:
        action:
          $ref: '#/components/schemas/ActionEnum'
        video_id:
          type: string
      required:
      - action
      - video_id
    PlaylistEntry:
      type: object
      description: serialize single playlist entry
      properties:
        youtube_id:
          type: string
        title:
          type: string
        uploader:
          type:
          - string
          - 'null'
        idx:
          type: integer
        downloaded:
          type: boolean
      required:
      - downloaded
      - idx
      - title
      - uploader
      - youtube_id
    PlaylistSingleAdd:
      type: object
      description: single item to add
      properties:
        playlist_id:
          type: string
        playlist_subscribed:
          $ref: '#/components/schemas/PlaylistSubscribedEnum'
      required:
      - playlist_id
      - playlist_subscribed
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"
x-refined-from:
- schema.yaml
- tubearchivist-openapi.yml