X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=support%2Fdoc%2Fapi%2Fopenapi.yaml;h=3f887a7bb246aac667dc9df5a968da870bd6b997;hb=512a575971874a8d271ba245bbb4d02ff24a668e;hp=f3f565694d599c2affd33df02dc71bb9dfa9fac9;hpb=7d14d4d2ca82cc43c93b45bb1f90af975cfbf67c;p=github%2FChocobozzz%2FPeerTube.git diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index f3f565694..3f887a7bb 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: PeerTube - version: 1.3.0-rc.2 + version: 1.3.1 contact: name: PeerTube Community url: 'https://joinpeertube.org' @@ -38,7 +38,7 @@ info: } ``` externalDocs: - url: https://docs.joinpeertube.org/#/api-rest-reference.html + url: https://docs.joinpeertube.org/api-rest-reference.html tags: - name: Accounts description: > @@ -638,7 +638,7 @@ paths: application/json: schema: $ref: '#/components/schemas/VideoListResponse' - '/users/me/subscriptions/{uri}': + '/users/me/subscriptions/{subscriptionHandle}': get: summary: Get subscription of the current user for a given uri security: @@ -646,6 +646,8 @@ paths: - user tags: - User + parameters: + - $ref: '#/components/parameters/subscriptionHandle' responses: '200': description: successful operation @@ -660,6 +662,8 @@ paths: - user tags: - User + parameters: + - $ref: '#/components/parameters/subscriptionHandle' responses: '200': description: successful operation @@ -792,7 +796,7 @@ paths: tags: - Video parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '200': description: successful operation @@ -844,34 +848,21 @@ paths: commentsEnabled: description: Enable or disable comments for this video type: string - scheduleUpdate: &ref_0 - type: object - properties: - privacy: - type: string - enum: - - Public - - Unlisted - description: Video privacy target - updateAt: - type: string - format: date - description: When to update the video - required: - - updateAt + scheduleUpdate: + $ref: '#/components/schemas/VideoScheduledUpdate' get: summary: Get a video by its id tags: - Video parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '200': description: successful operation content: application/json: schema: - $ref: '#/components/schemas/Video' + $ref: '#/components/schemas/VideoDetails' delete: summary: Delete a video by its id security: @@ -879,7 +870,7 @@ paths: tags: - Video parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '204': $ref: '#/paths/~1users~1me/put/responses/204' @@ -889,7 +880,7 @@ paths: tags: - Video parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '200': description: successful operation @@ -903,7 +894,7 @@ paths: tags: - Video parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '204': $ref: '#/paths/~1users~1me/put/responses/204' @@ -915,7 +906,7 @@ paths: security: - OAuth2: [] parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' requestBody: content: application/json: @@ -932,8 +923,6 @@ paths: - Video security: - OAuth2: [] - parameters: - - $ref: '#/components/parameters/id2' responses: '200': description: successful operation @@ -945,7 +934,7 @@ paths: security: - OAuth2: [] parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '204': $ref: '#/paths/~1users~1me/put/responses/204' @@ -957,7 +946,7 @@ paths: security: - OAuth2: [] parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '204': $ref: '#/paths/~1users~1me/put/responses/204' @@ -969,7 +958,7 @@ paths: security: - OAuth2: [] parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' requestBody: required: true content: @@ -1053,7 +1042,8 @@ paths: commentsEnabled: description: Enable or disable comments for this video type: string - scheduleUpdate: *ref_0 + scheduleUpdate: + $ref: '#/components/schemas/VideoScheduledUpdate' required: - videofile - channelId @@ -1157,7 +1147,8 @@ paths: commentsEnabled: description: Enable or disable comments for this video type: string - scheduleUpdate: *ref_0 + scheduleUpdate: + $ref: '#/components/schemas/VideoScheduledUpdate' required: - channelId - name @@ -1189,7 +1180,7 @@ paths: tags: - Video Abuse parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '204': $ref: '#/paths/~1users~1me/put/responses/204' @@ -1203,7 +1194,7 @@ paths: tags: - Video Blacklist parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '204': $ref: '#/paths/~1users~1me/put/responses/204' @@ -1216,7 +1207,7 @@ paths: tags: - Video Blacklist parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '204': $ref: '#/paths/~1users~1me/put/responses/204' @@ -1248,7 +1239,7 @@ paths: tags: - Video Caption parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '200': description: successful operation @@ -1269,7 +1260,7 @@ paths: tags: - Video Caption parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/captionLanguage' requestBody: content: @@ -1289,7 +1280,7 @@ paths: tags: - Video Caption parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/captionLanguage' responses: '204': @@ -1406,6 +1397,7 @@ paths: tags: - User parameters: + - $ref: '#/components/parameters/name' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/count' - $ref: '#/components/parameters/sort' @@ -1433,7 +1425,7 @@ paths: tags: - Video Comment parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/count' - $ref: '#/components/parameters/sort' @@ -1451,7 +1443,7 @@ paths: tags: - Video Comment parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '200': description: successful operation @@ -1465,13 +1457,8 @@ paths: tags: - Video Comment parameters: - - $ref: '#/components/parameters/id2' - - name: threadId - in: path - required: true - description: The thread id (root comment id) - schema: - type: number + - $ref: '#/components/parameters/idOrUUID' + - $ref: '#/components/parameters/threadId' responses: '200': description: successful operation @@ -1487,7 +1474,7 @@ paths: tags: - Video Comment parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/commentId' responses: '200': @@ -1503,7 +1490,7 @@ paths: tags: - Video Comment parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' - $ref: '#/components/parameters/commentId' responses: '204': @@ -1516,7 +1503,7 @@ paths: tags: - Video Rate parameters: - - $ref: '#/components/parameters/id2' + - $ref: '#/components/parameters/idOrUUID' responses: '204': $ref: '#/paths/~1users~1me/put/responses/204' @@ -1656,7 +1643,7 @@ components: description: The user id schema: type: number - id2: + idOrUUID: name: id in: path required: true @@ -1677,10 +1664,24 @@ components: description: "The video channel handle (example: 'my_username@example.com' or 'my_username')" schema: type: string - commentId: + subscriptionHandle: + name: subscriptionHandle + in: path + required: true + description: "The subscription handle (example: 'my_username@example.com' or 'my_username')" + schema: + type: string + threadId: name: threadId in: path required: true + description: The thread id (root comment id) + schema: + type: number + commentId: + name: commentId + in: path + required: true description: The comment id schema: type: number @@ -1834,6 +1835,112 @@ components: - 3 label: type: string + VideoStateConstant: + properties: + id: + type: integer + enum: + - 1 + - 2 + - 3 + description: 'The video state (Published = 1, to transcode = 2, to import = 3)' + label: + type: string + VideoResolutionConstant: + properties: + id: + type: integer + description: 'Video resolution (240, 360, 720 ...)' + label: + type: string + VideoScheduledUpdate: + properties: + privacy: + $ref: '#/components/schemas/VideoPrivacySet' + description: Video privacy target + updateAt: + type: string + format: date + description: When to update the video + required: + - updateAt + VideoAccountSummary: + properties: + id: + type: number + name: + type: string + displayName: + type: string + url: + type: string + host: + type: string + avatar: + nullable: true + $ref: '#/components/schemas/Avatar' + VideoChannelSummary: + properties: + id: + type: number + name: + type: string + displayName: + type: string + url: + type: string + host: + type: string + avatar: + nullable: true + $ref: '#/components/schemas/Avatar' + PlaylistElement: + properties: + position: + type: number + startTimestamp: + type: number + stopTimestamp: + type: number + VideoFile: + properties: + magnetUri: + type: string + resolution: + $ref: '#/components/schemas/VideoResolutionConstant' + size: + type: number + description: 'Video file size in bytes' + torrentUrl: + type: string + torrentDownaloadUrl: + type: string + fileUrl: + type: string + fileDownloadUrl: + type: string + fps: + type: number + VideoStreamingPlaylists: + properties: + id: + type: number + type: + type: number + enum: + - 1 + description: 'Playlist type (HLS = 1)' + playlistUrl: + type: string + segmentsSha256Url: + type: string + redundancies: + type: array + items: + type: object + properties: + baseUrl: + type: string Video: properties: id: @@ -1846,6 +1953,8 @@ components: type: string updatedAt: type: string + originallyPublishedAt: + type: string category: $ref: '#/components/schemas/VideoConstantNumber' licence: @@ -1876,19 +1985,66 @@ components: type: number nsfw: type: boolean + waitTranscoding: + type: boolean + nullable: true + state: + $ref: '#/components/schemas/VideoStateConstant' + scheduledUpdate: + nullable: true + $ref: '#/components/schemas/VideoScheduledUpdate' + blacklisted: + nullable: true + type: boolean + blacklistedReason: + nullable: true + type: string account: + $ref: '#/components/schemas/VideoAccountSummary' + channel: + $ref: '#/components/schemas/VideoChannelSummary' + userHistory: + nullable: true type: object properties: - name: - type: string - displayName: - type: string - url: + currentTime: + type: number + playlistElement: + nullable: true + $ref: '#/components/schemas/PlaylistElement' + VideoDetails: + allOf: + - $ref: '#/components/schemas/Video' + - type: object + properties: + descriptionPath: type: string - host: + support: type: string - avatar: - $ref: '#/components/schemas/Avatar' + channel: + $ref: '#/components/schemas/VideoChannel' + account: + $ref: '#/components/schemas/Account' + tags: + type: array + items: + type: string + files: + type: array + items: + $ref: '#/components/schemas/VideoFile' + commentsEnabled: + type: boolean + downloadEnabled: + type: boolean + trackerUrls: + type: array + items: + type: string + streamingPlaylists: + type: array + items: + $ref: '#/components/schemas/VideoStreamingPlaylists' VideoAbuse: properties: id: @@ -2290,6 +2446,19 @@ components: email: type: string description: 'The email of the user ' + displayName: + type: string + description: 'The user display name' + channel: + type: object + properties: + name: + type: string + description: 'The default channel name' + displayName: + type: string + description: 'The default channel display name' + required: - username - password