From 8beb8d9eae78929154fb7565b6934fa3fdb87047 Mon Sep 17 00:00:00 2001 From: olivierapivideo Date: Mon, 16 Sep 2024 14:20:20 +0000 Subject: [PATCH] Add discarded videos feature --- CHANGELOG.md | 3 + README.md | 10 +- api/openapi.yaml | 1520 +++++++++++++---- build.gradle | 2 +- docs/DiscardedVideoUpdatePayload.md | 17 + docs/LiveStream.md | 4 +- docs/LiveStreamsApi.md | 4 +- docs/PlayerSessionEvent.md | 2 +- docs/PlayerTheme.md | 4 +- docs/PlayerThemesApi.md | 4 +- docs/UploadToken.md | 4 +- docs/UploadTokensApi.md | 4 +- docs/Video.md | 11 +- docs/VideoCreationPayload.md | 2 +- docs/VideoUpdatePayload.md | 2 +- docs/VideosApi.md | 256 ++- docs/Watermark.md | 2 +- docs/Webhook.md | 2 +- pom.xml | 2 +- .../java/video/api/client/api/ApiClient.java | 2 +- .../client/api/clients/LiveStreamsApi.java | 2 +- .../client/api/clients/PlayerThemesApi.java | 2 +- .../client/api/clients/UploadTokensApi.java | 2 +- .../api/client/api/clients/VideosApi.java | 1234 ++++++++++++- .../models/DiscardedVideoUpdatePayload.java | 95 ++ .../api/client/api/models/LiveStream.java | 8 +- .../client/api/models/PlayerSessionEvent.java | 4 +- .../api/client/api/models/PlayerTheme.java | 8 +- .../api/client/api/models/UploadToken.java | 8 +- .../video/api/client/api/models/Video.java | 116 +- .../api/models/VideoCreationPayload.java | 6 +- .../client/api/models/VideoUpdatePayload.java | 5 +- .../api/client/api/models/Watermark.java | 4 +- .../video/api/client/api/models/Webhook.java | 4 +- .../getMetricsOverTime/responses/200.json | 6 +- .../livestreams/create/responses/200.json | 4 +- .../livestreams/get/responses/200.json | 4 +- .../livestreams/list/responses/200.json | 8 +- .../livestreams/update/responses/200.json | 4 +- .../createToken/responses/200.json | 4 +- .../uploadtokens/getToken/responses/200.json | 2 +- .../uploadtokens/list/responses/200.json | 6 +- .../payloads/videos/create/responses/201.json | 3 +- .../payloads/videos/create/responses/400.json | 2 +- .../payloads/videos/get/responses/200.json | 5 +- .../videos/getDiscarded/responses/200.json | 25 + .../videos/getDiscarded/responses/404.json | 6 + .../videos/getDiscarded/responses/429.json | 5 + .../payloads/videos/list/responses/200.json | 15 +- .../videos/listDiscarded/responses/200.json | 91 + .../videos/listDiscarded/responses/400.json | 22 + .../videos/listDiscarded/responses/429.json | 5 + .../videos/pickThumbnail/responses/200.json | 3 +- .../payloads/videos/update/responses/200.json | 5 +- .../videos/updateDiscarded/responses/200.json | 25 + .../videos/updateDiscarded/responses/400.json | 7 + .../videos/updateDiscarded/responses/404.json | 6 + .../videos/updateDiscarded/responses/429.json | 5 + .../payloads/videos/upload/responses/201.json | 3 +- .../videos/uploadThumbnail/responses/200.json | 5 +- .../uploadWithUploadToken/responses/201.json | 3 +- .../watermarks/list/responses/200.json | 4 +- .../watermarks/upload/responses/200.json | 2 +- .../webhooks/create/responses/201.json | 2 +- .../payloads/webhooks/get/responses/200.json | 2 +- .../payloads/webhooks/list/responses/200.json | 4 +- 66 files changed, 3173 insertions(+), 475 deletions(-) create mode 100644 docs/DiscardedVideoUpdatePayload.md create mode 100644 src/main/java/video/api/client/api/models/DiscardedVideoUpdatePayload.java create mode 100644 src/test/resources/payloads/videos/getDiscarded/responses/200.json create mode 100644 src/test/resources/payloads/videos/getDiscarded/responses/404.json create mode 100644 src/test/resources/payloads/videos/getDiscarded/responses/429.json create mode 100644 src/test/resources/payloads/videos/listDiscarded/responses/200.json create mode 100644 src/test/resources/payloads/videos/listDiscarded/responses/400.json create mode 100644 src/test/resources/payloads/videos/listDiscarded/responses/429.json create mode 100644 src/test/resources/payloads/videos/updateDiscarded/responses/200.json create mode 100644 src/test/resources/payloads/videos/updateDiscarded/responses/400.json create mode 100644 src/test/resources/payloads/videos/updateDiscarded/responses/404.json create mode 100644 src/test/resources/payloads/videos/updateDiscarded/responses/429.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a5db85..e1a1d67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # Changelog All changes to this project will be documented in this file. +## [1.4.2] - 2024-09-16 +- Add discarded video endpoints + ## [1.4.1] - 2024-09-05 - Add sort parameters in analytics endpoints diff --git a/README.md b/README.md index 9bf7b5c..5b73bdf 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Add this dependency to your project's POM: video.api java-api-client - 1.4.1 + 1.4.2 compile ``` @@ -78,7 +78,7 @@ Add this dependency to your project's POM: Add this dependency to your project's build file: ```groovy -implementation "video.api:java-api-client:1.4.1" +implementation "video.api:java-api-client:1.4.2" ``` #### Others @@ -91,7 +91,7 @@ mvn clean package Then manually install the following JARs: -* `target/java-api-client-1.4.1.jar` +* `target/java-api-client-1.4.2.jar` * `target/lib/*.jar` ### Code sample @@ -293,7 +293,10 @@ Method | HTTP request | Description [**list**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#list) | **GET** `/videos` | List all video objects [**uploadThumbnail**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#uploadThumbnail) | **POST** `/videos/{videoId}/thumbnail` | Upload a thumbnail [**pickThumbnail**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#pickThumbnail) | **PATCH** `/videos/{videoId}/thumbnail` | Set a thumbnail +[**getDiscarded**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#getDiscarded) | **GET** `/discarded/videos/{videoId}` | Retrieve a discarded video object [**getStatus**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#getStatus) | **GET** `/videos/{videoId}/status` | Retrieve video status and details +[**listDiscarded**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#listDiscarded) | **GET** `/discarded/videos` | List all discarded video objects +[**updateDiscarded**](https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#updateDiscarded) | **PATCH** `/discarded/videos/{videoId}` | Update a discarded video object ### WatermarksApi @@ -362,6 +365,7 @@ Method | HTTP request | Description - [CaptionsUpdatePayload](https://github.com/apivideo/api.video-java-client/blob/main/docs/CaptionsUpdatePayload.md) - [Chapter](https://github.com/apivideo/api.video-java-client/blob/main/docs/Chapter.md) - [ChaptersListResponse](https://github.com/apivideo/api.video-java-client/blob/main/docs/ChaptersListResponse.md) + - [DiscardedVideoUpdatePayload](https://github.com/apivideo/api.video-java-client/blob/main/docs/DiscardedVideoUpdatePayload.md) - [FilterBy](https://github.com/apivideo/api.video-java-client/blob/main/docs/FilterBy.md) - [FilterBy1](https://github.com/apivideo/api.video-java-client/blob/main/docs/FilterBy1.md) - [FilterBy2](https://github.com/apivideo/api.video-java-client/blob/main/docs/FilterBy2.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index c819591..eb5442d 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -197,8 +197,6 @@ paths: style: form - description: Videos can be tagged with metadata tags in key:value pairs. You can search for videos with specific key value pairs using this parameter. - [Dynamic Metadata](https://api.video/blog/endpoints/dynamic-metadata/) allows - you to define a key that allows any value pair. example: metadata[Author]=John Doe&metadata[Format]=Tutorial explode: true in: query @@ -302,8 +300,11 @@ paths: value: John Doe - key: Format value: Tutorial - publishedAt: 2019-12-16T08:25:51.000Z - updatedAt: 2019-12-16T08:48:49.000Z + publishedAt: 2019-12-16T08:25:51+00:00 + updatedAt: 2019-12-16T08:48:49+00:00 + discarded: false + discardedAt: null + deletesAt: null source: uri: /videos/c188ed58-3403-46a2-b91b-44603d10b2c9/source assets: @@ -330,8 +331,11 @@ paths: value: Cyberpunk - key: Technology value: Computers - publishedAt: 2019-12-16T08:25:51.000Z - updatedAt: 2019-12-16T08:48:49.000Z + publishedAt: 2019-12-16T08:25:51+00:00 + updatedAt: 2019-12-16T08:48:49+00:00 + discarded: false + discardedAt: null + deletesAt: null source: uri: /videos/vi4blUQJFrYWbaG44NChkH27/source assets: @@ -355,8 +359,11 @@ paths: metadata: - key: Length value: Short - publishedAt: 2019-12-16T08:25:51.000Z - updatedAt: 2019-12-16T08:48:49.000Z + publishedAt: 2019-12-16T08:25:51+00:00 + updatedAt: 2019-12-16T08:48:49+00:00 + discarded: false + discardedAt: null + deletesAt: null source: uri: /videos/vi4blUQJFrYWbaG44NChkH27/source assets: @@ -622,7 +629,10 @@ paths: value: John Doe - key: Format value: Tutorial - publishedAt: 4665-07-14T23:36:18.598Z + publishedAt: 2024-07-14T23:36:07+00:00 + discarded: false + discardedAt: null + deletesAt: null source: uri: /videos/vi4blUQJFrYWbaG44NChkH27/source assets: @@ -699,7 +709,7 @@ paths: title: This attribute is required. name: title - type: https://docs.api.video/reference/invalid-attribute - title: This attribute must be a ISO8601 date. + title: This attribute must be a ISO-8601 date. name: scheduledAt - type: https://docs.api.video/reference/invalid-attribute title: This attribute must be an array. @@ -1025,7 +1035,10 @@ paths: value: John Doe - key: Format value: Tutorial - publishedAt: 4665-07-14T23:36:18.598Z + publishedAt: 2024-07-14T23:36:07+00:00 + discarded: false + discardedAt: null + deletesAt: null source: uri: /videos/vi4blUQJFrYWbaG44NChkH27/source assets: @@ -1426,9 +1439,9 @@ paths: value: data: - watermarkId: watermark_1BWr2L5MTQwxGkuxKjzh6i - createdAt: 2019-12-16T08:25:51.000Z + createdAt: 2019-12-16T08:25:51+00:00 - watermarkId: watermark_3BWC2L5MTQwxGkuxKjzh7g - createdAt: 2019-12-16T08:25:51.000Z + createdAt: 2019-12-16T08:25:51+00:00 pagination: currentPage: 1 pageSize: 25 @@ -1610,7 +1623,7 @@ paths: response: value: watermarkId: watermark_1BWr2L5MTQwxGkuxKjzh6i - createdAt: 2020-03-03T12:52:03.085Z + createdAt: 2020-03-03T12:52:03+00:00 schema: $ref: '#/components/schemas/watermark' description: Success @@ -2052,7 +2065,10 @@ paths: value: John Doe - key: Format value: Tutorial - publishedAt: 4665-07-14T23:36:18.598Z + publishedAt: 2024-07-14T23:36:07+00:00 + discarded: false + discardedAt: null + deletesAt: null source: uri: /videos/vi4blUQJFrYWbaG44NChkH27/source assets: @@ -2317,8 +2333,11 @@ paths: value: John Doe - key: Format value: Tutorial - createdAt: 2020-03-03T12:52:03.085Z - publishedAt: 2020-07-14T23:36:18.598Z + createdAt: 2020-03-03T12:52:03+00:00 + publishedAt: 2020-07-14T23:36:07+00:00 + discarded: false + discardedAt: null + deletesAt: null source: uri: /videos/vi4blUQJFrYWbaG44NChkH27/source assets: @@ -2569,7 +2588,12 @@ paths: x-accepts: application/json /videos/{videoId}: delete: - description: Delete a video object by video ID. + description: "Delete a video object by video ID. \n\nBy default, deleted videos\ + \ cannot be recovered. If you have the Video Restore feature enabled, this\ + \ operation will discard the video instead of permanently deleting it. Make\ + \ sure you subscribe to the Video Restore feature if you want to be able to\ + \ restore deleted videos! \n\nThe Video Restore feature retains videos for\ + \ 90 days, after which the videos are permanently deleted. \n" operationId: DELETE-video parameters: - description: The video ID for the video you want to delete. @@ -2616,8 +2640,1011 @@ paths: name: videoId status: 404 schema: - $ref: '#/components/schemas/not-found' - description: Not Found + $ref: '#/components/schemas/not-found' + description: Not Found + headers: + X-RateLimit-Limit: + description: The request limit per minute. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Remaining: + description: The number of available requests left for the current time + window. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Retry-After: + description: The number of seconds left until the current rate limit + window resets. + explode: false + schema: + type: integer + style: simple + "429": + content: + application/json: + examples: + Too many requests: + value: + type: https://docs.api.video/reference/too-many-requests + title: Too many requests. + status: 429 + schema: + $ref: '#/components/schemas/too-many-requests' + description: Too Many Requests + headers: + X-RateLimit-Limit: + description: The request limit per minute. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Remaining: + description: The number of available requests left for the current time + window. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Retry-After: + description: The number of seconds left until the current rate limit + window resets. + explode: false + schema: + type: integer + style: simple + security: + - apiKey: [] + summary: Delete a video object + tags: + - Videos + x-client-description: + default: If you do not need a video any longer, you can send a request to + delete it. All you need is the videoId. By default, deleted videos cannot + be recovered. If you have the Video Restore feature enabled, this operation + will discard the video instead of permanently deleting it. Make sure you + subscribe to the Video Restore feature if you want to be able to restore + deleted videos! The Video Restore feature retains videos for 90 days, after + which the videos are permanently deleted + x-client-action: delete + x-doctave: + code-samples: + - language: go + code: "// First install the go client with \"go get github.com/apivideo/api.video-go-client\"\ + \n// Documentation: https://github.com/apivideo/api.video-go-client/blob/main/docs/VideosApi.md#delete\n\ + \npackage main\nimport (\n \"context\"\n \"fmt\"\n \"os\"\n \ + \ apivideosdk \"github.com/apivideo/api.video-go-client\"\n)\nfunc main()\ + \ {\n client := apivideosdk.ClientBuilder(\"YOUR_API_KEY\").Build()\n\ + \ // if you rather like to use the sandbox environment:\n // client\ + \ := apivideosdk.SandboxClientBuilder(\"YOUR_SANDBOX_API_KEY\").Build()\n\ + \ \n videoId := \"vi4k0jvEUuaTdRAEjQ4Jfrgz\" // string | The\ + \ video ID for the video you want to delete.\n err := client.Videos.Delete(videoId)\n\ + \ if err != nil {\n fmt.Fprintf(os.Stderr, \"Error when calling\ + \ `Videos.Delete``: %v\\\n\", err)\n }\n} \n" + - language: node + code: "// First install the \"@api.video/nodejs-client\" npm package\n//\ + \ Documentation: https://github.com/apivideo/api.video-nodejs-client/blob/main/doc/api/VideosApi.md#delete\n\ + \nconst client = new ApiVideoClient({ apiKey: \"YOUR_API_KEY\" });\n\n\ + const videoId = 'vi4k0jvEUuaTdRAEjQ4Jfrgz'; // the id of the video to\ + \ delete\nawait client.videos.delete(videoId); \n" + - language: python + code: | + # First install the api client with "pip install api.video" + # Documentation: https://github.com/apivideo/api.video-python-client/blob/main/docs/VideosApi.md#delete + + import apivideo + from apivideo.api import videos_api + from apivideo.model.not_found import NotFound + from pprint import pprint + # Enter a context with an instance of the API client + with apivideo.AuthenticatedApiClient(__API_KEY__) as api_client: + # Create an instance of the API class + api_instance = videos_api.VideosApi(api_client) + video_id = "vi4k0jvEUuaTdRAEjQ4Jfrgz" # str | The video ID for the video you want to delete. + # example passing only required values which don't have defaults set + try: + # Delete a video + api_instance.delete(video_id) + except apivideo.ApiException as e: + print("Exception when calling VideosApi->delete: %s\n" % e) + - language: java + code: "// First add the \"video.api:java-api-client\" maven dependency to\ + \ your project\n// Documentation: https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#delete\n\ + \nimport video.api.client.ApiVideoClient;\nimport video.api.client.api.ApiException;\n\ + import video.api.client.api.models.*;\nimport video.api.client.api.clients.VideosApi;\n\ + import java.util.*;\n \npublic class Example {\n public static void\ + \ main(String[] args) {\n ApiVideoClient client = new ApiVideoClient(\"\ + YOUR_API_KEY\");\n // if you rather like to use the sandbox environment:\n\ + \ // ApiVideoClient client = new ApiVideoClient(\"YOUR_SANDBOX_API_KEY\"\ + , ApiVideoClient.Environment.SANDBOX);\n \n VideosApi apiInstance\ + \ = client.videos();\n \n String videoId = \"vi4k0jvEUuaTdRAEjQ4Jfrgz\"\ + ; // The video ID for the video you want to delete.\n \n try {\n\ + \ apiInstance.delete(videoId);\n } catch (ApiException e) {\n\ + \ System.err.println(\"Exception when calling VideosApi#delete\"\ + );\n System.err.println(\"Status code: \" + e.getCode());\n \ + \ System.err.println(\"Reason: \" + e.getMessage());\n System.err.println(\"\ + Response headers: \" + e.getResponseHeaders());\n e.printStackTrace();\n\ + \ }\n }\n}\n" + - language: csharp + code: "// First add the \"ApiVideo\" NuGet package to your project\n// Documentation:\ + \ https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#delete\n\ + \nusing System.Diagnostics;\nusing ApiVideo.Client;\n\nnamespace Example\n\ + {\n public class deleteExample\n {\n public static void Main()\n\ + \ {\n var basePath = ApiVideoClient.Client.Environment.SANDBOX;\n\ + \ var apiKey = \"YOUR_API_KEY\";\n var apiInstance\ + \ = new ApiVideoClient(apiKey,basePath);\n var videoId = vi4k0jvEUuaTdRAEjQ4Jfrgz;\ + \ // string | The video ID for the video you want to delete.\n \ + \ var apiVideosInstance = apiInstance.Videos();\n try\n\ + \ {\n // Delete a video\n apiVideosInstance.delete(videoId);\n\ + \ }\n catch (ApiException e)\n {\n \ + \ Debug.Print(\"Exception when calling VideosApi.delete:\ + \ \" + e.Message );\n Debug.Print(\"Status Code: \"+ e.ErrorCode);\n\ + \ Debug.Print(e.StackTrace);\n }\n }\n\ + \ }\n} \n" + - language: php + code: "videos()->delete($videoId); " + - language: swift + code: | + // First install the api client: https://github.com/apivideo/api.video-swift-client#getting-started + // Documentation: https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideosAPI.md#delete + x-accepts: application/json + get: + description: Retrieve the video details by video id. + operationId: GET-video + parameters: + - description: The unique identifier for the video you want details about. + explode: false + in: path + name: videoId + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + examples: + response: + value: + videoId: vi4blUQJFrYWbaG44NChkH27 + playerId: pl45KFKdlddgk654dspkze + title: Maths video + description: An amazing video explaining string theory + public: false + panoramic: false + mp4Support: true + tags: + - maths + - string theory + - video + metadata: + - key: Author + value: John Doe + - key: Format + value: Tutorial + publishedAt: 2019-12-16T08:25:51+00:00 + updatedAt: 2019-12-16T08:48:49+00:00 + discarded: false + discardedAt: null + deletesAt: null + source: + uri: /videos/vi4blUQJFrYWbaG44NChkH27/source + assets: + iframe: + player: https://embed.api.video/vod/vi4blUQJFrYWbaG44NChkH27 + hls: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/hls/manifest.m3u8 + thumbnail: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/thumbnail.jpg + mp4: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/mp4/source.mp4 + schema: + $ref: '#/components/schemas/video' + description: Success + headers: + X-RateLimit-Limit: + description: The request limit per minute. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Remaining: + description: The number of available requests left for the current time + window. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Retry-After: + description: The number of seconds left until the current rate limit + window resets. + explode: false + schema: + type: integer + style: simple + "404": + content: + application/json: + examples: + response: + value: + type: https://docs.api.video/reference/resource-not-found + title: The requested resource was not found. + name: videoId + status: 404 + schema: + $ref: '#/components/schemas/not-found' + description: Not Found + headers: + X-RateLimit-Limit: + description: The request limit per minute. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Remaining: + description: The number of available requests left for the current time + window. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Retry-After: + description: The number of seconds left until the current rate limit + window resets. + explode: false + schema: + type: integer + style: simple + "429": + content: + application/json: + examples: + Too many requests: + value: + type: https://docs.api.video/reference/too-many-requests + title: Too many requests. + status: 429 + schema: + $ref: '#/components/schemas/too-many-requests' + description: Too Many Requests + headers: + X-RateLimit-Limit: + description: The request limit per minute. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Remaining: + description: The number of available requests left for the current time + window. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Retry-After: + description: The number of seconds left until the current rate limit + window resets. + explode: false + schema: + type: integer + style: simple + security: + - apiKey: [] + summary: Retrieve a video object + tags: + - Videos + x-client-description: + default: This call provides the same information provided on video creation. + For private videos, it will generate a unique token url. Use this to retrieve + any details you need about a video, or set up a private viewing URL. + x-client-action: get + x-doctave: + code-samples: + - language: go + code: "// First install the go client with \"go get github.com/apivideo/api.video-go-client\"\ + \n// Documentation: https://github.com/apivideo/api.video-go-client/blob/main/docs/VideosApi.md#get\n\ + \npackage main\n\nimport (\n \"context\"\n \"fmt\"\n \"os\"\n\ + \ apivideosdk \"github.com/apivideo/api.video-go-client\"\n)\n\nfunc\ + \ main() {\n client := apivideosdk.ClientBuilder(\"YOUR_API_KEY\").Build()\n\ + \ // if you rather like to use the sandbox environment:\n // client\ + \ := apivideosdk.SandboxClientBuilder(\"YOUR_SANDBOX_API_KEY\").Build()\n\ + \ \n videoId := \"videoId_example\" // string | The unique identifier\ + \ for the video you want details about.\n\n \n res, err := client.Videos.Get(videoId)\n\ + \n if err != nil {\n fmt.Fprintf(os.Stderr, \"Error when calling\ + \ `Videos.Get``: %v\\\n\", err)\n }\n // response from `Get`: Video\n\ + \ fmt.Fprintf(os.Stdout, \"Response from `Videos.Get`: %v\\\n\", res)\n\ + }\n" + - language: node + code: "// First install the \"@api.video/nodejs-client\" npm package\n//\ + \ Documentation: https://github.com/apivideo/api.video-nodejs-client/blob/main/doc/api/VideosApi.md#get\n\ + \nconst client = new ApiVideoClient({ apiKey: \"YOUR_API_KEY\" });\n\n\ + const videoId = 'vi4k0jvEUuaTdRAEjQ4Jfrgz'; // The unique identifier for\ + \ the video you want to retrieve.\nconst result = await client.videos.get(videoId);\ + \ \n" + - language: python + code: | + # First install the api client with "pip install api.video" + # Documentation: https://github.com/apivideo/api.video-python-client/blob/main/docs/VideosApi.md#get + + import apivideo + from apivideo.api import videos_api + from apivideo.model.not_found import NotFound + from apivideo.model.video import Video + from pprint import pprint + + # Enter a context with an instance of the API client + with apivideo.AuthenticatedApiClient(__API_KEY__) as api_client: + # Create an instance of the API class + api_instance = videos_api.VideosApi(api_client) + video_id = "videoId_example" # str | The unique identifier for the video you want details about. + + # example passing only required values which don't have defaults set + try: + # Show a video + api_response = api_instance.get(video_id) + pprint(api_response) + except apivideo.ApiException as e: + print("Exception when calling VideosApi->get: %s\n" % e) + - language: java + code: "// First add the \"video.api:java-api-client\" maven dependency to\ + \ your project\n// Documentation: https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#get\n\ + \nimport video.api.client.ApiVideoClient;\nimport video.api.client.api.ApiException;\n\ + import video.api.client.api.models.*;\nimport video.api.client.api.clients.VideosApi;\n\ + import java.util.*;\n\npublic class Example {\n public static void main(String[]\ + \ args) {\n ApiVideoClient client = new ApiVideoClient(\"YOUR_API_KEY\"\ + );\n // if you rather like to use the sandbox environment:\n //\ + \ ApiVideoClient client = new ApiVideoClient(\"YOUR_SANDBOX_API_KEY\"\ + , ApiVideoClient.Environment.SANDBOX);\n\n VideosApi apiInstance =\ + \ client.videos();\n \n String videoId = \"videoId_example\"; //\ + \ The unique identifier for the video you want details about.\n\n try\ + \ {\n Video result = apiInstance.get(videoId);\n System.out.println(result);\n\ + \ } catch (ApiException e) {\n System.err.println(\"Exception\ + \ when calling VideosApi#get\");\n System.err.println(\"Status code:\ + \ \" + e.getCode());\n System.err.println(\"Reason: \" + e.getMessage());\n\ + \ System.err.println(\"Response headers: \" + e.getResponseHeaders());\n\ + \ e.printStackTrace();\n }\n }\n} \n" + - language: csharp + code: "// First add the \"ApiVideo\" NuGet package to your project\n// Documentation:\ + \ https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#get\n\ + \nusing System.Diagnostics;\nusing ApiVideo.Client;\n\nnamespace Example\n\ + {\n public class getExample\n {\n public static void Main()\n\ + \ {\n var basePath = ApiVideoClient.Client.Environment.SANDBOX;\n\ + \ var apiKey = \"YOUR_API_KEY\";\n\n var apiInstance\ + \ = new ApiVideoClient(apiKey,basePath);\n\n var videoId =\ + \ videoId_example; // string | The unique identifier for the video you\ + \ want details about.\n var apiVideosInstance = apiInstance.Videos();\n\ + \ try\n {\n // Show a video\n \ + \ Video result = apiVideosInstance.get(videoId);\n \ + \ Debug.WriteLine(result);\n }\n catch (ApiException\ + \ e)\n {\n Debug.Print(\"Exception when calling\ + \ VideosApi.get: \" + e.Message );\n Debug.Print(\"Status\ + \ Code: \"+ e.ErrorCode);\n Debug.Print(e.StackTrace);\n\ + \ }\n }\n }\n} \n" + - language: php + code: "videos()->getStatus($videoId);\ + \ " + - language: swift + code: | + // First install the api client: https://github.com/apivideo/api.video-swift-client#getting-started + // Documentation: https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideosAPI.md#get + x-accepts: application/json + patch: + description: Update the parameters associated with a video ID. + operationId: PATCH-video + parameters: + - description: The video ID for the video you want to update. + example: vi4k0jvEUuaTdRAEjQ4Jfrgz + explode: false + in: path + name: videoId + required: true + schema: + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/video-update-payload' + required: true + responses: + "200": + content: + application/json: + examples: + response: + value: + videoId: vi4blUQJFrYWbaG44NChkH27 + playerId: pl45KFKdlddgk654dspkze + title: Maths video + description: An amazing video explaining the string theory + public: false + panoramic: false + mp4Support: true + tags: + - maths + - string theory + - video + metadata: + - key: Author + value: John Doe + - key: Format + value: Tutorial + publishedAt: 2019-12-16T08:25:51+00:00 + updatedAt: 2019-12-16T08:48:49+00:00 + discarded: false + discardedAt: null + deletesAt: null + source: + uri: /videos/vi4blUQJFrYWbaG44NChkH27/source + assets: + iframe: + player: https://embed.api.video/vod/vi4blUQJFrYWbaG44NChkH27 + hls: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/hls/manifest.m3u8 + thumbnail: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/thumbnail.jpg + mp4: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/mp4/source.mp4 + schema: + $ref: '#/components/schemas/video' + description: Success + headers: + X-RateLimit-Limit: + description: The request limit per minute. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Remaining: + description: The number of available requests left for the current time + window. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Retry-After: + description: The number of seconds left until the current rate limit + window resets. + explode: false + schema: + type: integer + style: simple + "400": + content: + application/json: + examples: + response: + value: + type: https://docs.api.video/reference/invalid-attribute + title: This attribute must be a ISO-8601 date. + name: scheduledAt + status: 400 + problems: + - type: https://docs.api.video/reference/invalid-attribute + title: This attribute must be a ISO-8601 date. + name: scheduledAt + - type: https://docs.api.video/reference/invalid-attribute + title: This attribute must be an array. + name: tags + - type: https://docs.api.video/reference/invalid-attribute + title: This attribute must be an array. + name: metadata + schema: + $ref: '#/components/schemas/bad-request' + description: Bad Request + headers: + X-RateLimit-Limit: + description: The request limit per minute. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Remaining: + description: The number of available requests left for the current time + window. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Retry-After: + description: The number of seconds left until the current rate limit + window resets. + explode: false + schema: + type: integer + style: simple + "404": + content: + application/json: + examples: + response: + value: + type: https://docs.api.video/reference/resource-not-found + title: The requested resource was not found. + name: videoId + status: 404 + schema: + $ref: '#/components/schemas/not-found' + description: Not Found + headers: + X-RateLimit-Limit: + description: The request limit per minute. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Remaining: + description: The number of available requests left for the current time + window. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Retry-After: + description: The number of seconds left until the current rate limit + window resets. + explode: false + schema: + type: integer + style: simple + "429": + content: + application/json: + examples: + Too many requests: + value: + type: https://docs.api.video/reference/too-many-requests + title: Too many requests. + status: 429 + schema: + $ref: '#/components/schemas/too-many-requests' + description: Too Many Requests + headers: + X-RateLimit-Limit: + description: The request limit per minute. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Remaining: + description: The number of available requests left for the current time + window. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Retry-After: + description: The number of seconds left until the current rate limit + window resets. + explode: false + schema: + type: integer + style: simple + security: + - apiKey: [] + summary: Update a video object + tags: + - Videos + x-client-description: + default: "Updates the parameters associated with a video ID. The video object\ + \ you are updating is determined by the video ID you provide. \n\nNOTE:\ + \ If you are updating an array, you must provide the entire array as what\ + \ you provide here overwrites what is in the system rather than appending\ + \ to it.\n" + x-client-action: update + x-doctave: + code-samples: + - language: go + code: "// First install the go client with \"go get github.com/apivideo/api.video-go-client\"\ + \n// Documentation: https://github.com/apivideo/api.video-go-client/blob/main/docs/VideosApi.md#update\n\ + \npackage main\n\nimport (\n \"context\"\n \"fmt\"\n \"os\"\n\ + \ apivideosdk \"github.com/apivideo/api.video-go-client\"\n)\n\nfunc\ + \ main() {\n client := apivideosdk.ClientBuilder(\"YOUR_API_KEY\").Build()\n\ + \ // if you rather like to use the sandbox environment:\n // client\ + \ := apivideosdk.SandboxClientBuilder(\"YOUR_SANDBOX_API_KEY\").Build()\n\ + \ \n videoId := \"vi4k0jvEUuaTdRAEjQ4Jfrgz\" // string | The\ + \ video ID for the video you want to delete.\n videoUpdatePayload :=\ + \ *apivideosdk.NewVideoUpdatePayload() // VideoUpdatePayload | \n\n \ + \ \n res, err := client.Videos.Update(videoId, videoUpdatePayload)\n\ + \n if err != nil {\n fmt.Fprintf(os.Stderr, \"Error when calling\ + \ `Videos.Update``: %v\\\n\", err)\n }\n // response from `Update`:\ + \ Video\n fmt.Fprintf(os.Stdout, \"Response from `Videos.Update`: %v\\\ + \n\", res)\n}\n" + - language: node + code: "// First install the \"@api.video/nodejs-client\" npm package\n//\ + \ Documentation: https://github.com/apivideo/api.video-nodejs-client/blob/main/doc/api/VideosApi.md#update\n\ + \nconst client = new ApiVideoClient({ apiKey: \"YOUR_API_KEY\" });\n\n\ + const videoId = 'vi4k0jvEUuaTdRAEjQ4Jfrgz'; // The video ID for the video\ + \ you want to update.\n\n// define the value you want to update\nconst\ + \ videoUpdatePayload = {\n playerId: \"pl4k0jvEUuaTdRAEjQ4Jfrgz\",\ + \ // The unique ID for the player you want to associate with your video.\n\ + \ title: \"title_example\", // The title you want to use for your video.\n\ + \ description: \"A film about good books.\", // A brief description\ + \ of the video.\n _public: true, // Whether the video is publicly available\ + \ or not. False means it is set to private.\n panoramic: false, //\ + \ Whether the video is a 360 degree or immersive video.\n mp4Support:\ + \ true, // Whether the player supports the mp4 format.\n tags: [\"\ + maths\", \"string theory\", \"video\"], // A list of terms or words you\ + \ want to tag the video with. Make sure the list includes all the tags\ + \ you want as whatever you send in this list will overwrite the existing\ + \ list for the video.\n metadata: [{\"key\": \"Author\", \"value\"\ + : \"John Doe\"}], // A list (array) of dictionaries where each dictionary\ + \ contains a key value pair that describes the video. As with tags, you\ + \ must send the complete list of metadata you want as whatever you send\ + \ here will overwrite the existing metadata for the video.\n}; \n\n\n\ + const updatedVideo = await client.videos.update(videoId, videoUpdatePayload);\n" + - language: python + code: "# First install the api client with \"pip install api.video\"\n#\ + \ Documentation: https://github.com/apivideo/api.video-python-client/blob/main/docs/VideosApi.md#update\n\ + \nimport apivideo\nfrom apivideo.api import videos_api\nfrom apivideo.model.video_update_payload\ + \ import VideoUpdatePayload\nfrom apivideo.model.bad_request import BadRequest\n\ + from apivideo.model.not_found import NotFound\nfrom apivideo.model.video\ + \ import Video\nfrom pprint import pprint\n\n# Enter a context with an\ + \ instance of the API client\nwith apivideo.AuthenticatedApiClient(__API_KEY__)\ + \ as api_client:\n # Create an instance of the API class\n api_instance\ + \ = videos_api.VideosApi(api_client)\n video_id = \"vi4k0jvEUuaTdRAEjQ4Jfrgz\"\ + \ # str | The video ID for the video you want to delete.\n video_update_payload\ + \ = VideoUpdatePayload(\n player_id=\"pl4k0jvEUuaTdRAEjQ4Jfrgz\"\ + ,\n title=\"title_example\",\n description=\"A film about\ + \ good books.\",\n public=True,\n panoramic=False,\n \ + \ mp4_support=True,\n tags=[\"maths\", \"string theory\", \"\ + video\"],\n metadata=[\n Metadata(\n \ + \ key=\"Color\",\n value=\"Green\",\n ),\n \ + \ ],\n ) # VideoUpdatePayload | \n\n # example passing only\ + \ required values which don't have defaults set\n try:\n # Update\ + \ a video\n api_response = api_instance.update(video_id, video_update_payload)\n\ + \ pprint(api_response)\n except apivideo.ApiException as e:\n\ + \ print(\"Exception when calling VideosApi->update: %s\\\n\" %\ + \ e) \n" + - language: java + code: "// First add the \"video.api:java-api-client\" maven dependency to\ + \ your project\n// Documentation: https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#update\n\ + \nimport video.api.client.ApiVideoClient;\nimport video.api.client.api.ApiException;\n\ + import video.api.client.api.models.*;\nimport video.api.client.api.clients.VideosApi;\n\ + import java.util.*;\n\npublic class Example {\n public static void main(String[]\ + \ args) {\n ApiVideoClient client = new ApiVideoClient(\"YOUR_API_KEY\"\ + );\n // if you rather like to use the sandbox environment:\n //\ + \ ApiVideoClient client = new ApiVideoClient(\"YOUR_SANDBOX_API_KEY\"\ + , ApiVideoClient.Environment.SANDBOX);\n\n VideosApi apiInstance =\ + \ client.videos();\n \n String videoId = \"vi4k0jvEUuaTdRAEjQ4Jfrgz\"\ + ; // The video ID for the video you want to delete.\n VideoUpdatePayload\ + \ videoUpdatePayload = new VideoUpdatePayload(); // \n videoUpdatePayload.setPlayerId(\"\ + pl4k0jvEUuaTdRAEjQ4Jfrgz\"); // The unique ID for the player you want\ + \ to associate with your video.\n videoUpdatePayload.setTitle(\"null\"\ + ); // The title you want to use for your video.\n videoUpdatePayload.setDescription(\"\ + A film about good books.\"); // A brief description of the video.\n \ + \ videoUpdatePayload.setPublic(true); // Whether the video is publicly\ + \ available or not. False means it is set to private.\n videoUpdatePayload.setPanoramic(false);\ + \ // Whether the video is a 360 degree or immersive video.\n videoUpdatePayload.setMp4Support(true);\ + \ // Whether the player supports the mp4 format.\n videoUpdatePayload.setTags(Arrays.asList(\"\ + maths\", \"string theory\", \"video\")); // A list of terms or words you\ + \ want to tag the video with. Make sure the list includes all the tags\ + \ you want as whatever you send in this list will overwrite the existing\ + \ list for the video.\n videoUpdatePayload.setMetadata(Collections.emptyList());\ + \ // A list (array) of dictionaries where each dictionary contains a key\ + \ value pair that describes the video. As with tags, you must send the\ + \ complete list of metadata you want as whatever you send here will overwrite\ + \ the existing metadata for the video.\n\n\n try {\n Video result\ + \ = apiInstance.update(videoId, videoUpdatePayload);\n System.out.println(result);\n\ + \ } catch (ApiException e) {\n System.err.println(\"Exception\ + \ when calling VideosApi#update\");\n System.err.println(\"Status\ + \ code: \" + e.getCode());\n System.err.println(\"Reason: \" + e.getMessage());\n\ + \ System.err.println(\"Response headers: \" + e.getResponseHeaders());\n\ + \ e.printStackTrace();\n }\n }\n}\n" + - language: csharp + code: "// First add the \"ApiVideo\" NuGet package to your project\n// Documentation:\ + \ https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#update\n\ + \nusing System.Diagnostics;\nusing ApiVideo.Client;\n\nnamespace Example\n\ + {\n public class updateExample\n {\n public static void Main()\n\ + \ {\n var basePath = ApiVideoClient.Client.Environment.SANDBOX;\n\ + \ var apiKey = \"YOUR_API_KEY\";\n\n var apiInstance\ + \ = new ApiVideoClient(apiKey,basePath);\n\n var videoId =\ + \ vi4k0jvEUuaTdRAEjQ4Jfrgz; // string | The video ID for the video you\ + \ want to delete.\n var videoUpdatePayload = new VideoUpdatePayload();\ + \ // VideoUpdatePayload | \n var apiVideosInstance = apiInstance.Videos();\n\ + \ try\n {\n // Update a video\n \ + \ Video result = apiVideosInstance.update(videoId, videoUpdatePayload);\n\ + \ Debug.WriteLine(result);\n }\n \ + \ catch (ApiException e)\n {\n Debug.Print(\"\ + Exception when calling VideosApi.update: \" + e.Message );\n \ + \ Debug.Print(\"Status Code: \"+ e.ErrorCode);\n \ + \ Debug.Print(e.StackTrace);\n }\n }\n }\n}\n" + - language: php + code: "videos()->update($videoId, (new \\ApiVideo\\\ + Client\\Model\\VideoUpdatePayload())\n ->setPlayerId(\"pl4k0jvEUuaTdRAEjQ4Jfrgz\"\ + ) // The unique ID for the player you want to associate with your video.\n\ + \ ->setTitle(\"The new title\") // The title you want to use for your\ + \ video.\n ->setDescription(\"A new description\") // A brief description\ + \ of the video.\n ->setPublic(false) // Whether the video is publicly\ + \ available or not. False means it is set to private.\n ->setPanoramic(false)\ + \ // Whether the video is a 360 degree or immersive video.\n ->setMp4Support(true)\ + \ // Whether the player supports the mp4 format.\n ->setTags([\"tag1\"\ + , \"tag2\"]) // A list of terms or words you want to tag the video with.\ + \ Make sure the list includes all the tags you want as whatever you send\ + \ in this list will overwrite the existing list for the video.\n ->setMetadata(array(\ + \ // A list (array) of dictionaries where each dictionary contains a key\ + \ value pair that describes the video. As with tags, you must send the\ + \ complete list of metadata you want as whatever you send here will overwrite\ + \ the existing metadata for the video.\n new \\ApiVideo\\Client\\\ + Model\\Metadata([\"key\" => \"aa\", 'value' => \"bb\"]),\n new\ + \ \\ApiVideo\\Client\\Model\\Metadata([\"key\" => \"aa2\", 'value' =>\ + \ \"bb2\"])))); " + - language: swift + code: "// First install the api client: https://github.com/apivideo/api.video-swift-client#getting-started\n\ + // Documentation: https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideosAPI.md#update\ + \ \n" + x-contentType: application/json + x-accepts: application/json + /discarded/videos: + get: + description: List all the video objects that are associated with the current + workspace. + operationId: LIST-discarded-videos + parameters: + - description: The title of a specific video you want to find. The search will + match exactly to what term you provide and return any videos that contain + the same term as part of their titles. + example: My Video.mp4 + explode: true + in: query + name: title + required: false + schema: + type: string + style: form + - description: A tag is a category you create and apply to videos. You can search + for videos with particular tags by listing one or more here. Only videos + that have all the tags you list will be returned. + example: '["captions", "dialogue"]' + explode: true + in: query + name: tags[] + required: false + schema: + items: + type: string + type: array + style: form + - description: Videos can be tagged with metadata tags in key:value pairs. You + can search for videos with specific key value pairs using this parameter. + example: metadata[Author]=John Doe&metadata[Format]=Tutorial + explode: true + in: query + name: metadata + required: false + schema: + additionalProperties: + type: string + type: object + style: deepObject + x-is-deep-object: true + - description: Retrieve video objects by `description`. + example: New Zealand + explode: true + in: query + name: description + required: false + schema: + type: string + style: form + - description: Retrieve video objects that were recorded from a live stream + by `liveStreamId`. + example: li400mYKSgQ6xs7taUeSaEKr + explode: true + in: query + name: liveStreamId + required: false + schema: + type: string + style: form + - description: Use this parameter to sort videos by the their created time, + published time, updated time, or by title. + example: publishedAt + explode: true + in: query + name: sortBy + required: false + schema: + enum: + - title + - createdAt + - publishedAt + - updatedAt + type: string + style: form + - description: Use this parameter to sort results. `asc` is ascending and sorts + from A to Z. `desc` is descending and sorts from Z to A. + example: asc + explode: true + in: query + name: sortOrder + required: false + schema: + enum: + - asc + - desc + type: string + style: form + - description: 'Choose the number of search results to return per page. Minimum + value: 1' + example: 2 + explode: true + in: query + name: currentPage + required: false + schema: + default: 1 + type: integer + style: form + - description: Results per page. Allowed values 1-100, default is 25. + example: 30 + explode: true + in: query + name: pageSize + required: false + schema: + default: 25 + type: integer + style: form + responses: + "200": + content: + application/json: + examples: + response: + value: + data: + - videoId: vi4blUQJFrYWbaG44NChkH27 + playerId: pl45KFKdlddgk654dspkze + title: Maths video + description: An amazing video explaining the string theory + public: false + panoramic: false + mp4Support: true + tags: + - maths + - string theory + - video + metadata: + - key: Author + value: John Doe + - key: Format + value: Tutorial + publishedAt: 2019-12-16T08:25:51+00:00 + updatedAt: 2019-12-16T08:48:49+00:00 + discarded: true + discardedAt: 2024-10-16T08:48:49+00:00 + deletesAt: 2024-11-16T08:48:49+00:00 + source: + uri: /videos/c188ed58-3403-46a2-b91b-44603d10b2c9/source + assets: null + - videoId: vi4blUQJFrYWbaG44NChkH27 + title: Video Title + description: A description for your video. + public: false + panoramic: false + mp4Support: true + tags: + - books + - short stories + metadata: + - key: Author + value: John Doe + - key: Science Fiction + value: Cyberpunk + - key: Technology + value: Computers + publishedAt: 2019-12-16T08:25:51+00:00 + updatedAt: 2019-12-16T08:48:49+00:00 + discarded: true + discardedAt: 2024-10-16T08:48:49+00:00 + deletesAt: 2024-11-16T08:48:49+00:00 + source: + uri: /videos/vi4blUQJFrYWbaG44NChkH27/source + assets: null + - videoId: vi4blUQJFrYWbaG44NChkH27 + playerId: pl45KFKdlddgk654dspkze + title: My Video Title + description: A brief description of the video. + public: false + panoramic: false + mp4Support: true + tags: + - General + - Videos + metadata: + - key: Length + value: Short + publishedAt: 2019-12-16T08:25:51+00:00 + updatedAt: 2019-12-16T08:48:49+00:00 + discarded: true + discardedAt: 2024-10-16T08:48:49+00:00 + deletesAt: 2024-11-16T08:48:49+00:00 + source: + uri: /videos/vi4blUQJFrYWbaG44NChkH27/source + assets: null + pagination: + currentPage: 1 + pageSize: 25 + pagesTotal: 1 + itemsTotal: 11 + currentPageItems: 11 + links: + - rel: self + uri: https://ws.api.video/videos?currentPage=1 + - rel: first + uri: https://ws.api.video/videos?currentPage=1 + - rel: last + uri: https://ws.api.video/videos?currentPage=1 + schema: + $ref: '#/components/schemas/videos-list-response' + description: Success + headers: + X-RateLimit-Limit: + description: The request limit per minute. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Remaining: + description: The number of available requests left for the current time + window. + explode: false + schema: + type: integer + style: simple + X-RateLimit-Retry-After: + description: The number of seconds left until the current rate limit + window resets. + explode: false + schema: + type: integer + style: simple + "400": + content: + application/json: + examples: + response: + value: + title: This parameter is out of the allowed range of values. + name: page + status: 400 + range: + min: 1 + problems: + - title: This parameter is out of the allowed range of values. + name: page + range: + min: 1 + - title: This parameter is out of the allowed range of values. + name: pageSize + range: + min: 10 + max: 100 + schema: + $ref: '#/components/schemas/bad-request' + description: Bad Request headers: X-RateLimit-Limit: description: The request limit per minute. @@ -2674,102 +3701,24 @@ paths: style: simple security: - apiKey: [] - summary: Delete a video object + summary: List all discarded video objects tags: - Videos x-client-description: - default: If you do not need a video any longer, you can send a request to - delete it. All you need is the videoId. - x-client-action: delete - x-doctave: - code-samples: - - language: go - code: "// First install the go client with \"go get github.com/apivideo/api.video-go-client\"\ - \n// Documentation: https://github.com/apivideo/api.video-go-client/blob/main/docs/VideosApi.md#delete\n\ - \npackage main\nimport (\n \"context\"\n \"fmt\"\n \"os\"\n \ - \ apivideosdk \"github.com/apivideo/api.video-go-client\"\n)\nfunc main()\ - \ {\n client := apivideosdk.ClientBuilder(\"YOUR_API_KEY\").Build()\n\ - \ // if you rather like to use the sandbox environment:\n // client\ - \ := apivideosdk.SandboxClientBuilder(\"YOUR_SANDBOX_API_KEY\").Build()\n\ - \ \n videoId := \"vi4k0jvEUuaTdRAEjQ4Jfrgz\" // string | The\ - \ video ID for the video you want to delete.\n err := client.Videos.Delete(videoId)\n\ - \ if err != nil {\n fmt.Fprintf(os.Stderr, \"Error when calling\ - \ `Videos.Delete``: %v\\\n\", err)\n }\n} \n" - - language: node - code: "// First install the \"@api.video/nodejs-client\" npm package\n//\ - \ Documentation: https://github.com/apivideo/api.video-nodejs-client/blob/main/doc/api/VideosApi.md#delete\n\ - \nconst client = new ApiVideoClient({ apiKey: \"YOUR_API_KEY\" });\n\n\ - const videoId = 'vi4k0jvEUuaTdRAEjQ4Jfrgz'; // the id of the video to\ - \ delete\nawait client.videos.delete(videoId); \n" - - language: python - code: | - # First install the api client with "pip install api.video" - # Documentation: https://github.com/apivideo/api.video-python-client/blob/main/docs/VideosApi.md#delete - - import apivideo - from apivideo.api import videos_api - from apivideo.model.not_found import NotFound - from pprint import pprint - # Enter a context with an instance of the API client - with apivideo.AuthenticatedApiClient(__API_KEY__) as api_client: - # Create an instance of the API class - api_instance = videos_api.VideosApi(api_client) - video_id = "vi4k0jvEUuaTdRAEjQ4Jfrgz" # str | The video ID for the video you want to delete. - # example passing only required values which don't have defaults set - try: - # Delete a video - api_instance.delete(video_id) - except apivideo.ApiException as e: - print("Exception when calling VideosApi->delete: %s\n" % e) - - language: java - code: "// First add the \"video.api:java-api-client\" maven dependency to\ - \ your project\n// Documentation: https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#delete\n\ - \nimport video.api.client.ApiVideoClient;\nimport video.api.client.api.ApiException;\n\ - import video.api.client.api.models.*;\nimport video.api.client.api.clients.VideosApi;\n\ - import java.util.*;\n \npublic class Example {\n public static void\ - \ main(String[] args) {\n ApiVideoClient client = new ApiVideoClient(\"\ - YOUR_API_KEY\");\n // if you rather like to use the sandbox environment:\n\ - \ // ApiVideoClient client = new ApiVideoClient(\"YOUR_SANDBOX_API_KEY\"\ - , ApiVideoClient.Environment.SANDBOX);\n \n VideosApi apiInstance\ - \ = client.videos();\n \n String videoId = \"vi4k0jvEUuaTdRAEjQ4Jfrgz\"\ - ; // The video ID for the video you want to delete.\n \n try {\n\ - \ apiInstance.delete(videoId);\n } catch (ApiException e) {\n\ - \ System.err.println(\"Exception when calling VideosApi#delete\"\ - );\n System.err.println(\"Status code: \" + e.getCode());\n \ - \ System.err.println(\"Reason: \" + e.getMessage());\n System.err.println(\"\ - Response headers: \" + e.getResponseHeaders());\n e.printStackTrace();\n\ - \ }\n }\n}\n" - - language: csharp - code: "// First add the \"ApiVideo\" NuGet package to your project\n// Documentation:\ - \ https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#delete\n\ - \nusing System.Diagnostics;\nusing ApiVideo.Client;\n\nnamespace Example\n\ - {\n public class deleteExample\n {\n public static void Main()\n\ - \ {\n var basePath = ApiVideoClient.Client.Environment.SANDBOX;\n\ - \ var apiKey = \"YOUR_API_KEY\";\n var apiInstance\ - \ = new ApiVideoClient(apiKey,basePath);\n var videoId = vi4k0jvEUuaTdRAEjQ4Jfrgz;\ - \ // string | The video ID for the video you want to delete.\n \ - \ var apiVideosInstance = apiInstance.Videos();\n try\n\ - \ {\n // Delete a video\n apiVideosInstance.delete(videoId);\n\ - \ }\n catch (ApiException e)\n {\n \ - \ Debug.Print(\"Exception when calling VideosApi.delete:\ - \ \" + e.Message );\n Debug.Print(\"Status Code: \"+ e.ErrorCode);\n\ - \ Debug.Print(e.StackTrace);\n }\n }\n\ - \ }\n} \n" - - language: php - code: "videos()->delete($videoId); " - - language: swift - code: | - // First install the api client: https://github.com/apivideo/api.video-swift-client#getting-started - // Documentation: https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideosAPI.md#delete + default: This method returns a list of your discarded videos (with all their + details). With no parameters added, the API returns the first page of all + discarded videos. You can filter discarded videos using the parameters described + below. + x-client-action: listDiscarded + x-group-parameters: true + x-client-paginated: true + x-optional-object: true x-accepts: application/json + /discarded/videos/{videoId}: get: - description: Retrieve the video details by video id. - operationId: GET-video + description: Retrieve the video details of a discarded video object by video + id. + operationId: GET-discarded-video parameters: - description: The unique identifier for the video you want details about. explode: false @@ -2802,18 +3751,14 @@ paths: value: John Doe - key: Format value: Tutorial - publishedAt: 2019-12-16T08:25:51.000Z - updatedAt: 2019-12-16T08:48:49.000Z + publishedAt: 2019-12-16T08:25:51+00:00 + updatedAt: 2019-12-16T08:48:49+00:00 + discarded: true + discardedAt: 2024-10-16T08:48:49+00:00 + deletesAt: 2024-11-16T08:48:49+00:00 source: uri: /videos/vi4blUQJFrYWbaG44NChkH27/source - assets: - iframe: - player: https://embed.api.video/vod/vi4blUQJFrYWbaG44NChkH27 - hls: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/hls/manifest.m3u8 - thumbnail: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/thumbnail.jpg - mp4: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/mp4/source.mp4 + assets: null schema: $ref: '#/components/schemas/video' description: Success @@ -2907,115 +3852,20 @@ paths: style: simple security: - apiKey: [] - summary: Retrieve a video object + summary: Retrieve a discarded video object tags: - Videos x-client-description: default: This call provides the same information provided on video creation. For private videos, it will generate a unique token url. Use this to retrieve any details you need about a video, or set up a private viewing URL. - x-client-action: get - x-doctave: - code-samples: - - language: go - code: "// First install the go client with \"go get github.com/apivideo/api.video-go-client\"\ - \n// Documentation: https://github.com/apivideo/api.video-go-client/blob/main/docs/VideosApi.md#get\n\ - \npackage main\n\nimport (\n \"context\"\n \"fmt\"\n \"os\"\n\ - \ apivideosdk \"github.com/apivideo/api.video-go-client\"\n)\n\nfunc\ - \ main() {\n client := apivideosdk.ClientBuilder(\"YOUR_API_KEY\").Build()\n\ - \ // if you rather like to use the sandbox environment:\n // client\ - \ := apivideosdk.SandboxClientBuilder(\"YOUR_SANDBOX_API_KEY\").Build()\n\ - \ \n videoId := \"videoId_example\" // string | The unique identifier\ - \ for the video you want details about.\n\n \n res, err := client.Videos.Get(videoId)\n\ - \n if err != nil {\n fmt.Fprintf(os.Stderr, \"Error when calling\ - \ `Videos.Get``: %v\\\n\", err)\n }\n // response from `Get`: Video\n\ - \ fmt.Fprintf(os.Stdout, \"Response from `Videos.Get`: %v\\\n\", res)\n\ - }\n" - - language: node - code: "// First install the \"@api.video/nodejs-client\" npm package\n//\ - \ Documentation: https://github.com/apivideo/api.video-nodejs-client/blob/main/doc/api/VideosApi.md#get\n\ - \nconst client = new ApiVideoClient({ apiKey: \"YOUR_API_KEY\" });\n\n\ - const videoId = 'vi4k0jvEUuaTdRAEjQ4Jfrgz'; // The unique identifier for\ - \ the video you want to retrieve.\nconst result = await client.videos.get(videoId);\ - \ \n" - - language: python - code: | - # First install the api client with "pip install api.video" - # Documentation: https://github.com/apivideo/api.video-python-client/blob/main/docs/VideosApi.md#get - - import apivideo - from apivideo.api import videos_api - from apivideo.model.not_found import NotFound - from apivideo.model.video import Video - from pprint import pprint - - # Enter a context with an instance of the API client - with apivideo.AuthenticatedApiClient(__API_KEY__) as api_client: - # Create an instance of the API class - api_instance = videos_api.VideosApi(api_client) - video_id = "videoId_example" # str | The unique identifier for the video you want details about. - - # example passing only required values which don't have defaults set - try: - # Show a video - api_response = api_instance.get(video_id) - pprint(api_response) - except apivideo.ApiException as e: - print("Exception when calling VideosApi->get: %s\n" % e) - - language: java - code: "// First add the \"video.api:java-api-client\" maven dependency to\ - \ your project\n// Documentation: https://github.com/apivideo/api.video-java-client/blob/main/docs/VideosApi.md#get\n\ - \nimport video.api.client.ApiVideoClient;\nimport video.api.client.api.ApiException;\n\ - import video.api.client.api.models.*;\nimport video.api.client.api.clients.VideosApi;\n\ - import java.util.*;\n\npublic class Example {\n public static void main(String[]\ - \ args) {\n ApiVideoClient client = new ApiVideoClient(\"YOUR_API_KEY\"\ - );\n // if you rather like to use the sandbox environment:\n //\ - \ ApiVideoClient client = new ApiVideoClient(\"YOUR_SANDBOX_API_KEY\"\ - , ApiVideoClient.Environment.SANDBOX);\n\n VideosApi apiInstance =\ - \ client.videos();\n \n String videoId = \"videoId_example\"; //\ - \ The unique identifier for the video you want details about.\n\n try\ - \ {\n Video result = apiInstance.get(videoId);\n System.out.println(result);\n\ - \ } catch (ApiException e) {\n System.err.println(\"Exception\ - \ when calling VideosApi#get\");\n System.err.println(\"Status code:\ - \ \" + e.getCode());\n System.err.println(\"Reason: \" + e.getMessage());\n\ - \ System.err.println(\"Response headers: \" + e.getResponseHeaders());\n\ - \ e.printStackTrace();\n }\n }\n} \n" - - language: csharp - code: "// First add the \"ApiVideo\" NuGet package to your project\n// Documentation:\ - \ https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#get\n\ - \nusing System.Diagnostics;\nusing ApiVideo.Client;\n\nnamespace Example\n\ - {\n public class getExample\n {\n public static void Main()\n\ - \ {\n var basePath = ApiVideoClient.Client.Environment.SANDBOX;\n\ - \ var apiKey = \"YOUR_API_KEY\";\n\n var apiInstance\ - \ = new ApiVideoClient(apiKey,basePath);\n\n var videoId =\ - \ videoId_example; // string | The unique identifier for the video you\ - \ want details about.\n var apiVideosInstance = apiInstance.Videos();\n\ - \ try\n {\n // Show a video\n \ - \ Video result = apiVideosInstance.get(videoId);\n \ - \ Debug.WriteLine(result);\n }\n catch (ApiException\ - \ e)\n {\n Debug.Print(\"Exception when calling\ - \ VideosApi.get: \" + e.Message );\n Debug.Print(\"Status\ - \ Code: \"+ e.ErrorCode);\n Debug.Print(e.StackTrace);\n\ - \ }\n }\n }\n} \n" - - language: php - code: "videos()->getStatus($videoId);\ - \ " - - language: swift - code: | - // First install the api client: https://github.com/apivideo/api.video-swift-client#getting-started - // Documentation: https://github.com/apivideo/api.video-swift-client/blob/main/docs/VideosAPI.md#get + x-client-action: getDiscarded x-accepts: application/json patch: - description: Update the parameters associated with a video ID. - operationId: PATCH-video + description: Restore a discarded video + operationId: PATCH-discarded-video parameters: - - description: The video ID for the video you want to update. + - description: The video ID for the video you want to restore. example: vi4k0jvEUuaTdRAEjQ4Jfrgz explode: false in: path @@ -3028,7 +3878,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/video-update-payload' + $ref: '#/components/schemas/discarded-video-update-payload' required: true responses: "200": @@ -3053,18 +3903,14 @@ paths: value: John Doe - key: Format value: Tutorial - publishedAt: 2019-12-16T08:25:51.000Z - updatedAt: 2019-12-16T08:48:49.000Z + publishedAt: 2019-12-16T08:25:51+00:00 + updatedAt: 2019-12-16T08:48:49+00:00 + discarded: true + discardedAt: 2024-10-16T08:48:49+00:00 + deletesAt: 2024-11-16T08:48:49+00:00 source: uri: /videos/vi4blUQJFrYWbaG44NChkH27/source - assets: - iframe: - player: https://embed.api.video/vod/vi4blUQJFrYWbaG44NChkH27 - hls: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/hls/manifest.m3u8 - thumbnail: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/thumbnail.jpg - mp4: https://cdn.api.video/vod/vi4blUQJFrYWbaG44NChkH27/mp4/source.mp4 + assets: null schema: $ref: '#/components/schemas/video' description: Success @@ -3096,19 +3942,10 @@ paths: response: value: type: https://docs.api.video/reference/invalid-attribute - title: This attribute must be a ISO-8601 date. - name: scheduledAt + title: An attribute is invalid. + detail: Value must be false. + name: discarded status: 400 - problems: - - type: https://docs.api.video/reference/invalid-attribute - title: This attribute must be a ISO-8601 date. - name: scheduledAt - - type: https://docs.api.video/reference/invalid-attribute - title: This attribute must be an array. - name: tags - - type: https://docs.api.video/reference/invalid-attribute - title: This attribute must be an array. - name: metadata schema: $ref: '#/components/schemas/bad-request' description: Bad Request @@ -3202,16 +4039,13 @@ paths: style: simple security: - apiKey: [] - summary: Update a video object + summary: Update a discarded video object tags: - Videos x-client-description: - default: "Updates the parameters associated with a video ID. The video object\ - \ you are updating is determined by the video ID you provide. \n\nNOTE:\ - \ If you are updating an array, you must provide the entire array as what\ - \ you provide here overwrites what is in the system rather than appending\ - \ to it.\n" - x-client-action: update + default: | + Use this endpoint to restore a discarded video when you have the Video Restore feature enabled. + x-client-action: updateDiscarded x-doctave: code-samples: - language: go @@ -3645,7 +4479,7 @@ paths: parameters: - description: 'Allowed: createdAt, ttl. You can use these to sort by when a token was created, or how much longer the token will be active (ttl - time - to live). Date and time is presented in ISO-8601 format.' + to live). Date and time is presented in ATOM UTC format.' example: ttl explode: true in: query @@ -3701,11 +4535,11 @@ paths: data: - token: to37YfoPDRR2pcDKa6LsUE0M ttl: 3600 - createdAt: 2020-12-02T10:26:46.000Z - expiresAt: 2020-12-02T11:26:46.000Z + createdAt: 2020-12-02T10:26:46+00:00 + expiresAt: 2020-12-02T11:26:46+00:00 - token: to1W3ZS9PdUBZWzzTEZr1B79 ttl: 0 - createdAt: 2020-12-02T10:26:28.000Z + createdAt: 2020-12-02T10:26:28+00:00 pagination: currentPage: 1 currentPageItems: 2 @@ -3936,8 +4770,8 @@ paths: value: token: to1tcmSFHeYY5KzyhOqVKMKb ttl: 3600 - createdAt: 2020-12-02T10:13:19.000Z - expiresAt: 2020-12-02T11:13:19.000Z + createdAt: 2020-12-02T10:13:19+00:00 + expiresAt: 2020-12-02T11:13:19+00:00 schema: $ref: '#/components/schemas/upload-token' description: Success @@ -4363,7 +5197,7 @@ paths: value: token: to1tcmSFHeYY5KzyhOqVKMKb ttl: 0 - createdAt: 2020-12-02T10:13:19.000Z + createdAt: 2020-12-02T10:13:19+00:00 schema: $ref: '#/components/schemas/upload-token' description: Success @@ -4626,7 +5460,10 @@ paths: value: John Doe - key: Format value: Tutorial - publishedAt: 4665-07-14T23:36:18.598Z + publishedAt: 2024-07-14T23:36:07+00:00 + discarded: false + discardedAt: null + deletesAt: null source: uri: /videos/vi4k0jvEUuaTdRAEjQ4Jfrgz/source assets: @@ -4822,7 +5659,7 @@ paths: `createdAt` - the time a live stream was created. `updatedAt` - the time a live stream was last updated. - When using `createdAt` or `updatedAt`, the API sorts the results based on the ISO-8601 time format. + When using `createdAt` or `updatedAt`, the API sorts the results based on the ATOM UTC time format. example: createdAt explode: true in: query @@ -4879,8 +5716,8 @@ paths: value: data: - liveStreamId: li400mYKSgQ6xs7taUeSaEKr - createdAt: 2020-01-31T10:17:47.000Z - updatedAt: 2020-03-09T13:19:43.000Z + createdAt: 2020-01-31T10:17:47+00:00 + updatedAt: 2020-03-09T13:19:43+00:00 streamKey: 30087931-229e-42cf-b5f9-e91bcc1f7332 restreams: - name: YouTube @@ -4900,8 +5737,8 @@ paths: hls: https://live.api.video/li400mYKSgQ6xs7taUeSaEKr.m3u8 thumbnail: https://live.api.video/li400mYKSgQ6xs7taUeSaEKr/thumbnail.jpg - liveStreamId: li4pqNqGUkhKfWcBGpZVLRY5 - createdAt: 2020-07-29T10:45:35.000Z - updatedAt: 2020-07-29T10:45:35.000Z + createdAt: 2020-07-29T10:45:35+00:00 + updatedAt: 2020-07-29T10:45:35+00:00 streamKey: cc1b4df0-d1c5-4064-a8f9-9f0368385135 restreams: - name: YouTube @@ -9358,7 +10195,7 @@ paths: operationId: GET_players parameters: - description: createdAt is the time the player was created. updatedAt is the - time the player was last updated. The time is presented in ISO-8601 format. + time the player was last updated. The time is presented in ATOM UTC format. example: createdAt explode: true in: query @@ -9587,7 +10424,7 @@ paths: \ req := apivideosdk.PlayerThemesApiListRequest{}\n \n req.SortBy(\"\ createdAt\") // string | createdAt is the time the player was created.\ \ updatedAt is the time the player was last updated. The time is presented\ - \ in ISO-8601 format.\n req.SortOrder(\"asc\") // string | Allowed:\ + \ in ATOM UTC format.\n req.SortOrder(\"asc\") // string | Allowed:\ \ asc, desc. Ascending for date and time means that earlier values precede\ \ later ones. Descending means that later values preced earlier ones.\n\ \ req.CurrentPage(int32(2)) // int32 | Choose the number of search\ @@ -9604,7 +10441,7 @@ paths: \nconst client = new ApiVideoClient({ apiKey: \"YOUR_API_KEY\" });\n\n\ const sortBy = 'createdAt'; // createdAt is the time the player was created.\ \ updatedAt is the time the player was last updated. The time is presented\ - \ in ISO-8601 format.\nconst sortOrder = 'asc'; // Allowed: asc, desc.\ + \ in ATOM UTC format.\nconst sortOrder = 'asc'; // Allowed: asc, desc.\ \ Ascending for date and time means that earlier values precede later\ \ ones. Descending means that later values preced earlier ones.\nconst\ \ currentPage = 2; // Choose the number of search results to return per\ @@ -9627,7 +10464,7 @@ paths: with apivideo.AuthenticatedApiClient(__API_KEY__) as api_client: # Create an instance of the API class api_instance = player_themes_api.PlayerThemesApi(api_client) - sort_by = "createdAt" # str | createdAt is the time the player was created. updatedAt is the time the player was last updated. The time is presented in ISO-8601 format. (optional) + sort_by = "createdAt" # str | createdAt is the time the player was created. updatedAt is the time the player was last updated. The time is presented in ATOM UTC format. (optional) sort_order = "asc" # str | Allowed: asc, desc. Ascending for date and time means that earlier values precede later ones. Descending means that later values preced earlier ones. (optional) current_page = 2 # int | Choose the number of search results to return per page. Minimum value: 1 (optional) if omitted the server will use the default value of 1 page_size = 30 # int | Results per page. Allowed values 1-100, default is 25. (optional) if omitted the server will use the default value of 25 @@ -9652,7 +10489,7 @@ paths: , ApiVideoClient.Environment.SANDBOX);\n\n PlayerThemesApi apiInstance\ \ = client.playerThemes();\n \n String sortBy = \"createdAt\"; //\ \ createdAt is the time the player was created. updatedAt is the time\ - \ the player was last updated. The time is presented in ISO-8601 format.\n\ + \ the player was last updated. The time is presented in ATOM UTC format.\n\ \ String sortOrder = \"asc\"; // Allowed: asc, desc. Ascending for\ \ date and time means that earlier values precede later ones. Descending\ \ means that later values preced earlier ones.\n Integer currentPage\ @@ -9676,15 +10513,15 @@ paths: \ var apiKey = \"YOUR_API_KEY\";\n\n var apiInstance\ \ = new ApiVideoClient(apiKey,basePath);\n\n var sortBy = createdAt;\ \ // string | createdAt is the time the player was created. updatedAt\ - \ is the time the player was last updated. The time is presented in ISO-8601\ - \ format. (optional) \n var sortOrder = asc; // string | Allowed:\ - \ asc, desc. Ascending for date and time means that earlier values precede\ - \ later ones. Descending means that later values preced earlier ones.\ - \ (optional) \n var currentPage = 2; // int? | Choose the\ - \ number of search results to return per page. Minimum value: 1 (optional)\ - \ (default to 1)\n var pageSize = 30; // int? | Results per\ - \ page. Allowed values 1-100, default is 25. (optional) (default to 25)\n\ - \ var apiPlayerThemesInstance = apiInstance.PlayerThemes();\n\ + \ is the time the player was last updated. The time is presented in ATOM\ + \ UTC format. (optional) \n var sortOrder = asc; // string\ + \ | Allowed: asc, desc. Ascending for date and time means that earlier\ + \ values precede later ones. Descending means that later values preced\ + \ earlier ones. (optional) \n var currentPage = 2; // int?\ + \ | Choose the number of search results to return per page. Minimum value:\ + \ 1 (optional) (default to 1)\n var pageSize = 30; // int?\ + \ | Results per page. Allowed values 1-100, default is 25. (optional)\ + \ (default to 25)\n var apiPlayerThemesInstance = apiInstance.PlayerThemes();\n\ \ try\n {\n // List all players\n\ \ PlayerThemesListResponse result = apiPlayerThemesInstance.list(sortBy,\ \ sortOrder, currentPage, pageSize);\n Debug.WriteLine(result);\n\ @@ -9699,7 +10536,7 @@ paths: \nrequire __DIR__ . '/vendor/autoload.php';\n\n$playerThemes = $client->playerThemes()->list(array(\n\ \ 'sortBy' => 'createdAt', // createdAt is the time the player was\ \ created. updatedAt is the time the player was last updated. The time\ - \ is presented in ISO-8601 format.\n 'sortOrder' => 'asc', // ->setAllowed(asc,\ + \ is presented in ATOM UTC format.\n 'sortOrder' => 'asc', // ->setAllowed(asc,\ \ desc. Ascending for date and time means that earlier values precede\ \ later ones. Descending means that later values preced earlier ones.)\n\ \ 'currentPage' => 2, // Choose the number of search results to return\ @@ -12407,11 +13244,11 @@ paths: from: 2024-05-28T11:08:39+00:00 to: 2024-05-29T11:08:39+00:00 data: - - emittedAt: 2024-05-29T07:00:00+00:00 + - emittedAt: 2024-05-29T07+00:00:00:00 metricValue: 2 - - emittedAt: 2024-05-29T08:00:00+00:00 + - emittedAt: 2024-05-29T08+00:00:00:00 metricValue: 1 - - emittedAt: 2024-05-29T09:00:00+00:00 + - emittedAt: 2024-05-29T09+00:00:00:00 metricValue: 1 pagination: currentPage: 1 @@ -12678,12 +13515,12 @@ paths: value: data: - webhookId: webhook_XXXXXXXXXXXXXXX - createdAt: 2021-01-08T14:12:18.000Z + createdAt: 2021-01-08T14:12:18+00:00 events: - video.encoding.quality.completed url: http://clientnotificationserver.com/notif?myquery=query - webhookId: webhook_XXXXXXXXXYYYYYY - createdAt: 2021-01-12T12:12:12.000Z + createdAt: 2021-01-12T12:12:12+00:00 events: - video.encoding.quality.completed url: http://clientnotificationserver.com/notif?myquery=query2 @@ -12912,7 +13749,7 @@ paths: response: value: webhookId: webhook_XXXXXXXXXXXXXXX - createdAt: 2021-01-08T14:12:18.000Z + createdAt: 2021-01-08T14:12:18+00:00 events: - video.encoding.quality.completed url: http://clientnotificationserver.com/notif?myquery=query @@ -13383,7 +14220,7 @@ paths: response: value: webhookId: webhook_XXXXXXXXXXXXXXX - createdAt: 2021-01-08T14:12:18.000Z + createdAt: 2021-01-08T14:12:18+00:00 events: - video.encoding.quality.completed url: http://clientnotificationserver.com/notif?myquery=query @@ -13565,8 +14402,8 @@ components: live-stream-response-example: value: liveStreamId: li4pqNqGUkhKfWcBGpZVLRY5 - createdAt: 2020-07-29T10:45:35.000Z - updatedAt: 2020-07-29T10:45:35.000Z + createdAt: 2020-07-29T10:45:35+00:00 + updatedAt: 2020-07-29T10:45:35+00:00 streamKey: cc1b4df0-d1c5-4064-a8f9-9f0368385135 restreams: - name: YouTube @@ -13898,8 +14735,11 @@ components: value: John Doe - key: Format value: Tutorial - createdAt: 4251-03-03T12:52:03.085Z - publishedAt: 4665-07-14T23:36:18.598Z + createdAt: 2024-03-03T12:52:03+00:00 + publishedAt: 2024-07-14T23:36:07+00:00 + discarded: false + discardedAt: null + deletesAt: null actions: - video_delete - video_download @@ -13910,7 +14750,8 @@ components: example: vi4k0jvEUuaTdRAEjQ4Prklg type: string createdAt: - description: When a video was created, presented in ISO-8601 format. + description: When a video was created, presented in ATOM UTC format. + example: 2024-05-28T11:15:07Z format: date-time type: string title: @@ -13925,16 +14766,37 @@ components: type: string publishedAt: description: The date and time the API created the video. Date and time - are provided using ISO-8601 UTC format. - example: 2019-12-16T08:25:51Z + are provided using ATOM UTC format. + example: 2024-05-28T11:15:07Z format: date-time type: string updatedAt: description: The date and time the video was updated. Date and time are - provided using ISO-8601 UTC format. - example: 2019-12-16T08:15:51Z + provided using ATOM UTC format. + example: 2024-05-28T11:15:07Z + format: date-time + type: string + discardedAt: + description: The date and time the video was discarded. The API populates + this field only if you have the Video Restore feature enabled and discard + a video. Date and time are provided using ATOM UTC format. + example: 2024-05-28T11:15:07Z + format: date-time + nullable: true + type: string + deletesAt: + description: The date and time the video will be permanently deleted. The + API populates this field only if you have the Video Restore feature enabled + and discard a video. Discarded videos are pemanently deleted after 90 + days. Date and time are provided using ATOM UTC format. + example: 2024-05-28T11:15:07Z format: date-time + nullable: true type: string + discarded: + description: Returns `true` for videos you discarded when you have the Video + Restore feature enabled. Returns `false` for every other video. + type: boolean tags: description: "One array of tags (each tag is a string) in order to categorize\ \ a video. Tags may include spaces. \n" @@ -13944,7 +14806,7 @@ components: type: array metadata: description: | - Metadata you can use to categorise and filter videos. Metadata is a list of dictionaries, where each dictionary represents a key value pair for categorising a video. [Dynamic Metadata](https://api.video/blog/endpoints/dynamic-metadata/) allows you to define a key that allows any value pair. + Metadata you can use to categorise and filter videos. Metadata is a list of dictionaries, where each dictionary represents a key value pair for categorising a video. example: '[{"key":"Author", "value":"John Doe"}, {"key":"Format", "value":"Tutorial"}]' items: $ref: '#/components/schemas/metadata' @@ -13980,14 +14842,15 @@ components: watermark: example: watermarkId: watermark_1BWr2L5MTQwxGkuxKjzh6i - createdAt: 2000-01-23T04:56:07.000+00:00 + createdAt: 2019-06-24T11:45:01Z properties: watermarkId: description: The unique identifier of the watermark. example: watermark_1BWr2L5MTQwxGkuxKjzh6i type: string createdAt: - description: When the watermark was created, presented in ISO-8601 format. + description: When the watermark was created, presented in ATOM UTC format. + example: 2019-06-24T11:45:01Z format: date-time type: string title: Watermark @@ -14015,9 +14878,9 @@ components: uri: /videos/search?currentPage=6&pageSize=20 data: - watermarkId: watermark_1BWr2L5MTQwxGkuxKjzh6i - createdAt: 2000-01-23T04:56:07.000+00:00 + createdAt: 2019-06-24T11:45:01Z - watermarkId: watermark_1BWr2L5MTQwxGkuxKjzh6i - createdAt: 2000-01-23T04:56:07.000+00:00 + createdAt: 2019-06-24T11:45:01Z properties: data: items: @@ -14124,12 +14987,12 @@ components: example: pl45KFKdlddgk654dspkze type: string createdAt: - description: When the player was created, presented in ISO-8601 format. + description: When the player was created, presented in ATOM UTC format. example: 2020-01-31T10:17:47Z format: date-time type: string updatedAt: - description: When the player was last updated, presented in ISO-8601 format. + description: When the player was last updated, presented in ATOM UTC format. example: 2020-01-31T10:18:47Z format: date-time type: string @@ -14384,12 +15247,12 @@ components: $ref: '#/components/schemas/restreams-response-object' type: array createdAt: - description: When the player was created, presented in ISO-8601 format. + description: When the player was created, presented in ATOM UTC format. example: 2020-01-31T10:17:47Z format: date-time type: string updatedAt: - description: When the player was last updated, presented in ISO-8601 format. + description: When the player was last updated, presented in ATOM UTC format. example: 2020-01-31T10:18:47Z format: date-time type: string @@ -14406,8 +15269,8 @@ components: example: play type: string emittedAt: - description: When an event occurred, presented in ISO-8601 format. - example: 2019-06-24T11:45:01.109Z + description: When an event occurred, presented in ATOM UTC format. + example: 2019-06-24T11:45:01Z format: date-time type: string at: @@ -14420,7 +15283,7 @@ components: type: object webhook: example: - createdAt: 2019-06-24T11:45:01.109Z + createdAt: 2019-06-24T11:45:01Z webhookId: webhook_XXXXXXXXXXXXXXX events: '["video.encoding.quality.completed"]' url: http://clientnotificationserver.com/notif?myquery=query @@ -14430,8 +15293,8 @@ components: example: webhook_XXXXXXXXXXXXXXX type: string createdAt: - description: When an webhook was created, presented in ISO-8601 format. - example: 2019-06-24T11:45:01.109Z + description: When an webhook was created, presented in ATOM UTC format. + example: 2019-06-24T11:45:01Z format: date-time type: string events: @@ -14579,12 +15442,12 @@ components: minimum: 0 type: integer createdAt: - description: When the token was created, displayed in ISO-8601 format. + description: When the token was created, displayed in ATOM UTC format. example: 2019-12-16T08:25:51Z format: date-time type: string expiresAt: - description: When the token expires, displayed in ISO-8601 format. + description: When the token expires, displayed in ATOM UTC format. example: 2019-12-16T09:25:51Z format: date-time nullable: true @@ -14649,8 +15512,11 @@ components: value: John Doe - key: Format value: Tutorial - createdAt: 4251-03-03T12:52:03.085Z - publishedAt: 4665-07-14T23:36:18.598Z + createdAt: 2024-03-03T12:52:03+00:00 + publishedAt: 2024-07-14T23:36:07+00:00 + discarded: false + discardedAt: null + deletesAt: null actions: - video_delete - video_download @@ -14667,8 +15533,11 @@ components: value: John Doe - key: Format value: Tutorial - createdAt: 4251-03-03T12:52:03.085Z - publishedAt: 4665-07-14T23:36:18.598Z + createdAt: 2024-03-03T12:52:03+00:00 + publishedAt: 2024-07-14T23:36:07+00:00 + discarded: false + discardedAt: null + deletesAt: null actions: - video_delete - video_download @@ -14767,8 +15636,7 @@ components: type: array metadata: description: A list of key value pairs that you use to provide metadata - for your video. These pairs can be made dynamic, allowing you to segment - your audience. Read more on [dynamic metadata](https://api.video/blog/endpoints/dynamic-metadata/). + for your video. example: '[{"key": "Author", "value": "John Doe"}]' items: $ref: '#/components/schemas/metadata' @@ -14877,13 +15745,23 @@ components: description: A list (array) of dictionaries where each dictionary contains a key value pair that describes the video. As with tags, you must send the complete list of metadata you want as whatever you send here will - overwrite the existing metadata for the video. [Dynamic Metadata](https://api.video/blog/endpoints/dynamic-metadata/) - allows you to define a key that allows any value pair. + overwrite the existing metadata for the video. items: $ref: '#/components/schemas/metadata' type: array title: VideoUpdatePayload type: object + discarded-video-update-payload: + example: + discarded: false + properties: + discarded: + description: Use this parameter to restore a discarded video when you have + the Video Restore feature enabled. This parameter only accepts `false` + as a value! + type: boolean + title: DiscardedVideoUpdatePayload + type: object token-list-response: example: pagination: @@ -15560,11 +16438,11 @@ components: rel: last uri: /videos/search?currentPage=6&pageSize=20 data: - - createdAt: 2019-06-24T11:45:01.109Z + - createdAt: 2019-06-24T11:45:01Z webhookId: webhook_XXXXXXXXXXXXXXX events: '["video.encoding.quality.completed"]' url: http://clientnotificationserver.com/notif?myquery=query - - createdAt: 2019-06-24T11:45:01.109Z + - createdAt: 2019-06-24T11:45:01Z webhookId: webhook_XXXXXXXXXXXXXXX events: '["video.encoding.quality.completed"]' url: http://clientnotificationserver.com/notif?myquery=query diff --git a/build.gradle b/build.gradle index dcfaf1c..47207b1 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'com.diffplug.spotless' apply plugin: 'maven-publish' group = 'video.api' -version = '1.4.1' +version = '1.4.2' buildscript { repositories { diff --git a/docs/DiscardedVideoUpdatePayload.md b/docs/DiscardedVideoUpdatePayload.md new file mode 100644 index 0000000..4daeee1 --- /dev/null +++ b/docs/DiscardedVideoUpdatePayload.md @@ -0,0 +1,17 @@ + + +# DiscardedVideoUpdatePayload + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**discarded** | **Boolean** | Use this parameter to restore a discarded video when you have the Video Restore feature enabled. This parameter only accepts `false` as a value! | [optional] + + +## Implemented Interfaces + +* Serializable +* DeepObject + + diff --git a/docs/LiveStream.md b/docs/LiveStream.md index a38d380..8a6f634 100644 --- a/docs/LiveStream.md +++ b/docs/LiveStream.md @@ -14,8 +14,8 @@ Name | Type | Description | Notes **playerId** | **String** | The unique identifier for the player. | [optional] **broadcasting** | **Boolean** | Whether or not you are broadcasting the live video you recorded for others to see. True means you are broadcasting to viewers, false means you are not. | [optional] **restreams** | [**List<RestreamsResponseObject>**](RestreamsResponseObject.md) | Returns the list of restream destinations. | -**createdAt** | **OffsetDateTime** | When the player was created, presented in ISO-8601 format. | [optional] -**updatedAt** | **OffsetDateTime** | When the player was last updated, presented in ISO-8601 format. | [optional] +**createdAt** | **OffsetDateTime** | When the player was created, presented in ATOM UTC format. | [optional] +**updatedAt** | **OffsetDateTime** | When the player was last updated, presented in ATOM UTC format. | [optional] ## Implemented Interfaces diff --git a/docs/LiveStreamsApi.md b/docs/LiveStreamsApi.md index 0355134..b03ccfe 100644 --- a/docs/LiveStreamsApi.md +++ b/docs/LiveStreamsApi.md @@ -332,7 +332,7 @@ public class Example { String streamKey = "dw-dew8-q6w9-k67w-1ws8"; // The unique stream key that allows you to stream videos. String name = "My Video"; // You can filter live streams by their name or a part of their name. - String sortBy = "name"; // Enables you to sort live stream results. Allowed attributes: `name`, `createdAt`, `updatedAt`. `name` - the name of the live stream. `createdAt` - the time a live stream was created. `updatedAt` - the time a live stream was last updated. When using `createdAt` or `updatedAt`, the API sorts the results based on the ISO-8601 time format. + String sortBy = "name"; // Enables you to sort live stream results. Allowed attributes: `name`, `createdAt`, `updatedAt`. `name` - the name of the live stream. `createdAt` - the time a live stream was created. `updatedAt` - the time a live stream was last updated. When using `createdAt` or `updatedAt`, the API sorts the results based on the ATOM UTC time format. String sortOrder = "asc"; // Allowed: asc, desc. Ascending for date and time means that earlier values precede later ones. Descending means that later values preced earlier ones. For title, it is 0-9 and A-Z ascending and Z-A, 9-0 descending. Integer currentPage = 1; // Choose the number of search results to return per page. Minimum value: 1 Integer pageSize = 25; // Results per page. Allowed values 1-100, default is 25. @@ -364,7 +364,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **streamKey** | **String**| The unique stream key that allows you to stream videos. | [optional] **name** | **String**| You can filter live streams by their name or a part of their name. | [optional] - **sortBy** | **String**| Enables you to sort live stream results. Allowed attributes: `name`, `createdAt`, `updatedAt`. `name` - the name of the live stream. `createdAt` - the time a live stream was created. `updatedAt` - the time a live stream was last updated. When using `createdAt` or `updatedAt`, the API sorts the results based on the ISO-8601 time format. | [optional] [enum: name, createdAt, updatedAt] + **sortBy** | **String**| Enables you to sort live stream results. Allowed attributes: `name`, `createdAt`, `updatedAt`. `name` - the name of the live stream. `createdAt` - the time a live stream was created. `updatedAt` - the time a live stream was last updated. When using `createdAt` or `updatedAt`, the API sorts the results based on the ATOM UTC time format. | [optional] [enum: name, createdAt, updatedAt] **sortOrder** | **String**| Allowed: asc, desc. Ascending for date and time means that earlier values precede later ones. Descending means that later values preced earlier ones. For title, it is 0-9 and A-Z ascending and Z-A, 9-0 descending. | [optional] [enum: asc, desc] **currentPage** | **Integer**| Choose the number of search results to return per page. Minimum value: 1 | [optional] [default to 1] **pageSize** | **Integer**| Results per page. Allowed values 1-100, default is 25. | [optional] [default to 25] diff --git a/docs/PlayerSessionEvent.md b/docs/PlayerSessionEvent.md index fa58f27..e271dbe 100644 --- a/docs/PlayerSessionEvent.md +++ b/docs/PlayerSessionEvent.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **type** | **String** | Possible values are: ready, play, pause, resume, seek.backward, seek.forward, end | [optional] -**emittedAt** | **OffsetDateTime** | When an event occurred, presented in ISO-8601 format. | [optional] +**emittedAt** | **OffsetDateTime** | When an event occurred, presented in ATOM UTC format. | [optional] **at** | **Integer** | | [optional] **from** | **Integer** | | [optional] **to** | **Integer** | | [optional] diff --git a/docs/PlayerTheme.md b/docs/PlayerTheme.md index df036a5..a5bc2e5 100644 --- a/docs/PlayerTheme.md +++ b/docs/PlayerTheme.md @@ -23,8 +23,8 @@ Name | Type | Description | Notes **hideTitle** | **Boolean** | enable/disable title. Default: false | [optional] **forceLoop** | **Boolean** | enable/disable looping. Default: false | [optional] **playerId** | **String** | | -**createdAt** | **OffsetDateTime** | When the player was created, presented in ISO-8601 format. | [optional] -**updatedAt** | **OffsetDateTime** | When the player was last updated, presented in ISO-8601 format. | [optional] +**createdAt** | **OffsetDateTime** | When the player was created, presented in ATOM UTC format. | [optional] +**updatedAt** | **OffsetDateTime** | When the player was last updated, presented in ATOM UTC format. | [optional] **assets** | [**PlayerThemeAssets**](PlayerThemeAssets.md) | | [optional] diff --git a/docs/PlayerThemesApi.md b/docs/PlayerThemesApi.md index e44faeb..c347be5 100644 --- a/docs/PlayerThemesApi.md +++ b/docs/PlayerThemesApi.md @@ -354,7 +354,7 @@ public class Example { PlayerThemesApi apiInstance = client.playerThemes(); - String sortBy = "name"; // createdAt is the time the player was created. updatedAt is the time the player was last updated. The time is presented in ISO-8601 format. + String sortBy = "name"; // createdAt is the time the player was created. updatedAt is the time the player was last updated. The time is presented in ATOM UTC format. String sortOrder = "asc"; // Allowed: asc, desc. Ascending for date and time means that earlier values precede later ones. Descending means that later values preced earlier ones. Integer currentPage = 1; // Choose the number of search results to return per page. Minimum value: 1 Integer pageSize = 25; // Results per page. Allowed values 1-100, default is 25. @@ -382,7 +382,7 @@ public class Example { Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **sortBy** | **String**| createdAt is the time the player was created. updatedAt is the time the player was last updated. The time is presented in ISO-8601 format. | [optional] [enum: name, createdAt, updatedAt] + **sortBy** | **String**| createdAt is the time the player was created. updatedAt is the time the player was last updated. The time is presented in ATOM UTC format. | [optional] [enum: name, createdAt, updatedAt] **sortOrder** | **String**| Allowed: asc, desc. Ascending for date and time means that earlier values precede later ones. Descending means that later values preced earlier ones. | [optional] [enum: asc, desc] **currentPage** | **Integer**| Choose the number of search results to return per page. Minimum value: 1 | [optional] [default to 1] **pageSize** | **Integer**| Results per page. Allowed values 1-100, default is 25. | [optional] [default to 25] diff --git a/docs/UploadToken.md b/docs/UploadToken.md index 69201b0..da26fa1 100644 --- a/docs/UploadToken.md +++ b/docs/UploadToken.md @@ -8,8 +8,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **token** | **String** | The unique identifier for the token you will use to authenticate an upload. | [optional] **ttl** | **Integer** | Time-to-live - how long the upload token is valid for. | [optional] -**createdAt** | **OffsetDateTime** | When the token was created, displayed in ISO-8601 format. | [optional] -**expiresAt** | **OffsetDateTime** | When the token expires, displayed in ISO-8601 format. | [optional] +**createdAt** | **OffsetDateTime** | When the token was created, displayed in ATOM UTC format. | [optional] +**expiresAt** | **OffsetDateTime** | When the token expires, displayed in ATOM UTC format. | [optional] ## Implemented Interfaces diff --git a/docs/UploadTokensApi.md b/docs/UploadTokensApi.md index 903ba82..9577c7c 100644 --- a/docs/UploadTokensApi.md +++ b/docs/UploadTokensApi.md @@ -248,7 +248,7 @@ public class Example { UploadTokensApi apiInstance = client.uploadTokens(); - String sortBy = "createdAt"; // Allowed: createdAt, ttl. You can use these to sort by when a token was created, or how much longer the token will be active (ttl - time to live). Date and time is presented in ISO-8601 format. + String sortBy = "createdAt"; // Allowed: createdAt, ttl. You can use these to sort by when a token was created, or how much longer the token will be active (ttl - time to live). Date and time is presented in ATOM UTC format. String sortOrder = "asc"; // Allowed: asc, desc. Ascending is 0-9 or A-Z. Descending is 9-0 or Z-A. Integer currentPage = 1; // Choose the number of search results to return per page. Minimum value: 1 Integer pageSize = 25; // Results per page. Allowed values 1-100, default is 25. @@ -276,7 +276,7 @@ public class Example { Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **sortBy** | **String**| Allowed: createdAt, ttl. You can use these to sort by when a token was created, or how much longer the token will be active (ttl - time to live). Date and time is presented in ISO-8601 format. | [optional] [enum: createdAt, ttl] + **sortBy** | **String**| Allowed: createdAt, ttl. You can use these to sort by when a token was created, or how much longer the token will be active (ttl - time to live). Date and time is presented in ATOM UTC format. | [optional] [enum: createdAt, ttl] **sortOrder** | **String**| Allowed: asc, desc. Ascending is 0-9 or A-Z. Descending is 9-0 or Z-A. | [optional] [enum: asc, desc] **currentPage** | **Integer**| Choose the number of search results to return per page. Minimum value: 1 | [optional] [default to 1] **pageSize** | **Integer**| Results per page. Allowed values 1-100, default is 25. | [optional] [default to 25] diff --git a/docs/Video.md b/docs/Video.md index 070f2bb..2b080eb 100644 --- a/docs/Video.md +++ b/docs/Video.md @@ -7,13 +7,16 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **videoId** | **String** | The unique identifier of the video object. | -**createdAt** | **OffsetDateTime** | When a video was created, presented in ISO-8601 format. | [optional] +**createdAt** | **OffsetDateTime** | When a video was created, presented in ATOM UTC format. | [optional] **title** | **String** | The title of the video content. | [optional] **description** | **String** | A description for the video content. | [optional] -**publishedAt** | **OffsetDateTime** | The date and time the API created the video. Date and time are provided using ISO-8601 UTC format. | [optional] -**updatedAt** | **OffsetDateTime** | The date and time the video was updated. Date and time are provided using ISO-8601 UTC format. | [optional] +**publishedAt** | **OffsetDateTime** | The date and time the API created the video. Date and time are provided using ATOM UTC format. | [optional] +**updatedAt** | **OffsetDateTime** | The date and time the video was updated. Date and time are provided using ATOM UTC format. | [optional] +**discardedAt** | **OffsetDateTime** | The date and time the video was discarded. The API populates this field only if you have the Video Restore feature enabled and discard a video. Date and time are provided using ATOM UTC format. | [optional] +**deletesAt** | **OffsetDateTime** | The date and time the video will be permanently deleted. The API populates this field only if you have the Video Restore feature enabled and discard a video. Discarded videos are pemanently deleted after 90 days. Date and time are provided using ATOM UTC format. | [optional] +**discarded** | **Boolean** | Returns `true` for videos you discarded when you have the Video Restore feature enabled. Returns `false` for every other video. | [optional] **tags** | **List<String>** | One array of tags (each tag is a string) in order to categorize a video. Tags may include spaces. | [optional] -**metadata** | [**List<Metadata>**](Metadata.md) | Metadata you can use to categorise and filter videos. Metadata is a list of dictionaries, where each dictionary represents a key value pair for categorising a video. [Dynamic Metadata](https://api.video/blog/endpoints/dynamic-metadata/) allows you to define a key that allows any value pair. | [optional] +**metadata** | [**List<Metadata>**](Metadata.md) | Metadata you can use to categorise and filter videos. Metadata is a list of dictionaries, where each dictionary represents a key value pair for categorising a video. | [optional] **source** | [**VideoSource**](VideoSource.md) | | [optional] **assets** | [**VideoAssets**](VideoAssets.md) | | [optional] **playerId** | **String** | The id of the player that will be applied on the video. | [optional] diff --git a/docs/VideoCreationPayload.md b/docs/VideoCreationPayload.md index 5437297..4f5d2c1 100644 --- a/docs/VideoCreationPayload.md +++ b/docs/VideoCreationPayload.md @@ -14,7 +14,7 @@ Name | Type | Description | Notes **mp4Support** | **Boolean** | Enables mp4 version in addition to streamed version. | [optional] **playerId** | **String** | The unique identification number for your video player. | [optional] **tags** | **List<String>** | A list of tags you want to use to describe your video. | [optional] -**metadata** | [**List<Metadata>**](Metadata.md) | A list of key value pairs that you use to provide metadata for your video. These pairs can be made dynamic, allowing you to segment your audience. Read more on [dynamic metadata](https://api.video/blog/endpoints/dynamic-metadata/). | [optional] +**metadata** | [**List<Metadata>**](Metadata.md) | A list of key value pairs that you use to provide metadata for your video. | [optional] **clip** | [**VideoClip**](VideoClip.md) | | [optional] **watermark** | [**VideoWatermark**](VideoWatermark.md) | | [optional] diff --git a/docs/VideoUpdatePayload.md b/docs/VideoUpdatePayload.md index 159889f..b447871 100644 --- a/docs/VideoUpdatePayload.md +++ b/docs/VideoUpdatePayload.md @@ -13,7 +13,7 @@ Name | Type | Description | Notes **panoramic** | **Boolean** | Whether the video is a 360 degree or immersive video. | [optional] **mp4Support** | **Boolean** | Whether the player supports the mp4 format. | [optional] **tags** | **List<String>** | A list of terms or words you want to tag the video with. Make sure the list includes all the tags you want as whatever you send in this list will overwrite the existing list for the video. | [optional] -**metadata** | [**List<Metadata>**](Metadata.md) | A list (array) of dictionaries where each dictionary contains a key value pair that describes the video. As with tags, you must send the complete list of metadata you want as whatever you send here will overwrite the existing metadata for the video. [Dynamic Metadata](https://api.video/blog/endpoints/dynamic-metadata/) allows you to define a key that allows any value pair. | [optional] +**metadata** | [**List<Metadata>**](Metadata.md) | A list (array) of dictionaries where each dictionary contains a key value pair that describes the video. As with tags, you must send the complete list of metadata you want as whatever you send here will overwrite the existing metadata for the video. | [optional] ## Implemented Interfaces diff --git a/docs/VideosApi.md b/docs/VideosApi.md index b1fe173..13ae154 100644 --- a/docs/VideosApi.md +++ b/docs/VideosApi.md @@ -13,7 +13,10 @@ Method | HTTP request | Description [**list**](VideosApi.md#list) | **GET** /videos | List all video objects [**uploadThumbnail**](VideosApi.md#uploadThumbnail) | **POST** /videos/{videoId}/thumbnail | Upload a thumbnail [**pickThumbnail**](VideosApi.md#pickThumbnail) | **PATCH** /videos/{videoId}/thumbnail | Set a thumbnail +[**getDiscarded**](VideosApi.md#getDiscarded) | **GET** /discarded/videos/{videoId} | Retrieve a discarded video object [**getStatus**](VideosApi.md#getStatus) | **GET** /videos/{videoId}/status | Retrieve video status and details +[**listDiscarded**](VideosApi.md#listDiscarded) | **GET** /discarded/videos | List all discarded video objects +[**updateDiscarded**](VideosApi.md#updateDiscarded) | **PATCH** /discarded/videos/{videoId} | Update a discarded video object @@ -52,7 +55,7 @@ public class Example { videoCreationPayload.setMp4Support(true); // Enables mp4 version in addition to streamed version. videoCreationPayload.setPlayerId("pl45KFKdlddgk654dspkze"); // The unique identification number for your video player. videoCreationPayload.setTags(Arrays.asList("maths", "string theory", "video")); // A list of tags you want to use to describe your video. - videoCreationPayload.setMetadata(Collections.emptyList()); // A list of key value pairs that you use to provide metadata for your video. These pairs can be made dynamic, allowing you to segment your audience. Read more on [dynamic metadata](https://api.video/blog/endpoints/dynamic-metadata/). + videoCreationPayload.setMetadata(Collections.emptyList()); // A list of key value pairs that you use to provide metadata for your video. videoCreationPayload.setClip(); // videoCreationPayload.setWatermark(); // @@ -426,7 +429,7 @@ public class Example { videoUpdatePayload.setPanoramic(false); // Whether the video is a 360 degree or immersive video. videoUpdatePayload.setMp4Support(true); // Whether the player supports the mp4 format. videoUpdatePayload.setTags(Arrays.asList("maths", "string theory", "video")); // A list of terms or words you want to tag the video with. Make sure the list includes all the tags you want as whatever you send in this list will overwrite the existing list for the video. - videoUpdatePayload.setMetadata(Collections.emptyList()); // A list (array) of dictionaries where each dictionary contains a key value pair that describes the video. As with tags, you must send the complete list of metadata you want as whatever you send here will overwrite the existing metadata for the video. [Dynamic Metadata](https://api.video/blog/endpoints/dynamic-metadata/) allows you to define a key that allows any value pair. + videoUpdatePayload.setMetadata(Collections.emptyList()); // A list (array) of dictionaries where each dictionary contains a key value pair that describes the video. As with tags, you must send the complete list of metadata you want as whatever you send here will overwrite the existing metadata for the video. try { @@ -480,7 +483,7 @@ Name | Type | Description | Notes Delete a video object -If you do not need a video any longer, you can send a request to delete it. All you need is the videoId. +If you do not need a video any longer, you can send a request to delete it. All you need is the videoId. By default, deleted videos cannot be recovered. If you have the Video Restore feature enabled, this operation will discard the video instead of permanently deleting it. Make sure you subscribe to the Video Restore feature if you want to be able to restore deleted videos! The Video Restore feature retains videos for 90 days, after which the videos are permanently deleted ### Example ```java @@ -570,7 +573,7 @@ public class Example { String title = "My Video.mp4"; // The title of a specific video you want to find. The search will match exactly to what term you provide and return any videos that contain the same term as part of their titles. List tags = Arrays.asList(); // A tag is a category you create and apply to videos. You can search for videos with particular tags by listing one or more here. Only videos that have all the tags you list will be returned. - Map metadata = new HashMap(); // Videos can be tagged with metadata tags in key:value pairs. You can search for videos with specific key value pairs using this parameter. [Dynamic Metadata](https://api.video/blog/endpoints/dynamic-metadata/) allows you to define a key that allows any value pair. + Map metadata = new HashMap(); // Videos can be tagged with metadata tags in key:value pairs. You can search for videos with specific key value pairs using this parameter. String description = "New Zealand"; // Retrieve video objects by `description`. String liveStreamId = "li400mYKSgQ6xs7taUeSaEKr"; // Retrieve video objects that were recorded from a live stream by `liveStreamId`. String sortBy = "title"; // Use this parameter to sort videos by the their created time, published time, updated time, or by title. @@ -608,7 +611,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **title** | **String**| The title of a specific video you want to find. The search will match exactly to what term you provide and return any videos that contain the same term as part of their titles. | [optional] **tags** | [**List<String>**](String.md)| A tag is a category you create and apply to videos. You can search for videos with particular tags by listing one or more here. Only videos that have all the tags you list will be returned. | [optional] - **metadata** | [**Map<String, String>**](String.md)| Videos can be tagged with metadata tags in key:value pairs. You can search for videos with specific key value pairs using this parameter. [Dynamic Metadata](https://api.video/blog/endpoints/dynamic-metadata/) allows you to define a key that allows any value pair. | [optional] + **metadata** | [**Map<String, String>**](String.md)| Videos can be tagged with metadata tags in key:value pairs. You can search for videos with specific key value pairs using this parameter. | [optional] **description** | **String**| Retrieve video objects by `description`. | [optional] **liveStreamId** | **String**| Retrieve video objects that were recorded from a live stream by `liveStreamId`. | [optional] **sortBy** | **String**| Use this parameter to sort videos by the their created time, published time, updated time, or by title. | [optional] [enum: title, createdAt, publishedAt, updatedAt] @@ -812,6 +815,76 @@ Name | Type | Description | Notes **404** | Not Found | * X-RateLimit-Limit - The request limit per minute.
* X-RateLimit-Remaining - The number of available requests left for the current time window.
* X-RateLimit-Retry-After - The number of seconds left until the current rate limit window resets.
| **429** | Too Many Requests | * X-RateLimit-Limit - The request limit per minute.
* X-RateLimit-Remaining - The number of available requests left for the current time window.
* X-RateLimit-Retry-After - The number of seconds left until the current rate limit window resets.
| + +# **getDiscarded** +> Video getDiscarded(videoId) +> okhttp3.Call getDiscardedAsync(videoId, callback) +> ApiResponse