The official iOS client library for api.video

Overview

badge   badge   badge

api.video iOS client

api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.

Table of contents

Project description

api.video's iOS client streamlines the coding process. Chunking files is handled for you, as is pagination and refreshing your tokens.

Getting started

Installation

Carthage

Specify it in your Cartfile:

github "apivideo/api.video-ios-client" ~> 0.1.2

Run carthage update

CocoaPods

Add pod 'ApiVideoClient', '0.1.2' in your Podfile

Run pod install

Code sample

Please follow the installation instruction and execute the following Swift code:

import ApiVideoClient

    ApiVideoClient.apiKey = "YOUR_API_TOKEN"
    // if you rather like to use the sandbox environment:
    // ApiVideoClient.basePath = Environment.sandbox.rawValue

    let url = URL(string: "My video.mov")

    VideosAPI.create(videoCreationPayload: VideoCreationPayload(title: "my video")) { video, error in
    if let video = video {
        VideosAPI.upload(videoId: video.videoId,
                         file: url) { video, error in
            if let video = video {
                // Manage upload success here
            }
            if let error = error {
                // Manage upload error here
            }
        }
    }
    if let error = error {
       // Manage create error here
    }
}

Documentation

API Endpoints

All URIs are relative to https://ws.api.video

CaptionsAPI

Retrieve an instance of CaptionsAPI:

CaptionsAPI

Endpoints

Method HTTP request Description
delete DELETE /videos/{videoId}/captions/{language} Delete a caption
list GET /videos/{videoId}/captions List video captions
get GET /videos/{videoId}/captions/{language} Show a caption
update PATCH /videos/{videoId}/captions/{language} Update caption
upload POST /videos/{videoId}/captions/{language} Upload a caption

ChaptersAPI

Retrieve an instance of ChaptersAPI:

ChaptersAPI

Endpoints

Method HTTP request Description
delete DELETE /videos/{videoId}/chapters/{language} Delete a chapter
list GET /videos/{videoId}/chapters List video chapters
get GET /videos/{videoId}/chapters/{language} Show a chapter
upload POST /videos/{videoId}/chapters/{language} Upload a chapter

LiveStreamsAPI

Retrieve an instance of LiveStreamsAPI:

LiveStreamsAPI

Endpoints

Method HTTP request Description
delete DELETE /live-streams/{liveStreamId} Delete a live stream
deleteThumbnail DELETE /live-streams/{liveStreamId}/thumbnail Delete a thumbnail
list GET /live-streams List all live streams
get GET /live-streams/{liveStreamId} Show live stream
update PATCH /live-streams/{liveStreamId} Update a live stream
create POST /live-streams Create live stream
uploadThumbnail POST /live-streams/{liveStreamId}/thumbnail Upload a thumbnail

PlayerThemesAPI

Retrieve an instance of PlayerThemesAPI:

PlayerThemesAPI

Endpoints

Method HTTP request Description
delete DELETE /players/{playerId} Delete a player
deleteLogo DELETE /players/{playerId}/logo Delete logo
list GET /players List all player themes
get GET /players/{playerId} Show a player
update PATCH /players/{playerId} Update a player
create POST /players Create a player
uploadLogo POST /players/{playerId}/logo Upload a logo

RawStatisticsAPI

Retrieve an instance of RawStatisticsAPI:

RawStatisticsAPI

Endpoints

Method HTTP request Description
listLiveStreamSessions GET /analytics/live-streams/{liveStreamId} List live stream player sessions
listSessionEvents GET /analytics/sessions/{sessionId}/events List player session events
listVideoSessions GET /analytics/videos/{videoId} List video player sessions

UploadTokensAPI

Retrieve an instance of UploadTokensAPI:

UploadTokensAPI

Endpoints

Method HTTP request Description
deleteToken DELETE /upload-tokens/{uploadToken} Delete an upload token
list GET /upload-tokens List all active upload tokens.
getToken GET /upload-tokens/{uploadToken} Show upload token
createToken POST /upload-tokens Generate an upload token

VideosAPI

Retrieve an instance of VideosAPI:

VideosAPI

Endpoints

Method HTTP request Description
delete DELETE /videos/{videoId} Delete a video
get GET /videos/{videoId} Show a video
getStatus GET /videos/{videoId}/status Show video status
list GET /videos List all videos
update PATCH /videos/{videoId} Update a video
pickThumbnail PATCH /videos/{videoId}/thumbnail Pick a thumbnail
uploadWithUploadToken POST /upload Upload with an upload token
create POST /videos Create a video
upload POST /videos/{videoId}/source Upload a video
uploadThumbnail POST /videos/{videoId}/thumbnail Upload a thumbnail

WebhooksAPI

Retrieve an instance of WebhooksAPI:

WebhooksAPI

Endpoints

Method HTTP request Description
delete DELETE /webhooks/{webhookId} Delete a Webhook
get GET /webhooks/{webhookId} Show Webhook details
list GET /webhooks List all webhooks
create POST /webhooks Create Webhook

