Skip to content
Snippets Groups Projects

feat: Add endpoints for retrieving YouTube content data

5 unresolved threads
Files
17
+ 306
9
openapi: '3.1.0'
openapi: "3.1.0"
info:
version: 1.0.0
title: Media Link API
description: Access information on Eclipse Foundation video media (like youtube).
license:
name: Eclipse Public License - 2.0
url: https://www.eclipse.org/legal/epl-2.0/
version: 1.0.0
title: Media Link API
description: Access information on Eclipse Foundation video media (like youtube).
license:
name: Eclipse Public License - 2.0
url: https://www.eclipse.org/legal/epl-2.0/
servers:
- url: https://api.eclipse.org/media
description: Production endpoint for the media link API
\ No newline at end of file
- url: https://api.eclipse.org/media
description: Production endpoint for the media link API
paths:
/media/youtube/videos:
parameters:
- name: channel
in: query
description: The channel name
required: true
schema:
type: string
- name: afterDate
in: query
description: The starting date range
required: false
schema:
type: string
get:
summary: A channel's videos
description: Requires a channel query parameter, returns multiple videos
responses:
200:
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/Videos"
400:
description: Bad Request - Missing query param or invalid date
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not Found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Error while retrieving data
/media/youtube/video/{videoID}:
parameters:
- name: videoID
in: path
description: The video id
required: true
schema:
type: string
get:
summary: A single video
description: Returns a single video that exists for a configured user
responses:
200:
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/Video"
404:
description: Not Found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Error while retrieving data
/media/youtube/playlists:
parameters:
- name: channel
in: query
description: The channel name
required: true
schema:
type: string
- name: afterDate
in: query
description: The starting date range
required: false
schema:
type: string
get:
summary: A channel's playlists
description: Requires a channel query parameter, returns multiple playlist definitions
responses:
200:
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/Playlists"
400:
description: Bad Request - Missing query param or invalid date
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
404:
description: Not Found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Error while retrieving data
/media/youtube/playlist/{playlistID}:
parameters:
- name: playlistID
in: path
description: The playlist id
required: true
schema:
type: string
get:
summary: A single playlist
description: Returns a single playlist that exists for a configured user.
responses:
200:
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/Playlist"
404:
description: Not Found
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
500:
description: Error while retrieving data
components:
schemas:
Videos:
type: array
items:
$ref: "#/components/schemas/Video"
Video:
type: object
properties:
etag:
type: string
description: Placeholder
id:
type: string
description: The video id
snippet:
$ref: "#/components/schemas/VideoSnippet"
player:
$ref: "#/components/schemas/PlayerInfo"
Playlists:
type: array
items:
$ref: "#/components/schemas/Playlist"
Playlist:
type: object
properties:
etag:
type: string
description: Placeholder
id:
type: string
description: The playlist id
snippet:
$ref: "#/components/schemas/PlaylistSnippet"
player:
$ref: "#/components/schemas/PlayerInfo"
VideoSnippet:
type: object
properties:
publishedAt:
type: string
description: The publish date and time
channelId:
type: string
description: The channel id
title:
type: string
description: The video title
description:
type: string
description: The video description
thumbnails:
$ref: "#/components/schemas/ThumbnailOptions"
channelTitle:
type: string
description: the channel title
tags:
type: array
items:
type: string
description: video tags
categoryId:
type: string
description: the category id
liveBroadcastContent:
type: string
description: The live broadcast content
defaultLanguage:
type: string
description: the default language code
localized:
$ref: "#/components/schemas/LocalizedInfo"
defaultAudioLanguage:
type: string
description: The default audio language
PlaylistSnippet:
type: object
properties:
publishedAt:
type: string
description: The publish date and time
channelId:
type: string
description: The channel id
title:
type: string
description: The playlist title
description:
type: string
description: The playlist description
thumbnails:
$ref: "#/components/schemas/ThumbnailOptions"
channelTitle:
type: string
description: the channel title
localized:
$ref: "#/components/schemas/LocalizedInfo"
PlayerInfo:
type: object
properties:
embedHtml:
type: string
description: The HTML required to embed the video on a page
ThumbnailOptions:
type: object
properties:
default:
$ref: "#/components/schemas/Thumbnail"
medium:
$ref: "#/components/schemas/Thumbnail"
high:
$ref: "#/components/schemas/Thumbnail"
standard:
$ref: "#/components/schemas/Thumbnail"
maxres:
oneOf:
- $ref: "#/components/schemas/Thumbnail"
- type: "null"
Thumbnail:
type: object
properties:
url:
type: string
description: The thumbnail URL
width:
type: integer
description: the thumbnail width
height:
type: integer
description: the thumbnail height
LocalizedInfo:
type: object
properties:
title:
type: string
description: The localized title
description:
type: string
description: the localized description
Error:
type: object
properties:
status_code:
type: integer
description: HTTP response code
message:
type: string
description: Message containing error information
url:
type:
- string
- "null"
description: The URL
Loading