{"id":18498029,"url":"https://github.com/apivideo/api.video-csharp-client","last_synced_at":"2025-04-09T00:30:55.118Z","repository":{"id":40564584,"uuid":"348644714","full_name":"apivideo/api.video-csharp-client","owner":"apivideo","description":"The official C# client library for api.video ","archived":false,"fork":false,"pushed_at":"2025-01-27T13:57:11.000Z","size":35292,"stargazers_count":25,"open_issues_count":5,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T19:51:29.379Z","etag":null,"topics":["api","api-client","csharp","csharp-api","video","video-streaming"],"latest_commit_sha":null,"homepage":"https://api.video","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apivideo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-17T09:09:11.000Z","updated_at":"2025-02-25T09:23:20.000Z","dependencies_parsed_at":"2023-01-30T01:15:42.970Z","dependency_job_id":"d359dd04-03e9-4ab2-85ea-88dc5cf70318","html_url":"https://github.com/apivideo/api.video-csharp-client","commit_stats":{"total_commits":97,"total_committers":11,"mean_commits":8.818181818181818,"dds":"0.45360824742268047","last_synced_commit":"6f260cec18a2bb1ddc57d8204dcb5008a8bd8fbc"},"previous_names":["apivideo/csharp-api-client"],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fapi.video-csharp-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fapi.video-csharp-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fapi.video-csharp-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fapi.video-csharp-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apivideo","download_url":"https://codeload.github.com/apivideo/api.video-csharp-client/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247949716,"owners_count":21023374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-client","csharp","csharp-api","video","video-streaming"],"created_at":"2024-11-06T13:37:14.305Z","updated_at":"2025-04-09T00:30:50.110Z","avatar_url":"https://github.com/apivideo.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\u003cdocumentation_excluded\u003e--\u003e\n[![badge](https://img.shields.io/twitter/follow/api_video?style=social)](https://twitter.com/intent/follow?screen_name=api_video) \u0026nbsp; [![badge](https://img.shields.io/github/stars/apivideo/api.video-csharp-client?style=social)](https://github.com/apivideo/api.video-csharp-client) \u0026nbsp; [![badge](https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.api.video)](https://community.api.video)\n![](https://github.com/apivideo/.github/blob/main/assets/apivideo_banner.png)\n\u003ch1 align=\"center\"\u003eapi.video C# client\u003c/h1\u003e\n\n[api.video](https://api.video) is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand \u0026 low latency live streaming features in your app.\n\n## Table of contents\n\n- [Project description](#project-description)\n- [Getting started](#getting-started)\n  - [Requirements](#requirements)\n    - [Frameworks supported](#frameworks-supported)\n    - [Dependencies](#dependencies)\n  - [Installation](#installation)\n    - [Using Nuget](#using-nuget)\n    - [Generating the DLL yourself](#generating-the-dll-yourself)\n  - [Code sample](#code-sample)\n- [Documentation](#documentation)\n  - [API Endpoints](#api-endpoints)\n    - [AnalyticsApi](#analyticsapi)\n    - [CaptionsApi](#captionsapi)\n    - [ChaptersApi](#chaptersapi)\n    - [LiveStreamsApi](#livestreamsapi)\n    - [PlayerThemesApi](#playerthemesapi)\n    - [SummariesApi](#summariesapi)\n    - [TagsApi](#tagsapi)\n    - [UploadTokensApi](#uploadtokensapi)\n    - [VideosApi](#videosapi)\n    - [WatermarksApi](#watermarksapi)\n    - [WebhooksApi](#webhooksapi)\n  - [Models](#models)\n  - [Authorization](#authorization)\n    - [API key](#api-key)\n    - [Public endpoints](#public-endpoints)\n  - [Recommendation](#recommendation)\n- [Have you gotten use from this API client?](#have-you-gotten-use-from-this-api-client-)\n- [Contribution](#contribution)\n\u003c!--\u003c/documentation_excluded\u003e--\u003e\n\u003c!--\u003cdocumentation_only\u003e\n---\ntitle: C# API client\nmeta: \n  description: The official C# API client for api.video. [api.video](https://api.video/) is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand \u0026 low latency live streaming features in your app.\n---\n\n# api.video C# API client\n\n[api.video](https://api.video/) is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand \u0026 low latency live streaming features in your app.\n\u003c/documentation_only\u003e--\u003e\n\n## Project description\n\napi.video's C# API client streamlines the coding process. Chunking files is handled for you, as is pagination and refreshing your tokens.\n\n## Getting started\n\n### Requirements\n\n#### Frameworks supported\n\n\n- .NET 5.0 or later\n\n#### Dependencies\n\n\n- [RestSharp](https://www.nuget.org/packages/RestSharp) - 111.2.0\n- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.3\n- [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0\n\nWe recommend using [NuGet](https://docs.nuget.org/consume/installing-nuget) to obtain the packages:\n\n```\nInstall-Package RestSharp\nInstall-Package Newtonsoft.Json\nInstall-Package JsonSubTypes\n```\n\nNOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See [RestSharp#742](https://github.com/restsharp/RestSharp/issues/742)\n\n### Installation\n\n#### Using Nuget\n\n```\nInstall-Package ApiVideo\n```\n\n#### Generating the DLL yourself\n\nGenerate the DLL using your preferred tool\n\nThen include the DLL (under the `bin` folder) in the C# project, and use the namespaces:\n\n```csharp\nusing ApiVideo.Api;\nusing ApiVideo.Client;\nusing ApiVideo.Model;\n\n```\n\n### Code sample\n\n```csharp\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System;\nusing System.IO;\nusing ApiVideo.Api;\nusing ApiVideo.Client;\nusing ApiVideo.Model;\n\nnamespace Example\n{\n    public class Example\n    {\n        public static void Main()\n        {\n            var apiKey = \"YOUR_API_KEY\";\n\n            var apiVideoClient = new ApiVideoClient(apiKey);\n            // if you rather like to use the sandbox environment:\n            // var apiVideoClient = new ApiVideoClient(apiKey, ApiVideo.Client.Environment.SANDBOX);\n\n            var videoPayload = new VideoCreationPayload()\n            {\n                title = \"Example video title\",\n                description = \"Example video description\",\n                mp4support = true,\n                tags = new List\u003cstring\u003e()\n                {\n                    \"first\",\"video\",\"test\",\"c#\",\"client\"\n                }\n            };\n\n            var myVideoFile = File.OpenRead(\"my-video.mp4\");\n\n            try {\n                var newVideo = apiVideoClient.Videos().create(videoPayload);\n                var video = apiVideoClient.Videos().upload(newVideo.videoid,myVideoFile);\n                Console.WriteLine(video);\n            } catch (ApiException e) {\n                Console.WriteLine(e.ErrorCode);\n                Console.WriteLine(e.Message);\n                Console.WriteLine(e.StackTrace);\n            }\n        }\n    }\n}\n```\n\n## Documentation\n\n### API Endpoints\n\nAll URIs are relative to *https://ws.api.video*\n\n\n\n#### AnalyticsApi\n\n\n##### Retrieve an instance of AnalyticsApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nAnalyticsApi analytics = client.Analytics()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**getAggregatedMetrics**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsApi.md#getAggregatedMetrics) | **GET** `/data/metrics/{metric}/{aggregation}` | Retrieve aggregated metrics\n[**getMetricsBreakdown**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsApi.md#getMetricsBreakdown) | **GET** `/data/buckets/{metric}/{breakdown}` | Retrieve metrics in a breakdown of dimensions\n[**getMetricsOverTime**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsApi.md#getMetricsOverTime) | **GET** `/data/timeseries/{metric}` | Retrieve metrics over time\n\n\n#### CaptionsApi\n\n\n##### Retrieve an instance of CaptionsApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nCaptionsApi captions = client.Captions()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**upload**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/CaptionsApi.md#upload) | **POST** `/videos/{videoId}/captions/{language}` | Upload a caption\n[**get**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/CaptionsApi.md#get) | **GET** `/videos/{videoId}/captions/{language}` | Retrieve a caption\n[**update**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/CaptionsApi.md#update) | **PATCH** `/videos/{videoId}/captions/{language}` | Update a caption\n[**delete**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/CaptionsApi.md#delete) | **DELETE** `/videos/{videoId}/captions/{language}` | Delete a caption\n[**list**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/CaptionsApi.md#list) | **GET** `/videos/{videoId}/captions` | List video captions\n\n\n#### ChaptersApi\n\n\n##### Retrieve an instance of ChaptersApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nChaptersApi chapters = client.Chapters()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**upload**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/ChaptersApi.md#upload) | **POST** `/videos/{videoId}/chapters/{language}` | Upload a chapter\n[**get**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/ChaptersApi.md#get) | **GET** `/videos/{videoId}/chapters/{language}` | Retrieve a chapter\n[**delete**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/ChaptersApi.md#delete) | **DELETE** `/videos/{videoId}/chapters/{language}` | Delete a chapter\n[**list**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/ChaptersApi.md#list) | **GET** `/videos/{videoId}/chapters` | List video chapters\n\n\n#### LiveStreamsApi\n\n\n##### Retrieve an instance of LiveStreamsApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nLiveStreamsApi liveStreams = client.LiveStreams()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**create**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamsApi.md#create) | **POST** `/live-streams` | Create live stream\n[**get**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamsApi.md#get) | **GET** `/live-streams/{liveStreamId}` | Retrieve live stream\n[**update**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamsApi.md#update) | **PATCH** `/live-streams/{liveStreamId}` | Update a live stream\n[**delete**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamsApi.md#delete) | **DELETE** `/live-streams/{liveStreamId}` | Delete a live stream\n[**list**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamsApi.md#list) | **GET** `/live-streams` | List all live streams\n[**uploadThumbnail**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamsApi.md#uploadThumbnail) | **POST** `/live-streams/{liveStreamId}/thumbnail` | Upload a thumbnail\n[**deleteThumbnail**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamsApi.md#deleteThumbnail) | **DELETE** `/live-streams/{liveStreamId}/thumbnail` | Delete a thumbnail\n[**complete**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamsApi.md#complete) | **PUT** `/live-streams/{liveStreamId}/complete` | Complete a live stream\n\n\n#### PlayerThemesApi\n\n\n##### Retrieve an instance of PlayerThemesApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nPlayerThemesApi playerThemes = client.PlayerThemes()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**create**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemesApi.md#create) | **POST** `/players` | Create a player\n[**get**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemesApi.md#get) | **GET** `/players/{playerId}` | Retrieve a player\n[**update**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemesApi.md#update) | **PATCH** `/players/{playerId}` | Update a player\n[**delete**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemesApi.md#delete) | **DELETE** `/players/{playerId}` | Delete a player\n[**list**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemesApi.md#list) | **GET** `/players` | List all player themes\n[**uploadLogo**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemesApi.md#uploadLogo) | **POST** `/players/{playerId}/logo` | Upload a logo\n[**deleteLogo**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemesApi.md#deleteLogo) | **DELETE** `/players/{playerId}/logo` | Delete logo\n\n\n#### SummariesApi\n\n\n##### Retrieve an instance of SummariesApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nSummariesApi summaries = client.Summaries()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**create**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/SummariesApi.md#create) | **POST** `/summaries` | Generate video summary\n[**update**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/SummariesApi.md#update) | **PATCH** `/summaries/{summaryId}/source` | Update summary details\n[**delete**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/SummariesApi.md#delete) | **DELETE** `/summaries/{summaryId}` | Delete video summary\n[**list**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/SummariesApi.md#list) | **GET** `/summaries` | List summaries\n[**getSummarySource**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/SummariesApi.md#getSummarySource) | **GET** `/summaries/{summaryId}/source` | Get summary details\n\n\n#### TagsApi\n\n\n##### Retrieve an instance of TagsApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nTagsApi tags = client.Tags()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**list**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/TagsApi.md#list) | **GET** `/tags` | List all video tags\n\n\n#### UploadTokensApi\n\n\n##### Retrieve an instance of UploadTokensApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nUploadTokensApi uploadTokens = client.UploadTokens()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**createToken**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/UploadTokensApi.md#createToken) | **POST** `/upload-tokens` | Generate an upload token\n[**getToken**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/UploadTokensApi.md#getToken) | **GET** `/upload-tokens/{uploadToken}` | Retrieve upload token\n[**deleteToken**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/UploadTokensApi.md#deleteToken) | **DELETE** `/upload-tokens/{uploadToken}` | Delete an upload token\n[**list**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/UploadTokensApi.md#list) | **GET** `/upload-tokens` | List all active upload tokens\n\n\n#### VideosApi\n\n\n##### Retrieve an instance of VideosApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nVideosApi videos = client.Videos()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**create**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#create) | **POST** `/videos` | Create a video object\n[**upload**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#upload) | **POST** `/videos/{videoId}/source` | Upload a video\n[**uploadWithUploadToken**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#uploadWithUploadToken) | **POST** `/upload` | Upload with an delegated upload token\n[**get**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#get) | **GET** `/videos/{videoId}` | Retrieve a video object\n[**update**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#update) | **PATCH** `/videos/{videoId}` | Update a video object\n[**delete**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#delete) | **DELETE** `/videos/{videoId}` | Delete a video object\n[**list**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#list) | **GET** `/videos` | List all video objects\n[**uploadThumbnail**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#uploadThumbnail) | **POST** `/videos/{videoId}/thumbnail` | Upload a thumbnail\n[**pickThumbnail**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#pickThumbnail) | **PATCH** `/videos/{videoId}/thumbnail` | Set a thumbnail\n[**getDiscarded**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#getDiscarded) | **GET** `/discarded/videos/{videoId}` | Retrieve a discarded video object\n[**getStatus**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#getStatus) | **GET** `/videos/{videoId}/status` | Retrieve video status and details\n[**listDiscarded**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#listDiscarded) | **GET** `/discarded/videos` | List all discarded video objects\n[**updateDiscarded**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosApi.md#updateDiscarded) | **PATCH** `/discarded/videos/{videoId}` | Update a discarded video object\n\n\n#### WatermarksApi\n\n\n##### Retrieve an instance of WatermarksApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nWatermarksApi watermarks = client.Watermarks()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**upload**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/WatermarksApi.md#upload) | **POST** `/watermarks` | Upload a watermark\n[**delete**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/WatermarksApi.md#delete) | **DELETE** `/watermarks/{watermarkId}` | Delete a watermark\n[**list**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/WatermarksApi.md#list) | **GET** `/watermarks` | List all watermarks\n\n\n#### WebhooksApi\n\n\n##### Retrieve an instance of WebhooksApi:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\nWebhooksApi webhooks = client.Webhooks()\n```\n\n##### Endpoints\n\nMethod | HTTP request | Description\n------------- | ------------- | -------------\n[**create**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/WebhooksApi.md#create) | **POST** `/webhooks` | Create Webhook\n[**get**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/WebhooksApi.md#get) | **GET** `/webhooks/{webhookId}` | Retrieve Webhook details\n[**delete**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/WebhooksApi.md#delete) | **DELETE** `/webhooks/{webhookId}` | Delete a Webhook\n[**list**](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/WebhooksApi.md#list) | **GET** `/webhooks` | List all webhooks\n\n\n\n### Models\n\n - [AccessToken](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AccessToken.md)\n - [AdditionalBadRequestErrors](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AdditionalBadRequestErrors.md)\n - [AnalyticsAggregatedMetricsResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsAggregatedMetricsResponse.md)\n - [AnalyticsAggregatedMetricsResponseContext](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsAggregatedMetricsResponseContext.md)\n - [AnalyticsAggregatedMetricsResponseContextTimeframe](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsAggregatedMetricsResponseContextTimeframe.md)\n - [AnalyticsData](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsData.md)\n - [AnalyticsMetricsBreakdownResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsMetricsBreakdownResponse.md)\n - [AnalyticsMetricsBreakdownResponseContext](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsMetricsBreakdownResponseContext.md)\n - [AnalyticsMetricsBreakdownResponseData](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsMetricsBreakdownResponseData.md)\n - [AnalyticsMetricsOverTimeResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsMetricsOverTimeResponse.md)\n - [AnalyticsMetricsOverTimeResponseContext](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsMetricsOverTimeResponseContext.md)\n - [AnalyticsMetricsOverTimeResponseData](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsMetricsOverTimeResponseData.md)\n - [AnalyticsPlays400Error](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsPlays400Error.md)\n - [AnalyticsPlaysResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AnalyticsPlaysResponse.md)\n - [AuthenticatePayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/AuthenticatePayload.md)\n - [BadRequest](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/BadRequest.md)\n - [BytesRange](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/BytesRange.md)\n - [Caption](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Caption.md)\n - [CaptionsListResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/CaptionsListResponse.md)\n - [CaptionsUpdatePayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/CaptionsUpdatePayload.md)\n - [Chapter](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Chapter.md)\n - [ChaptersListResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/ChaptersListResponse.md)\n - [ConflictError](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/ConflictError.md)\n - [DiscardedVideoUpdatePayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/DiscardedVideoUpdatePayload.md)\n - [FilterBy](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/FilterBy.md)\n - [FilterBy1](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/FilterBy1.md)\n - [FilterBy2](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/FilterBy2.md)\n - [Link](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Link.md)\n - [ListTagsResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/ListTagsResponse.md)\n - [ListTagsResponseData](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/ListTagsResponseData.md)\n - [LiveStream](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStream.md)\n - [LiveStreamAssets](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamAssets.md)\n - [LiveStreamCreationPayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamCreationPayload.md)\n - [LiveStreamListResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamListResponse.md)\n - [LiveStreamUpdatePayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/LiveStreamUpdatePayload.md)\n - [Metadata](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Metadata.md)\n - [Model403ErrorSchema](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Model403ErrorSchema.md)\n - [NotFound](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/NotFound.md)\n - [Pagination](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Pagination.md)\n - [PaginationLink](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PaginationLink.md)\n - [PlayerSessionEvent](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerSessionEvent.md)\n - [PlayerTheme](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerTheme.md)\n - [PlayerThemeAssets](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemeAssets.md)\n - [PlayerThemeCreationPayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemeCreationPayload.md)\n - [PlayerThemeUpdatePayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemeUpdatePayload.md)\n - [PlayerThemesListResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/PlayerThemesListResponse.md)\n - [Quality](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Quality.md)\n - [RefreshTokenPayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/RefreshTokenPayload.md)\n - [RestreamsRequestObject](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/RestreamsRequestObject.md)\n - [RestreamsResponseObject](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/RestreamsResponseObject.md)\n - [SummariesListResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/SummariesListResponse.md)\n - [Summary](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Summary.md)\n - [SummaryCreationPayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/SummaryCreationPayload.md)\n - [SummarySource](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/SummarySource.md)\n - [SummaryUpdatePayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/SummaryUpdatePayload.md)\n - [TokenCreationPayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/TokenCreationPayload.md)\n - [TokenListResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/TokenListResponse.md)\n - [TooManyRequests](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/TooManyRequests.md)\n - [UnrecognizedRequestUrl](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/UnrecognizedRequestUrl.md)\n - [UploadToken](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/UploadToken.md)\n - [Video](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Video.md)\n - [VideoAssets](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoAssets.md)\n - [VideoClip](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoClip.md)\n - [VideoCreationPayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoCreationPayload.md)\n - [VideoSource](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoSource.md)\n - [VideoSourceLiveStream](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoSourceLiveStream.md)\n - [VideoSourceLiveStreamLink](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoSourceLiveStreamLink.md)\n - [VideoStatus](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoStatus.md)\n - [VideoStatusEncoding](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoStatusEncoding.md)\n - [VideoStatusEncodingMetadata](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoStatusEncodingMetadata.md)\n - [VideoStatusIngest](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoStatusIngest.md)\n - [VideoStatusIngestReceivedParts](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoStatusIngestReceivedParts.md)\n - [VideoThumbnailPickPayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoThumbnailPickPayload.md)\n - [VideoUpdatePayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoUpdatePayload.md)\n - [VideoWatermark](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideoWatermark.md)\n - [VideosListResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/VideosListResponse.md)\n - [Watermark](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Watermark.md)\n - [WatermarksListResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/WatermarksListResponse.md)\n - [Webhook](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/Webhook.md)\n - [WebhooksCreationPayload](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/WebhooksCreationPayload.md)\n - [WebhooksListResponse](https://github.com/apivideo/api.video-csharp-client/blob/main/docs/WebhooksListResponse.md)\n\n\n### Authorization\n\n#### API key\n\nMost endpoints required to be authenticated using the API key mechanism described in our [documentation](https://docs.api.video/reference#authentication).\nThe access token generation mechanism is automatically handled by the client. All you have to do is provide an API key when instantiating the ApiVideoClient:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient(\"YOUR_API_KEY\");\n```\n\n#### Public endpoints\n\nSome endpoints don't require authentication. These one can be called with an ApiVideoClient instantiated without API key:\n```java\nApiVideoClient apiVideoClient = new ApiVideoClient();\n```\n\n### Recommendation\n\nIt's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues.\n\n### Have you gotten use from this API client?\n\nPlease take a moment to leave a star on the client ⭐\n\nThis helps other users to find the clients and also helps us understand which clients are most popular. Thank you!\n\n\n## Contribution\n\nSince this API client is generated from an OpenAPI description, we cannot accept pull requests made directly to the repository. If you want to contribute, you can open a pull request on the repository of our [client generator](https://github.com/apivideo/api-client-generator). Otherwise, you can also simply open an issue detailing your need on this repository.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapivideo%2Fapi.video-csharp-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapivideo%2Fapi.video-csharp-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapivideo%2Fapi.video-csharp-client/lists"}