Models

Documentation for Authorization

API token

Most endpoints required to be authenticated using the API token mechanism described in our documentation. The access token generation mechanism is automatically handled by the client. All you have to do is provide an API token:

ApiVideoClient.apiKey = YOUR_API_TOKEN

Public endpoints

Some endpoints don't require authentication. These one can be called without setting ApiVideoClient.apiKey:

Have you gotten use from this API client?

Please take a moment to leave a star on the client

This helps other users to find the clients and also helps us understand which clients are most popular. Thank you!

Contribution

Since 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. Otherwise, you can also simply open an issue detailing your need on this repository.

Comments
Releases(v1.1.1)
Owner
api.video
Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.
api.video
Official ProtonVPN iOS and macOS app

ProtonVPN for iOS and macOS Copyright (c) 2021 Proton Technologies AG Dependencies This app uses CocoaPods for most dependencies. Everything is inside

ProtonVPN 121 Dec 20, 2022
An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers

WANetworkRouting Developed and Maintained by ipodishima Founder & CTO at Wasappli Inc. Sponsored by Wisembly A routing library to fetch objects from a

null 10 Nov 20, 2022
An unofficial supported Swift client library for accessing News API.

An unofficial supported Swift client library for accessing News API.

Fumiya Yamanaka 9 Oct 1, 2022
Twitter-Client - A twitter client that allow users to view tweets on their iphone

Project 3 - Twitter Client Name of your app is a basic twitter app to read your

null 0 Feb 7, 2022
Postie - The Next-Level HTTP API Client using Combine

Postie - The Next-Level HTTP API Client using Combine Postie is a pure Swift library for building URLRequests using property wrappers.

kula 28 Jul 23, 2022
A web API client in Swift built using Async/Await

Get A modern web API client in Swift built using Async/Await and Actors. let cli

Alexander Grebenyuk 745 Jan 3, 2023
TheraForge's Client REST API framework to connect to TheraForge's secure CloudBox Backend-as-a-Service (BaaS)

OTFCloudClientAPI TheraForge's Client REST API Framework to Connect to TheraForg

TheraForge 0 Dec 23, 2021
TMDB(The Movie Database) API client application.

TMDB Client App Instructions Instructions for project setup. 1. Clone the project. 2. Go to "TMDB Client App" folder location on terminal and enter "p

Muhammed Karakul 0 Dec 26, 2021
The HTTP library used by the Spotify iOS client

Authentication and back-off logic is a pain, let's do it once and forget about it! This is a library that allows you to centralise this logic and forg

Spotify 625 Nov 20, 2022
Conforming WebSocket (RFC 6455) client library for iOS and Mac OSX

SwiftWebSocket Conforming WebSocket (RFC 6455) client library for iOS and Mac OS

null 0 Dec 24, 2021
APIProvider - API Provider Package for easier API management inspired by abstraction

APIProvider Using APIProvider you can easily communicate with all API endpoints

null 1 Apr 21, 2022
A conforming Objective-C WebSocket client library.

SocketRocket A conforming WebSocket (RFC 6455) client library for iOS, macOS and tvOS. Test results for SocketRocket here. You can compare to what mod

Facebook Incubator 9.4k Dec 27, 2022
📡 RealHTTP is a lightweight yet powerful client-side HTTP library.

RealHTTP RealHTTP is a lightweight yet powerful client-side HTTP library. Our goal is make an easy to use and effortless http client for Swift. Featur

Immobiliare Labs 233 Jan 7, 2023
An awesome Swift HTTP library to rapidly create communication layers with API endpoints

An awesome Swift HTTP library to rapidly create communication layers with API endpoints

Binary Birds 69 Nov 28, 2022
Socket.io iOS and OSX Client compatible with v1.0 and later

SocketIO-Kit ⚠️ This project is no longer maintained. Please use the official framework Socket.IO-Client-Swift. SocketIO-Kit is a Socket.io iOS client

Ricardo Pereira 140 Mar 9, 2022
📱  A strongly-typed, caching GraphQL client for iOS, written in Swift.

Apollo iOS is a strongly-typed, caching GraphQL client, written in Swift. It allows you to execute queries and mutations against a GraphQL server, and

Apollo GraphQL 3.6k Jan 7, 2023
Frp Client Framework for iOS

Frp Client Framework for iOS README | 中文文档 base on https://github.com/fatedier/frp v0.37.1(the lastest at 2021.10) ios framework,it can run on your ip

zhouhao 5 Dec 13, 2022
Minecraft server RCON client for iOS/macOS

iRCON Minecraft server RCON client for iOS/macOS. Features Full remote console window Player list with ability to easily op, kick, ban, etc. Quickly s

JackMacWindows 7 Dec 26, 2022
SSH and SFTP client for iOS

Parrot.Flo SSH and SFTP client for iOS https://parrot-flo.site BUG ? Please Submit new issue Contact me Hey ? do you want ask about all my tools ? you

0x 4 Feb 16, 2022