mirror of
https://github.com/TeamPiped/OpenAPI.git
synced 2024-08-14 23:56:55 +00:00
Add channel api definition.
This commit is contained in:
parent
8c6333d9d8
commit
45a9275ac8
1 changed files with 248 additions and 11 deletions
259
swagger.yaml
259
swagger.yaml
|
@ -11,7 +11,7 @@ info:
|
||||||
url: https://github.com/TeamPiped/Piped/issues
|
url: https://github.com/TeamPiped/Piped/issues
|
||||||
license:
|
license:
|
||||||
name: MIT
|
name: MIT
|
||||||
url: 'https://opensource.org/licenses/MIT'
|
url: "https://opensource.org/licenses/MIT"
|
||||||
tags:
|
tags:
|
||||||
- name: unauthenticated
|
- name: unauthenticated
|
||||||
description: Requests that can be made by anyone
|
description: Requests that can be made by anyone
|
||||||
|
@ -32,9 +32,9 @@ paths:
|
||||||
required: true
|
required: true
|
||||||
example: US
|
example: US
|
||||||
schema:
|
schema:
|
||||||
$ref: '#/components/schemas/Regions'
|
$ref: "#/components/schemas/Regions"
|
||||||
responses:
|
responses:
|
||||||
'200':
|
"200":
|
||||||
description: Array of trending Videos.
|
description: Array of trending Videos.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
|
@ -42,7 +42,13 @@ paths:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
anyOf:
|
anyOf:
|
||||||
- $ref: '#/components/schemas/StreamItem'
|
- $ref: "#/components/schemas/StreamItem"
|
||||||
|
"500":
|
||||||
|
description: Server Side exception
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ExceptionError"
|
||||||
/streams/{videoId}:
|
/streams/{videoId}:
|
||||||
get:
|
get:
|
||||||
tags:
|
tags:
|
||||||
|
@ -60,34 +66,265 @@ paths:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
responses:
|
responses:
|
||||||
'200':
|
"200":
|
||||||
description: The information about the video.
|
description: The information about the video.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: '#/components/schemas/VideoInfo'
|
$ref: "#/components/schemas/VideoInfo"
|
||||||
'500':
|
"500":
|
||||||
description: Server Side exception
|
description: Server Side exception
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: '#/components/schemas/ExceptionError'
|
$ref: "#/components/schemas/ExceptionError"
|
||||||
|
/channel/{channelId}:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- unauthenticated
|
||||||
|
summary: Gets Channel Information
|
||||||
|
operationId: channelInfoId
|
||||||
|
description: |
|
||||||
|
Gets all available Channel information about a channel.
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: channelId
|
||||||
|
description: The channel ID of the YouTube channel you want to get information about.
|
||||||
|
required: true
|
||||||
|
example: UCs6KfncB4OV6Vug4o_bzijg
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: The information about the channel.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ChannelInfo"
|
||||||
|
"500":
|
||||||
|
description: Server Side exception
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ExceptionError"
|
||||||
|
/c/{name}:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- unauthenticated
|
||||||
|
summary: Gets Channel Information
|
||||||
|
operationId: channelInfoName
|
||||||
|
description: |
|
||||||
|
Gets all available Channel information about a channel.
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: name
|
||||||
|
description: The name of the YouTube channel you want to get information about.
|
||||||
|
required: true
|
||||||
|
example: Dream
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: The information about the channel.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ChannelInfo"
|
||||||
|
"500":
|
||||||
|
description: Server Side exception
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ExceptionError"
|
||||||
|
/user/{username}:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- unauthenticated
|
||||||
|
summary: Gets Channel Information
|
||||||
|
operationId: channelInfoUsername
|
||||||
|
description: |
|
||||||
|
Gets all available Channel information about a channel.
|
||||||
|
parameters:
|
||||||
|
- in: path
|
||||||
|
name: username
|
||||||
|
description: The username of the YouTube channel you want to get information about.
|
||||||
|
required: true
|
||||||
|
example: DreamTraps
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: The information about the channel.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ChannelInfo"
|
||||||
|
"500":
|
||||||
|
description: Server Side exception
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ExceptionError"
|
||||||
components:
|
components:
|
||||||
schemas:
|
schemas:
|
||||||
Regions:
|
Regions:
|
||||||
type: string
|
type: string
|
||||||
enum: ["DZ", "AR", "AU", "AT", "AZ", "BH", "BD", "BY", "BE", "BO", "BA", "BR", "BG", "CA", "CL", "CO", "CR", "HR", "CY", "CZ", "DK", "DO", "EC", "EG", "SV", "EE", "FI", "FR", "GE", "DE", "GH", "GR", "GT", "HN", "HK", "HU", "IS", "IN", "ID", "IQ", "IE", "IL", "IT", "JM", "JP", "JO", "KZ", "KE", "KW", "LV", "LB", "LY", "LI", "LT", "LU", "MY", "MT", "MX", "ME", "MA", "NP", "NL", "NZ", "NI", "NG", "MK", "NO", "OM", "PK", "PA", "PG", "PY", "PE", "PH", "PL", "PT", "PR", "QA", "RO", "RU", "SA", "SN", "RS", "SG", "SK", "SI", "ZA", "KR", "ES", "LK", "SE", "CH", "TW", "TZ", "TH", "TN", "TR", "UG", "UA", "AE", "GB", "US", "UY", "VE", "VN", "YE", "ZW"]
|
enum:
|
||||||
|
[
|
||||||
|
"DZ",
|
||||||
|
"AR",
|
||||||
|
"AU",
|
||||||
|
"AT",
|
||||||
|
"AZ",
|
||||||
|
"BH",
|
||||||
|
"BD",
|
||||||
|
"BY",
|
||||||
|
"BE",
|
||||||
|
"BO",
|
||||||
|
"BA",
|
||||||
|
"BR",
|
||||||
|
"BG",
|
||||||
|
"CA",
|
||||||
|
"CL",
|
||||||
|
"CO",
|
||||||
|
"CR",
|
||||||
|
"HR",
|
||||||
|
"CY",
|
||||||
|
"CZ",
|
||||||
|
"DK",
|
||||||
|
"DO",
|
||||||
|
"EC",
|
||||||
|
"EG",
|
||||||
|
"SV",
|
||||||
|
"EE",
|
||||||
|
"FI",
|
||||||
|
"FR",
|
||||||
|
"GE",
|
||||||
|
"DE",
|
||||||
|
"GH",
|
||||||
|
"GR",
|
||||||
|
"GT",
|
||||||
|
"HN",
|
||||||
|
"HK",
|
||||||
|
"HU",
|
||||||
|
"IS",
|
||||||
|
"IN",
|
||||||
|
"ID",
|
||||||
|
"IQ",
|
||||||
|
"IE",
|
||||||
|
"IL",
|
||||||
|
"IT",
|
||||||
|
"JM",
|
||||||
|
"JP",
|
||||||
|
"JO",
|
||||||
|
"KZ",
|
||||||
|
"KE",
|
||||||
|
"KW",
|
||||||
|
"LV",
|
||||||
|
"LB",
|
||||||
|
"LY",
|
||||||
|
"LI",
|
||||||
|
"LT",
|
||||||
|
"LU",
|
||||||
|
"MY",
|
||||||
|
"MT",
|
||||||
|
"MX",
|
||||||
|
"ME",
|
||||||
|
"MA",
|
||||||
|
"NP",
|
||||||
|
"NL",
|
||||||
|
"NZ",
|
||||||
|
"NI",
|
||||||
|
"NG",
|
||||||
|
"MK",
|
||||||
|
"NO",
|
||||||
|
"OM",
|
||||||
|
"PK",
|
||||||
|
"PA",
|
||||||
|
"PG",
|
||||||
|
"PY",
|
||||||
|
"PE",
|
||||||
|
"PH",
|
||||||
|
"PL",
|
||||||
|
"PT",
|
||||||
|
"PR",
|
||||||
|
"QA",
|
||||||
|
"RO",
|
||||||
|
"RU",
|
||||||
|
"SA",
|
||||||
|
"SN",
|
||||||
|
"RS",
|
||||||
|
"SG",
|
||||||
|
"SK",
|
||||||
|
"SI",
|
||||||
|
"ZA",
|
||||||
|
"KR",
|
||||||
|
"ES",
|
||||||
|
"LK",
|
||||||
|
"SE",
|
||||||
|
"CH",
|
||||||
|
"TW",
|
||||||
|
"TZ",
|
||||||
|
"TH",
|
||||||
|
"TN",
|
||||||
|
"TR",
|
||||||
|
"UG",
|
||||||
|
"UA",
|
||||||
|
"AE",
|
||||||
|
"GB",
|
||||||
|
"US",
|
||||||
|
"UY",
|
||||||
|
"VE",
|
||||||
|
"VN",
|
||||||
|
"YE",
|
||||||
|
"ZW",
|
||||||
|
]
|
||||||
VideoInfo:
|
VideoInfo:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
audioStreams:
|
audioStreams:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
$ref: '#/components/schemas/Stream'
|
$ref: "#/components/schemas/Stream"
|
||||||
relatedStreams:
|
relatedStreams:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
$ref: '#/components/schemas/StreamItem'
|
$ref: "#/components/schemas/StreamItem"
|
||||||
|
ChannelInfo:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
avatarUrl:
|
||||||
|
type: string
|
||||||
|
description: The URL of the channel's avatar.
|
||||||
|
bannerUrl:
|
||||||
|
type: string
|
||||||
|
description: The URL of the channel's banner.
|
||||||
|
description:
|
||||||
|
type: string
|
||||||
|
description: The channel's description.
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
description: The ID of the channel.
|
||||||
|
example: UCs6KfncB4OV6Vug4o_bzijg
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
description: The name of the channel.
|
||||||
|
example: Techlore
|
||||||
|
nextpage:
|
||||||
|
type: string
|
||||||
|
description: The parameter used to get the next page of related videos.
|
||||||
|
relatedStreams:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: "#/components/schemas/StreamItem"
|
||||||
|
subscriberCount:
|
||||||
|
type: integer
|
||||||
|
description: The number of subscribers the channel has.
|
||||||
|
example: 170000
|
||||||
|
verified:
|
||||||
|
type: boolean
|
||||||
|
description: Whether the channel is verified.
|
||||||
|
example: true
|
||||||
Stream:
|
Stream:
|
||||||
properties:
|
properties:
|
||||||
url:
|
url:
|
||||||
|
|
Loading…
Reference in a new issue