{ "openapi": "3.0.1", "info": { "title": "Platform", "version": "1.0.0", "description": "" }, "servers": [ { "url": "https://api.zype.com/" } ], "security": [ { "api_key": [] } ], "components": { "securitySchemes": { "api_key": { "type": "apiKey", "name": "api_key", "in": "query" }, "bearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "OAuth access token", "description": "OAuth access token of the consumer" } } }, "paths": { "/videos": { "get": { "tags": [ "Videos" ], "summary": "List Videos", "description": "Retrieve a list of videos from your library", "operationId": "listVideos", "parameters": [ { "name": "id", "in": "query", "description": "Filter records by ID\nExample: `id=5992f328ce593000ef000008`", "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "q", "in": "query", "description": "Filters by keyword, title, source id, id, zobject title", "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "active", "in": "query", "required": false, "description": "Filter by active, inactive, or all. If excluded, query will default to 'true'", "schema": { "type": "string", "enum": [ "true", "false", "all" ], "nullable": true } }, { "name": "friendly_title", "in": "query", "description": "Filter records by friendly title", "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "source_id", "in": "query", "description": "Filter records by source identifier", "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "on_air", "in": "query", "description": "Filter records that are either on or off air", "style": "form", "explode": true, "schema": { "type": "boolean" } }, { "name": "live_event", "in": "query", "description": "Filter records that are live events", "style": "form", "explode": true, "schema": { "type": "boolean" } }, { "name": "video_source_type", "in": "query", "description": "Filter records by video source type. Multiple types can be provided by passing a comma-separated list. Examples: `zype`, `hulu`, `youtube`, `crunchyroll`", "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "crunchyroll_id", "in": "query", "description": "Filter records by Crunchyroll ID", "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "vimeo_id", "in": "query", "description": "Filter records by Vimeo ID", "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "youtube_id", "in": "query", "description": "Filter records by YouTube ID", "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "hulu_id", "in": "query", "description": "Filter records by Hulu ID", "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "mature_content", "in": "query", "description": "Filter records flagged as mature", "style": "form", "explode": true, "schema": { "type": "boolean" } }, { "name": "parental_guidelines_rating", "in": "query", "description": "Parental guidance rating of the video", "style": "form", "explode": true, "schema": { "title": "ParentalGuidelinesRatingProperties", "enum": [ "tv-y", "tv-y7", "tv-y7_fv", "tv-g", "tv-pg", "tv-14", "tv-ma", "g", "pg", "pg-13", "r", "nc-17", "10", "12", "13", "14", "16", "18", "l", "a", "aa", "b", "b15", "c", "d", "not_rated", "tv-15-17", "tv-ao", "atp" ], "type": "string", "nullable": true, "description": "Parental guidance rating of the video" } }, { "name": "dpt", "in": "query", "description": "Filter records by Dynamic Player Technology conditions (Geo-location and device restrictions). If set to `true` this will return videos that are playable from your location/device.", "style": "form", "explode": true, "schema": { "type": "boolean" } }, { "name": "created_at", "in": "query", "description": "Filter records by created date using times in ISO8601 format (Example: `2017-01-01T00:00:00-00:00`) or Unix timestamps (Example: `1483228800`) **Note**: Range filters can be applied by adding a suffix: \u2018.gt\u2019, \u2018.gte\u2019, \u2018.lt\u2019, \u2018lte\u2019 (Example: `created_at.gte`)", "style": "form", "explode": true, "schema": { "type": "string" } }, { "name": "published_at", "in": "query", "description": "Filter records by published date using times in ISO8601 format Example: `2017-01-01T00:00:00-00:00` or Unix timestamps `1483228800`.\nNote: Range filters can be applied by adding a suffix: `.gt`, `.gte`, `.lt`, `.lte` Example: `published_at.gte=2017-01-01T00:00:00-00:00`", "style": "form", "explode": true, "schema": { "type": "string", "format": "date" } }, { "name": "category", "in": "query", "required": false, "style": "deepObject", "explode": true, "schema": { "type": "object", "additionalProperties": { "type": "string" } }, "description": "Filter records that match all category values listed.\nExample: `category[genre][]=comedy&category[language][]=english` Matches all playlists having ALL of the category name/value pairs listed." }, { "name": "category_or", "in": "query", "required": false, "style": "deepObject", "explode": true, "schema": { "type": "object", "additionalProperties": { "type": "string" } }, "description": "Filter records that match any category values listed.\nExample: `category_or[genre][]=comedy&category_or[language][]=english` Matches all playlists that have ANY of the category name/value pairs listed." }, { "name": "category_and", "in": "query", "required": false, "style": "deepObject", "explode": true, "schema": { "type": "object", "additionalProperties": { "type": "string" } }, "description": "Filter records that match all category values listed.\nExample: `category[genre][]=comedy&category[language][]=english` Matches all playlists having ALL of the category name/value pairs listed." }, { "name": "zobject_id", "in": "query", "description": "Filter records that match any of the Zobject IDs listed", "style": "form", "explode": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "zobject_id_or", "in": "query", "description": "Filter records that match any of the Zobject IDs listed", "style": "form", "explode": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "zobject_id_and", "in": "query", "description": "Filter records that match all of the Zobject IDs listed", "style": "form", "explode": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "zobject_details", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/5" }, { "name": "zobject_types", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/6" }, { "name": "zobject_fields", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/7" }, { "name": "include_related_videos", "in": "query", "description": "When it's set to true, it will include the related videos in the API response", "style": "form", "explode": true, "schema": { "type": "boolean" } }, { "name": "expand_related_videos", "in": "query", "description": "When it's set to true along with the include_related_videos flag, the API response will also include the data of linked videos appart from the target one.", "style": "form", "explode": true, "schema": { "type": "boolean" } }, { "name": "response_fields", "in": "query", "description": "Filter returned fields. Example: response_fields=id,title,description", "required": false, "schema": { "type": "string" } }, { "name": "order", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "asc", "desc" ] }, "description": "Filter by ascending or descending order" }, { "name": "sort", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/3" }, { "name": "page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/1" }, { "name": "per_page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/2" } ], "responses": { "200": { "description": "Response will contain an array of videos", "content": { "application/json": { "schema": { "title": "VideosResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1videos/post/responses/201/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "title": "Pagination", "type": "object", "properties": { "current": { "type": "number", "format": "int32", "description": "The current page of results" }, "previous": { "type": "number", "format": "int32", "description": "the previous page of results", "nullable": true }, "next": { "type": "number", "format": "int32", "description": "the next page of results", "nullable": true }, "per_page": { "type": "number", "format": "int32", "description": "the number of results returned per page" }, "pages": { "type": "number", "format": "int32", "description": "the total number of pages available, using per_page" } }, "example": { "current": 1, "previous": null, "next": 2, "per_page": 10, "pages": 20 } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "title": "Unprocessable Entity", "type": "object", "properties": { "message": { "type": "string" } } } } } } }, "deprecated": false }, "post": { "tags": [ "Videos" ], "summary": "Create Video", "description": "Add a video to your library", "operationId": "createVideo", "parameters": [], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "VideoRequest", "type": "object", "required": [ "video" ], "properties": { "video": { "title": "VideoProperties", "required": [ "title" ], "type": "object", "properties": { "title": { "type": "string" }, "active": { "type": "boolean", "description": "Indicate if the video is ready to be watched" }, "country": { "type": "string", "description": "The country the video was created in" }, "description": { "type": "string", "description": "Full length description of the video" }, "short_description": { "type": "string", "description": "Brief description of the video" }, "enable_at": { "type": "string", "description": "Timestamp of when your video will become active" }, "disable_at": { "type": "string", "description": "Timestamp of when your video will become inactive" }, "live_event": { "type": "boolean", "description": "Indicates if the video is a live event" }, "on_air": { "type": "boolean", "description": "Indicates if the video is on air" }, "on_air_at": { "type": "string", "description": "Timestamp of when your video will go on air" }, "off_air_at": { "type": "string", "description": "Timestamp of when your video will go off air" }, "episode": { "type": "number", "description": "Episode number" }, "season": { "type": "number", "description": "Season number" }, "series_id": { "type": "string", "description": "A string indicating the unique Series ID of the video series." }, "source_id": { "type": "string", "description": "Optional identifier to relate this video to other platforms." }, "featured": { "type": "boolean" }, "friendly_title": { "type": "string", "description": "The URL friendly title of the video" }, "keywords": { "type": "array", "items": { "type": "string" }, "description": "Keywords for the video" }, "language": { "type": "string", "description": "The language of the video's audio, as ISO 2 Letter Language Codes for example 'en' for english or 'es' for spanish" }, "mature_content": { "type": "boolean", "description": "Indicates if the video requires the viewer to be 18+ to view" }, "parental_guidelines_rating": { "$ref": "#/paths/~1videos/get/parameters/13/schema" }, "preview_ids": { "type": "array", "items": { "type": "string" }, "description": "Id's of the video to be the preview for your video. Please note that at this time a preview can only be a Zype type video and cannot be a paid video." }, "purchase_required": { "type": "boolean", "description": "Whether or not the video must be purchased" }, "purchase_price": { "type": "number", "description": "Amount to purchase the video" }, "marketplace_ids": { "title": "MarketplaceIdsProperties", "type": "object", "properties": { "itunes": { "type": "string", "description": "Apple iTunes" }, "googleplay": { "type": "string", "description": "Google Play Store" }, "roku": { "type": "string", "description": "Roku Channel Store" }, "amazon_fire_tv": { "type": "string", "description": "Amazon Fire Marketplace" }, "apple_tv": { "type": "string", "description": "Apple iTunes for AppleTV-only not sharing assets with iOS." }, "samsung": { "type": "string", "description": "Samsung Marketplace" }, "samsung_tizen": { "type": "string", "description": "Samsung Tizen Marketplace" } }, "description": "Override default Marketplace IDs for this video. Marketplace IDs map Zype purchaseable products to 3rd party marketplaces such as Apple iTunes and Google Play Store." }, "rental_duration": { "type": "number", "description": "Number of days a video can be rented" }, "rental_price": { "type": "number", "description": "Price to rent the video" }, "rental_required": { "type": "boolean", "description": "Whether or not the video must be rented" }, "pass_required": { "type": "boolean" }, "published_at": { "type": "string" }, "subscription_required": { "type": "boolean" }, "registration_required": { "type": "boolean" }, "discovery_url": { "type": "string", "description": "URL where your video can be discovered" }, "custom_thumbnail_url": { "type": "string", "description": "URL where your custom thumbnail is stored. Thumbnail will be processed asynchronously, and available in API response upon completion." }, "subscription_ads_enabled": { "type": "boolean", "description": "Whether or not ads are shown to consumers with an active subscription" }, "genre": { "type": "string" }, "redemption_code_required": { "type": "boolean" }, "playout_ad": { "type": "boolean", "description": "Setting a video as a playout ad allows it to be used as an ad slate for playout channels." }, "playout_bumper": { "type": "boolean", "description": "Setting a video as a playout bumper allows it to be used as a bumper for playout scheduler channels." }, "playout_slate": { "type": "boolean", "description": "Setting a video as a playout slate allows it to be used as a slate for playout scheduler channels." }, "custom_attributes": { "type": "object", "description": "Custom meta Name and Value keywords to be used for key value pairing with external services like ad servers." }, "transcriptions_enabled": { "type": "boolean", "description": "If enabled, an AI transcription with SRT and VTT subtitles will be created" }, "translations_enabled": { "type": "boolean", "description": "If enabled, the video will be translated using the site's translation languages" }, "zobject_id": { "type": "array", "items": { "type": "string", "description": "IDs of Zobjects" } }, "categories_attributes": { "type": "array", "items": { "type": "object", "title": "Category Attributes", "properties": { "id": { "type": "string", "description": "ID of the category playlist to update, **only required when updating values**.", "example": "5b0c20ec3830f80034000020" }, "category_id": { "type": "string", "description": "ID of the main Category you wish to add to the video", "example": "5955293d805cd90024000000" }, "value": { "type": "array", "items": { "type": "string" }, "description": "List of values you wish to add to the category. Values must exist in the main Category first. Send an empty array if you wish to remove all values from the category." } } }, "description": "" }, "content_rule_profile_id": { "type": "string", "description": "ID of the content rule profile assigned to the video." }, "segments": { "type": "array", "items": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1segments/post/requestBody/content/application~1json/schema/properties/segment" }, "description": "" }, "images_attributes": { "type": "array", "items": { "type": "object", "title": "Image Attribute", "properties": { "id": { "type": "string", "description": "Used to update an existing image. When it's not specified, a new image will be created." }, "title": { "type": "string" }, "caption": { "type": "string" }, "layout": { "type": "string" }, "height": { "type": "number" }, "width": { "type": "number" }, "aspect_ratio": { "type": "number" }, "_destroy": { "type": "boolean", "description": "True if you want to remove the image" } } }, "description": "" }, "related_videos_attributes": { "description": "List of videos that are linked(aka related) to the target video", "type": "array", "items": { "type": "object", "title": "Related Video", "properties": { "id": { "type": "string", "description": "Used to update an existing related video relation. When it's not specified, a new related video will be created." }, "linked_video_id": { "type": "string", "description": "The id of the video that is being related to the target one." }, "source": { "type": "string", "description": "Represents the Source of the related video" }, "source_id": { "type": "string", "description": "Represents the Source ID of the related video" }, "group": { "type": "string", "description": "Represents the Group of the related video" }, "_destroy": { "type": "boolean", "description": "True if you want to remove the related video" } } } } } } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "title": "VideoResponse", "type": "object", "properties": { "response": { "title": "Video", "type": "object", "properties": { "_id": { "type": "string" }, "created_at": { "type": "string" }, "deleted_at": { "type": "string" }, "updated_at": { "type": "string" }, "on_air": { "type": "boolean" }, "purchase_price": { "type": "number", "description": "Amount to purchase the video" }, "purchase_required": { "type": "boolean", "description": "Indicates if the video must be purchased before viewing" }, "rating": { "type": "number", "description": "Overall rating of the video" }, "related_playlist_ids": { "type": "array", "items": { "type": "number" }, "description": "IDs of related playlists" }, "rental_duration": { "type": "number", "description": "Number of days video can be rented" }, "rental_price": { "type": "number", "description": "Price to rent video" }, "rental_required": { "type": "boolean", "description": "Indicates if video must be rented before viewing" }, "request_count": { "type": "number", "description": "Number of times a video has been requested" }, "site_id": { "type": "string" }, "status": { "type": "string" }, "crunchyroll_id": { "type": "string", "description": "ID of Crunchyroll source" }, "hulu_id": { "type": "string", "description": "ID of Hulu source" }, "mrss_id": { "type": "string", "description": "ID of MRSS source" }, "kaltura_id": { "type": "string", "description": "ID of Kaltura source" }, "vimeo_id": { "type": "string", "description": "ID of the Vimeo source" }, "youtube_id": { "type": "string", "description": "ID of the YouTube source" }, "thumbnails": { "type": "array", "items": { "type": "object" }, "description": "Thumbnails attached to the video" }, "transcoded": { "type": "boolean", "description": "Indicates if video has been transcoded" }, "video_zobjects": { "type": "array", "items": { "type": "object" }, "description": "" }, "active": { "type": "boolean" }, "discovery_url": { "type": "string" }, "subscription_ads_enabled": { "type": "boolean" }, "title": { "type": "string" }, "zobject_ids": { "type": "array", "items": { "type": "string" }, "description": "" }, "country": { "type": "string" }, "description": { "type": "string" }, "short_description": { "type": "string" }, "disable_at": { "type": "string" }, "enable_at": { "type": "string" }, "episode": { "type": "number" }, "season": { "type": "number" }, "featured": { "type": "boolean" }, "friendly_title": { "type": "string" }, "keywords": { "type": "array", "items": { "type": "string" }, "description": "" }, "live_event": { "type": "boolean", "description": "Indicates if the video is a live event" }, "marketplace_ids": { "type": "object", "description": "Override default Marketplace IDs for this video. Marketplace IDs map Zype purchaseable products to 3rd party marketplaces such as Apple iTunes and Google Play Store." }, "preview_ids": { "type": "array", "items": { "type": "string" }, "description": "An array of Zype hosted video ids that are previews for the current video." }, "mature_content": { "type": "boolean" }, "parental_guidelines_rating": { "type": "string", "description": "Parental guidance rating of the video" }, "pass_required": { "type": "boolean" }, "published_at": { "type": "string" }, "subscription_required": { "type": "boolean" }, "registration_required": { "type": "boolean", "description": "Requires a consumer to be registered and authenticated to a valid account in order to view the video." }, "custom_attributes": { "type": "object" }, "categories_attributes": { "type": "array", "items": { "type": "object" }, "description": "" }, "content_rule_profile_id": { "type": "string", "description": "ID of the content rule profile assigned to the video." }, "segments": { "type": "array", "items": { "type": "object" }, "description": "" }, "images_attributes": { "type": "array", "items": { "type": "object" }, "description": "" }, "manifest": { "type": "string", "description": "URL to HLS manifest for video. Only included in response if params[:manifest] = true" }, "video_source_types": { "type": "array", "items": { "type": "object" }, "description": "The types of video sources that are associated with the video." } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}": { "get": { "tags": [ "Videos" ], "summary": "View Video", "description": "Retrieve a single video from your library", "operationId": "getVideo", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "zobject_details", "in": "query", "description": "Setting to `true` will display the full Zobject details, including any custom attributes, for each video record returned in your query.", "style": "form", "explode": true, "schema": { "type": "boolean" } }, { "name": "manifest", "in": "query", "description": "Setting to `true` will result in inclusion of the video's HLS manifest URL in the response.", "style": "form", "explode": true, "schema": { "type": "boolean" } }, { "name": "include_related_videos", "$ref": "#/paths/~1videos/get/parameters/26" }, { "name": "expand_related_videos", "$ref": "#/paths/~1videos/get/parameters/27" } ], "responses": { "200": { "description": "Return video", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false }, "put": { "tags": [ "Videos" ], "summary": "Update Video", "description": "Update a single video from your library", "operationId": "updateVideo", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/post/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "Update video", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false }, "delete": { "tags": [ "Videos" ], "summary": "Delete Video", "description": "Delete Video", "operationId": "deleteVideo", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "204": { "description": "Video deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/ai_metadata/suggestions": { "post": { "tags": [ "Videos" ], "summary": "Bulk Create AI Metadata", "description": "Generate AI metadata for multiple videos in bulk", "operationId": "bulkCreateAIMetadata", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "video_ids" ], "properties": { "video_ids": { "type": "array", "description": "List of video IDs to generate AI metadata for", "items": { "type": "string" }, "example": [ "507f1f77bcf86cd799439011", "60d5ec49ebdc3c1e9f1b5aaa" ] }, "attributes": { "type": "array", "description": "List of AI metadata attributes to generate. Valid values: title, friendly_title, description, short_description, keywords, genre", "items": { "type": "string", "enum": [ "title", "friendly_title", "description", "short_description", "keywords", "genre" ] }, "example": [ "title", "keywords" ] }, "prompt_context_id": { "type": "string", "description": "ID of the prompt context to use when generating AI metadata", "example": "507f1f77bcf86cd799439011" } } } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "AIMetadataBulkCreateResponse", "type": "object" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/ai_metadata/suggestions": { "post": { "tags": [ "Videos" ], "summary": "Create AI Metadata", "description": "Generate AI metadata for a video", "operationId": "createAIMetadata", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "attributes": { "type": "array", "description": "List of AI metadata attributes to generate. Valid values: title, friendly_title, description, short_description, keywords, genre", "items": { "type": "string", "enum": [ "title", "friendly_title", "description", "short_description", "keywords", "genre" ] }, "example": [ "title", "keywords" ] }, "prompt_context_id": { "type": "string", "description": "ID of the prompt context to use when generating AI metadata", "example": "507f1f77bcf86cd799439011" } } } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "AIMetadataCreateResponse", "type": "object" } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/ai_metadata/suggestions/{session_id}": { "get": { "tags": [ "Videos" ], "summary": "Get AI Metadata", "description": "Retrieve a specific AI metadata session for a video", "operationId": "getAIMetadata", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "session_id", "in": "path", "description": "ID of the AI metadata session", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "AIMetadataGetResponse", "type": "object" } } } }, "404": { "description": "Video or AI metadata session not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/ai_metadata/suggestions/{session_id}/apply": { "post": { "tags": [ "Videos" ], "summary": "Apply AI Metadata", "description": "Apply the AI-generated metadata from a session to a video", "operationId": "applyAIMetadata", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "session_id", "in": "path", "description": "ID of the AI metadata session", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "AIMetadataApplyResponse", "type": "object" } } } }, "404": { "description": "Video or AI metadata session not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/add_zobjects": { "put": { "summary": "Add Zobject(s)", "description": "Add one or multiple Zobjects to your video", "tags": [ "Videos" ], "operationId": "addZobject", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of video" } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "ZobjectsRequest", "required": [ "zobject_id" ], "type": "object", "properties": { "zobject_id": { "type": "array", "description": "Array of Zobject IDs", "items": { "type": "string" } } } } } } }, "responses": { "200": { "description": "Add Zobjects to video", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/videos/{id}/remove_zobjects": { "put": { "tags": [ "Videos" ], "summary": "Remove Zobject", "description": "Remove one or multiple Zobjects from your video", "operationId": "removeZobject", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bid%7D~1add_zobjects/put/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "Video", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/download": { "get": { "tags": [ "Videos" ], "summary": "Download Video", "description": "Download the original source file for your video", "operationId": "downloadVideo", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Returns URL and Filesize of Video", "content": { "application/json": { "schema": { "title": "DownloadResponse", "type": "object", "properties": { "response": { "title": "VideoDownloadData", "type": "object", "properties": { "url": { "type": "string", "description": "URL to use to download your video" }, "filesize": { "type": "number", "format": "int32", "description": "size of the video file" } }, "example": { "url": "https://zype-upload-prod.s3.amazonaws.com/uploads/57ae371e72289b0d7d00100e/upload.mp4?AWSAccessKeyId=REDACTED_AWS_ACCESS_KEY_ID&Expires=1472064425&Signature=K8rgZ7X8A5ayqW1miUx%2FC4oxytM%3D", "filesize": 63851164 } } } } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/ad_timings": { "get": { "tags": [ "Videos" ], "summary": "List Ad Timings", "description": "List Ad Timings for each Ad-Timeable Data Source", "operationId": "listAdTimings", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Response will be an array of objects representing Ad Timings for each Data Source.", "content": { "application/json": { "schema": { "title": "AdTimingsResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "title": "AdTimingPerDataSource", "type": "object", "properties": { "data_source_id": { "type": "string" }, "ad_timings": { "type": "array", "items": { "$ref": "#/paths/~1videos~1%7Bid%7D~1data_sources~1%7Bdata_source_id%7D~1ad_timings/post/responses/201/content/application~1json/schema/properties/response" } } } }, "description": "" } } } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/data_sources/{data_source_id}/ad_timings": { "get": { "tags": [ "Videos" ], "summary": "List Ad Timings for Single Data Source", "description": "List Ad Timings for single Ad-Timeable Data Source", "operationId": "listAdTimingsSingleDataSource", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "data_source_id", "in": "path", "description": "ID of data source", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Response will be an array containing Ad Timings for the selected data source.", "content": { "application/json": { "schema": { "title": "AdTimingsSingleDataSourceResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1videos~1%7Bid%7D~1data_sources~1%7Bdata_source_id%7D~1ad_timings/post/responses/201/content/application~1json/schema/properties/response" }, "description": "" } } } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false }, "post": { "tags": [ "Videos" ], "summary": "Create Ad Timing", "description": "Create new Ad Timing on Data Source", "operationId": "createAdTiming", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "data_source_id", "in": "path", "description": "ID of data source", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "AdTimingRequest", "type": "object", "required": [ "ad_timing" ], "properties": { "ad_timing": { "title": "AdTimingProperties", "type": "object", "properties": { "time": { "type": "number", "description": "Start time (in seconds)." }, "milliseconds": { "type": "number", "description": "Start time (in milliseconds)." }, "duration": { "type": "number", "description": "Duration (in seconds)." }, "duration_milliseconds": { "type": "number", "description": "Duration (in milliseconds)." }, "ad_placement_id": { "type": "string", "description": "Unique identifier for the ad placement location." } } } } } } } }, "responses": { "201": { "description": "Response will be an single object representing New Ad Timing.", "content": { "application/json": { "schema": { "title": "AdTimingResponse", "type": "object", "properties": { "response": { "title": "AdTiming", "type": "object", "properties": { "_id": { "type": "string" }, "type": { "type": "string" }, "time": { "type": "number", "description": "Time in seconds when ad will be played." }, "mode": { "type": "string" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/data_sources/{data_source_id}/ad_timings/{ad_timing_id}": { "get": { "tags": [ "Videos" ], "summary": "View Ad Timing", "description": "Retrieve a single Ad Timing from your Video/Data Source", "operationId": "getAdTiming", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "data_source_id", "in": "path", "description": "ID of Data Source", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "ad_timing_id", "in": "path", "description": "ID of Ad Timing", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Response will be an single object representing the selected Ad Timing.", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bid%7D~1data_sources~1%7Bdata_source_id%7D~1ad_timings/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Ad Timing not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false }, "put": { "tags": [ "Videos" ], "summary": "Update Ad Timing", "description": "Update a single Ad Timing", "operationId": "updateAdTiming", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "data_source_id", "in": "path", "description": "ID of Data Source", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "ad_timing_id", "in": "path", "description": "ID of Ad Timing", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bid%7D~1data_sources~1%7Bdata_source_id%7D~1ad_timings/post/requestBody/content/application~1json/schema" } } } }, "responses": { "204": { "description": "Response will be an single object representing the updated Ad Timing.", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bid%7D~1data_sources~1%7Bdata_source_id%7D~1ad_timings/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Ad Timing not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false }, "delete": { "tags": [ "Videos" ], "summary": "Destroy Ad Timing", "description": "Destroy a single Ad Timing", "operationId": "destroyAdTiming", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "data_source_id", "in": "path", "description": "ID of Data Source", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "ad_timing_id", "in": "path", "description": "ID of Ad Timing", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Response will be an single object representing the updated Ad Timing.", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bid%7D~1data_sources~1%7Bdata_source_id%7D~1ad_timings/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Ad Timing not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/video_sources": { "get": { "summary": "List Video Sources for a Video", "description": "", "tags": [ "Videos" ], "operationId": "listVideoSourcesForVideo", "parameters": [ { "name": "id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1video_sources/get/responses/200/content/application~1json/schema" } } } } } } }, "/playlists": { "get": { "summary": "List Playlists", "description": "", "operationId": "listPlaylists", "tags": [ "Playlists" ], "parameters": [ { "name": "id", "$ref": "#/paths/~1devices/get/parameters/1" }, { "name": "q", "$ref": "#/paths/~1devices/get/parameters/3" }, { "name": "active", "$ref": "#/paths/~1videos/get/parameters/2" }, { "name": "title", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by title" }, { "name": "friendly_title", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by friendly title" }, { "name": "video_id", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter playlists that have the video_id\nExample: `video_id=5992f328ce593000ef000001` Matches all playlists having the video." }, { "name": "created_at", "$ref": "#/paths/~1devices/get/parameters/2" }, { "name": "category", "in": "query", "required": false, "schema": { "type": "object", "additionalProperties": { "type": "string" } }, "description": "Filter records that match all category values listed.\nExample: `category[genre][]=comedy&category[language][]=english` Matches all playlists having ALL of the category name/value pairs listed." }, { "name": "category_or", "in": "query", "required": false, "schema": { "type": "object", "additionalProperties": { "type": "string" } }, "description": "Filter records that match any category values listed.\nExample: `category_or[genre][]=comedy&category_or[language][]=english` Matches all playlists that have ANY of the category name/value pairs listed." }, { "name": "category_and", "in": "query", "required": false, "schema": { "type": "object", "additionalProperties": { "type": "string" } }, "description": "Filter records that match all category values listed.\nExample: `category[genre][]=comedy&category[language][]=english` Matches all playlists having ALL of the category name/value pairs listed." }, { "name": "zobject_id", "in": "query", "description": "Filter records that match any of the Zobject IDs listed", "style": "form", "explode": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "zobject_id_or", "in": "query", "description": "Filter records that match any of the Zobject IDs listed", "style": "form", "explode": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "zobject_id_and", "in": "query", "description": "Filter records that match all of the Zobject IDs listed", "style": "form", "explode": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "zobject_details", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/5" }, { "name": "zobject_types", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/6" }, { "name": "zobject_fields", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/7" }, { "name": "response_fields", "$ref": "#/paths/~1videos/get/parameters/28" }, { "name": "order", "$ref": "#/paths/~1videos/get/parameters/29" }, { "name": "sort", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/3" }, { "name": "page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/1" }, { "name": "per_page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/2" } ], "responses": { "200": { "description": "Response will contain an array of Playlists", "content": { "application/json": { "schema": { "title": "PlaylistsResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1playlists/post/responses/201/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } }, "post": { "summary": "Create Playlist", "description": "Create a new Playlist", "operationId": "createPlaylist", "tags": [ "Playlists" ], "parameters": [], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "PlaylistRequest", "type": "object", "required": [ "playlist" ], "properties": { "playlist": { "title": "PlaylistProperties", "type": "object", "properties": { "active": { "type": "boolean", "description": "Indicates if the playlist is active" }, "auto_remove_video_entitlements": { "type": "boolean", "description": "Automatically remove a customer's entitlement to view a video if it is removed from the playlist" }, "auto_update_video_entitlements": { "type": "boolean", "description": "Automatically update a customer's entitlement to view a video if it is added to the playlist" }, "categories": { "type": "array", "items": { "title": "PlaylistCategoryProperties", "type": "object", "properties": { "category_id": { "description": "ID of the main Category you wish to add to the video", "example": "5955293d805cd90024000000", "type": "string" }, "value": { "description": "List of values you wish to add to the category. Must exist in the main Category first", "type": "array", "items": { "type": "string" } }, "exclude_values": { "description": "List of values you wish to exclude from the playlist. Must exist in the main Category first", "type": "array", "items": { "type": "string" } }, "_destroy": { "description": "True if you want to remove it from the object", "type": "boolean" } } }, "description": "" }, "content_rule_profile_id": { "type": "string", "description": "ID of the content rule profile assigned to the playlist." }, "custom_thumbnail_url": { "type": "string", "description": "URL where your custom thumbnail is stored. Thumbnail will be processed asynchronously, and available in API response upon completion." }, "description": { "type": "string" }, "friendly_title": { "type": "string", "description": "The URL friendly title of the playlist" }, "images_attributes": { "type": "array", "items": { "title": "Image", "type": "object", "properties": { "_id": { "description": "ID of the image. Used to update an existing image. When it's not specified, a new image will be created.", "example": "59921049ce593000ef000002", "type": "string" }, "caption": { "description": "Caption of the image", "example": "Image Caption", "type": "string" }, "title": { "description": "Title of the image", "example": "Image Title", "type": "string" }, "updated_at": { "description": "Timestamp the image was updated", "example": "8/14/2017 9:04:11 PM", "type": "string" }, "attachment": { "description": "URL where the image is hosted", "example": "https://image-host.com", "type": "string" }, "_destroy": { "description": "True if you want to remove the image", "type": "boolean" } } }, "description": "" }, "internal_title": { "type": "string", "description": "The internal title of the playlist" }, "keywords": { "type": "array", "items": { "type": "string" }, "description": "Keywords for the playlist" }, "match_type": { "type": "string", "enum": [ "any", "all" ], "description": "Used to specify matching categories to a playlist by ALL category values or ANY category values" }, "parent_id": { "type": "string", "description": "The parent playlist ID. If this value is null, the playlist is a root playlist and can be used as the primary playlist within an app where all your other playlists and videos are nested under" }, "playlist_type": { "type": "string", "enum": [ "manual", "category" ], "description": "Determine if videos will automatically be added to this playlist based off the category values assigned to them. If you would like this feature, set to 'category', otherwise, set to 'manual' to disable. If enabled, you may not manually add videos to this playlist" }, "priority": { "type": "number", "description": "The priority of the playlist related with its siblings. Playlists are ordered ascending by priority value" }, "purchase_price": { "type": "number", "description": "Amount to purchase the playlist bundle" }, "purchase_required": { "type": "boolean", "description": "Indicates if playlist must be purchased" }, "rental_duration": { "type": "number", "description": "Number of days a playlist bundle can be rented" }, "rental_price": { "type": "number", "description": "Price to rent the playlist bundle" }, "rental_required": { "type": "boolean", "description": "Indicates if the playlist bundle must be rented" }, "sort_options": { "type": "array", "items": { "type": "object", "title": "SortOption", "properties": { "sort_by": { "description": "What value to sort the associated playlist by\nMust be one of: + created_at + published_at + title", "type": "string" }, "direction": { "description": "Which direction to sort the associated playlist by", "example": "desc", "type": "string", "enum": [ "asc", "desc" ] }, "sort_by_type": { "description": "What datatype to sort the associated playlist by\nMust be one of: + date + datetime + string + integer + array + boolean", "example": "string", "type": "string" } } }, "description": "Playlist smart ordering allows you to change the order of its videos by sort options. The videos added or updated into a playlist with sort options are sorted automatically following that sort option" }, "thumbnail_layout": { "type": "string", "enum": [ "landscape", "poster", "square" ], "description": "Orientation of the playlist thumbnail" }, "title": { "type": "string" } } } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "title": "PlaylistResponse", "type": "object", "properties": { "response": { "title": "Playlist", "type": "object", "properties": { "_id": { "type": "string" }, "active": { "type": "boolean" }, "auto_remove_video_entitlements": { "type": "boolean" }, "auto_update_video_entitlements": { "type": "boolean" }, "categories": { "type": "array", "items": { "type": "object" }, "description": "" }, "content_rule_profile_id": { "type": "string", "description": "ID of the content rule profile assigned to the playlist." }, "created_at": { "type": "string" }, "deleted_at": { "type": "string" }, "description": { "type": "string" }, "discovery_url": { "type": "string", "description": "URL where your playlist can be discovered" }, "friendly_title": { "type": "string" }, "images": { "type": "array", "items": { "type": "object" }, "description": "" }, "internal_title": { "type": "string" }, "keywords": { "type": "array", "items": { "type": "string" }, "description": "" }, "match_type": { "type": "string" }, "parent_id": { "type": "string" }, "playlist_item_count": { "type": "number", "description": "Number of videos in a playlist" }, "playlist_type": { "type": "string" }, "priority": { "type": "number" }, "purchase_price": { "type": "number" }, "purchase_required": { "type": "boolean" }, "rental_duration": { "type": "number" }, "rental_price": { "type": "number" }, "rental_required": { "type": "boolean" }, "site_id": { "type": "string" }, "sort_options": { "type": "array", "items": { "type": "object" }, "description": "" }, "thumbnail_layout": { "type": "string" }, "thumbnails": { "type": "array", "items": { "type": "object" }, "description": "" }, "title": { "type": "string" }, "updated_at": { "type": "string" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/playlists/{id}": { "get": { "summary": "View Playlist", "description": "", "tags": [ "Playlists" ], "operationId": "getPlaylist", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of playlist" }, { "name": "zobject_details", "in": "query", "description": "Setting to `true` will display the full Zobject details, including any custom attributes.", "style": "form", "explode": true, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Return a single playlist", "content": { "application/json": { "schema": { "$ref": "#/paths/~1playlists/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Playlist Not Found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } }, "put": { "summary": "Update Playlist", "description": "", "tags": [ "Playlists" ], "operationId": "updatePlaylist", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of playlist" } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1playlists/post/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "Update Playlist", "content": { "application/json": { "schema": { "$ref": "#/paths/~1playlists/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Playlist not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } }, "delete": { "summary": "Delete Playlist", "description": "", "tags": [ "Playlists" ], "operationId": "deletePlaylist", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of playlist" } ], "responses": { "204": { "description": "Video deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/paths/~1playlists/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Playlist not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/playlists/{id}/videos": { "get": { "summary": "List Playlist Videos", "description": "Retrieve a list of playlists from your library", "tags": [ "Playlists" ], "operationId": "listPlaylistVideos", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of playlist" }, { "name": "page", "in": "query", "required": false, "schema": { "type": "integer" }, "description": "Page number to return, with per_page dictating page size" }, { "name": "per_page", "in": "query", "required": false, "schema": { "type": "integer" }, "description": "Number of records to return per page" }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Sort on the specified field" }, { "name": "source_id", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by source identifier" }, { "name": "zobject_details", "in": "query", "description": "Setting to `true` will display the full Zobject details, including any custom attributes, for each video record returned in your query.", "required": false, "schema": { "type": "boolean" } }, { "name": "zobject_types", "in": "query", "description": "Filter zobject details by Zobject type. Example: zobject_types=episode,season", "required": false, "schema": { "type": "string" } }, { "name": "zobject_fields", "in": "query", "description": "Filter returned zobject fields. Example: zobject_fields=title,description", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Return videos for a specific playlist", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema" } } } }, "404": { "description": "Playlist not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/playlists/{id}/videos/relative": { "get": { "summary": "List Relative Playlist Videos", "description": "Returns a windowed set of videos from a playlist relative to the anchor video", "tags": [ "Playlists" ], "operationId": "listPlaylistVideosRelative", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of playlist" }, { "name": "anchor_video_id", "in": "query", "required": true, "schema": { "type": "string" }, "description": "The selected video ID." }, { "name": "after", "in": "query", "required": false, "schema": { "type": "integer", "default": 3 }, "description": "How many items to return after the anchor video." }, { "name": "before", "in": "query", "required": false, "schema": { "type": "integer", "default": 0 }, "description": "How many items to return before the anchor video." }, { "name": "include_anchor", "in": "query", "required": false, "schema": { "type": "boolean", "default": false }, "description": "Whether to include the anchor video in the results." }, { "name": "sort", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Sort order of the playlist videos. Defaults to the playlist's sort order." }, { "name": "order", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "asc", "desc" ] }, "description": "Order of the playlist videos. Defaults to the playlist's order." }, { "name": "zobject_details", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/5" }, { "name": "zobject_types", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/6" }, { "name": "zobject_fields", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/7" } ], "responses": { "200": { "description": "Return videos for a specific playlist", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema" } } } }, "404": { "description": "Playlist not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/playlists/{id}/add_videos": { "put": { "summary": "Add Videos", "description": "Add videos to a manual playlist", "tags": [ "Playlists" ], "operationId": "addVideosToPlaylist", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of playlist" } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "PlaylistVideosRequest", "type": "object", "required": [ "video_id" ], "properties": { "video_id": { "description": "An Array of Video Ids", "type": "array", "items": { "type": "string" } } } } } } }, "responses": { "200": { "description": "Response will contain an array of videos", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema" } } } }, "404": { "description": "Playlist not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/playlists/{id}/remove_videos": { "put": { "summary": "Remove Videos", "description": "Remove videos in a playlist", "tags": [ "Playlists" ], "operationId": "removeVideosFromPlaylist", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of playlist" } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1playlists~1%7Bid%7D~1add_videos/put/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "Response will contain an array of videos", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema" } } } }, "404": { "description": "Playlist not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/playlists/relationships": { "get": { "summary": "View Relationships", "description": "Returns a list of playlists and its relationships", "tags": [ "Playlists" ], "parameters": [ { "name": "parent_id", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Returns only the playlists relationships under a parent playlist\nExample: `parent_id=5992f328ce593000dff000001`" } ], "operationId": "viewPlaylistRelationships", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "PlaylistRelationshipsResponse", "type": "object", "properties": { "playlists": { "type": "array", "items": { "title": "PlaylistRelationship", "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "priority": { "type": "integer" }, "playlists": { "type": "array", "items": { "type": "object" } } }, "example": { "id": "586124bfa54d7535cb001fc2", "title": "Playlist A", "priority": 1, "playlists": [ { "id": "486124bfa54d7535cb001b31", "title": "Playlist B", "priority": 2 } ] } } } } } } } } } } }, "/categories": { "get": { "summary": "List Categories", "description": "", "tags": [ "Categories" ], "operationId": "listCategories", "parameters": [ { "name": "title", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by title" }, { "name": "id", "$ref": "#/paths/~1devices/get/parameters/1" }, { "name": "created_at", "$ref": "#/paths/~1devices/get/parameters/2" }, { "name": "q", "$ref": "#/paths/~1devices/get/parameters/3" }, { "name": "response_fields", "$ref": "#/paths/~1videos/get/parameters/28" }, { "name": "order", "$ref": "#/paths/~1videos/get/parameters/29" }, { "name": "sort", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/3" }, { "name": "page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/1" }, { "name": "per_page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/2" } ], "responses": { "200": { "description": "Response will contain an array of categories", "content": { "application/json": { "schema": { "title": "CategoriesResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1categories/post/responses/201/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } }, "post": { "summary": "Create Category", "tags": [ "Categories" ], "operationId": "createCategory", "parameters": [], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "CategoryRequest", "type": "object", "required": [ "category" ], "properties": { "category": { "type": "object", "title": "CategoryProperties", "properties": { "title": { "type": "string" }, "friendly_title": { "description": "URL friendly title", "type": "string" }, "values": { "description": "List of values you wish to add to the category. Must exist in the main Category first", "type": "array", "items": { "type": "string" } } } } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "title": "CategoryResponse", "type": "object", "properties": { "response": { "type": "object", "title": "Category", "properties": { "_id": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "values": { "type": "array" }, "title": { "type": "string" }, "friendly_title": { "type": "string" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/categories/{id}": { "get": { "summary": "View Category", "tags": [ "Categories" ], "operationId": "getCategory", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of category" } ], "responses": { "200": { "description": "Return a category", "content": { "application/json": { "schema": { "$ref": "#/paths/~1categories/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Category not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } }, "put": { "summary": "Update category", "tags": [ "Categories" ], "operationId": "updateCategory", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of category" } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1categories/post/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1categories/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Category not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } }, "delete": { "summary": "Delete Category", "tags": [ "Categories" ], "operationId": "deleteCategory", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of category" } ], "responses": { "204": { "description": "Category deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/paths/~1categories/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Category not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/app": { "get": { "summary": "View App", "tags": [ "Apps" ], "operationId": "getApp", "parameters": [ { "name": "app_key", "in": "query", "required": true, "schema": { "type": "string" }, "description": "App key provided by Zype" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "AppResponse", "type": "object", "properties": { "response": { "type": "object", "title": "App", "properties": { "_id": { "type": "string" }, "active": { "type": "boolean" }, "app_type_id": { "type": "string" }, "device_ids": { "type": "array", "items": { "type": "string" } }, "site_id": { "type": "string" }, "title": { "type": "string" }, "version": { "type": "string" }, "store_icon_url": { "type": "string" } }, "example": { "_id": "593b1ac8830ece0024000005", "active": false, "app_type_id": "1593030e94d740d00530000971", "device_ids": [ "593030d64d740d0053000007" ], "site_id": "593031674d740d01cd000000", "title": "Apple TV App", "version": "0.1.0", "store_icon_url": "https:/url" } } } } } } }, "404": { "description": "App not found", "content": { "application/json": { "schema": { "title": "NotFound", "type": "object", "required": [ "message" ], "properties": { "message": { "type": "string" } } } } } } } } }, "/videos/{video_id}/subtitles": { "get": { "tags": [ "Subtitles" ], "summary": "List Subtitles", "description": "List Subtitles", "operationId": "listSubtitles", "parameters": [ { "name": "video_id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "SubtitlesResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1subtitles/post/responses/201/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false }, "post": { "tags": [ "Subtitles" ], "summary": "Create Subtitle", "description": "Create Subtitle", "operationId": "createSubtitle", "parameters": [ { "name": "video_id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "SubtitleRequest", "type": "object", "required": [ "subtitle" ], "properties": { "subtitle": { "title": "subtitleProperties", "required": [ "language", "extension_type", "file" ], "type": "object", "properties": { "active": { "type": "boolean", "description": "Indicates if the subtitle should be used" }, "language": { "type": "string", "description": "Language of the subtitle in ISO 639-1 (ej: `en` for english)" }, "extension_type": { "type": "string", "description": "Original file extension of the subtitle (allowed formats: srt, vtt)" }, "file": { "type": "string", "description": "Base64 encoded subtitle" } } } } } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "title": "SubtitleResponse", "type": "object", "properties": { "response": { "title": "Subtitle", "type": "object", "properties": { "_id": { "type": "string" }, "active": { "type": "boolean" }, "extension_type": { "type": "string" }, "file_content_type": { "type": "string" }, "file_file_name": { "type": "string" }, "file_file_size": { "type": "integer", "format": "int32" }, "file_fingerprint": { "type": "string" }, "file_updated_at": { "type": "string" }, "language": { "type": "string" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{video_id}/subtitles/{id}": { "get": { "tags": [ "Subtitles" ], "summary": "View Subtitle", "description": "View Subtitle", "operationId": "getSubtitle", "parameters": [ { "name": "id", "in": "path", "description": "ID of the subtitle", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "video_id", "in": "path", "description": "ID of the video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1subtitles/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Subtitle Not Found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false }, "put": { "tags": [ "Subtitles" ], "summary": "Update Subtitle", "description": "Update Subtitle", "operationId": "updateSubtitle", "parameters": [ { "name": "id", "in": "path", "description": "ID of the subtitle", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "video_id", "in": "path", "description": "ID of the video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1subtitles/post/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1subtitles/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Subtitle Not Found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{video_id}/subtitle_playlists": { "post": { "tags": [ "Subtitle Playlists" ], "summary": "Create Subtitle Playlist", "description": "Create Subtitle Playlist", "operationId": "createSubtitlePlaylist", "parameters": [ { "name": "video_id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "SubtitlePlaylistRequest", "type": "object", "required": [ "subtitle_playlist" ], "properties": { "subtitle_playlist": { "title": "subtitlePlaylistProperties", "required": [ "source_url", "language" ], "type": "object", "properties": { "source_url": { "type": "string", "description": "The URL for the source subtitle" }, "language": { "type": "string", "description": "The language of the source subtitle provided", "example": "Chinese" } } } } } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "title": "SubtitlePlaylistResponse", "type": "object", "properties": { "response": { "title": "SubtitlePlaylist", "type": "object", "properties": { "_id": { "type": "string" }, "created_at": { "type": "string" }, "language": { "type": "string" }, "language_code": { "type": "string" }, "source_url": { "type": "string" }, "updated_at": { "type": "string" }, "video_id": { "type": "string" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{video_id}/subtitle_playlists/{language}": { "delete": { "tags": [ "Subtitle Playlists" ], "summary": "Delete Subtitle Playlist", "description": "Delete Subtitle Playlist", "operationId": "deleteSubtitlePlaylist", "parameters": [ { "name": "language", "in": "path", "description": "The language of the source subtitle provided", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "video_id", "in": "path", "description": "ID of the video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "204": { "description": "Subtitle playlist deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1subtitle_playlists/post/responses/201/content/application~1json/schema" } } } } }, "deprecated": false } }, "/program_guides": { "get": { "summary": "List Program Guides", "description": "", "tags": [ "Program Guides" ], "operationId": "listProgramGuides", "parameters": [ { "name": "id", "$ref": "#/paths/~1devices/get/parameters/1" }, { "name": "created_at", "$ref": "#/paths/~1devices/get/parameters/2" }, { "name": "q", "$ref": "#/paths/~1devices/get/parameters/3" }, { "name": "order", "$ref": "#/paths/~1videos/get/parameters/29" }, { "name": "sort", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/3" }, { "name": "page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/1" }, { "name": "per_page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/2" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "ProgramGuidesResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1program_guides/post/responses/201/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } }, "post": { "summary": "Create Program Guide", "description": "", "tags": [ "Program Guides" ], "operationId": "createProgramGuide", "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "ProgramGuideRequest", "type": "object", "required": [ "program_guide" ], "properties": { "program_guide": { "type": "object", "title": "ProgramGuideProperties", "required": [ "name", "url", "language", "time_zone" ], "properties": { "name": { "type": "string" }, "url": { "type": "string", "description": "Source URL used to sync content for the program guide" }, "language": { "type": "array", "description": "Two letter abbreviation of the language used to import content for the program guide (`en`, `fr`)", "items": { "type": "string" } }, "time_zone": { "type": "string", "description": "Time zone offset for the program guide" }, "video_ids": { "description": "List of video ids you wish to add to the program guide.", "type": "array", "items": { "type": "string" } } } } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "title": "ProgramGuideResponse", "type": "object", "properties": { "response": { "type": "object", "title": "ProgramGuide", "properties": { "_id": { "type": "string" }, "created_at": { "type": "string" }, "language": { "type": "string" }, "name": { "type": "string" }, "program_guide_entry_count": { "type": "integer" }, "refreshed_at": { "type": "string" }, "site_id": { "type": "string" }, "status": { "type": "string" }, "time_zone": { "type": "string" }, "updated_at": { "type": "string" }, "url": { "type": "string" }, "videos": { "type": "array" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/program_guides/{id}": { "get": { "summary": "View Program Guide", "description": "", "tags": [ "Program Guides" ], "operationId": "getProgramGuide", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of program guide" } ], "responses": { "200": { "description": "Return a program guide", "content": { "application/json": { "schema": { "$ref": "#/paths/~1program_guides/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Program guide not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } }, "put": { "summary": "Update Program Guide", "description": "", "tags": [ "Program Guides" ], "operationId": "updateProgramGuide", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of program guide" } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1program_guides/post/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1program_guides/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Program guide not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } }, "delete": { "summary": "Delete Program Guide", "description": "", "tags": [ "Program Guides" ], "operationId": "deleteProgramGuide", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of program guide" } ], "responses": { "204": { "description": "Program guide deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/paths/~1program_guides/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Program guide not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/program_guides/{id}/entries": { "get": { "summary": "List Program Guide Entries", "description": "", "tags": [ "Program Guides" ], "operationId": "listProgramGuideEntries", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of program guide" }, { "name": "title", "in": "query", "schema": { "type": "string" }, "description": "Title of the program guide" }, { "name": "created_at", "$ref": "#/paths/~1devices/get/parameters/2" }, { "name": "q", "$ref": "#/paths/~1devices/get/parameters/3" }, { "name": "order", "$ref": "#/paths/~1videos/get/parameters/29" }, { "name": "sort", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/3" }, { "name": "page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/1" }, { "name": "per_page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/2" }, { "name": "start_time", "in": "query", "schema": { "type": "string" }, "description": "Filter records by start_time using times in ISO8601 format (Example: `2017-01-01T00:00:00-00:00`) or Unix timestamps (Example: `1483228800`) **Note**: Range filters can be applied by adding a suffix: \u2018.gt\u2019, \u2018.gte\u2019, \u2018.lt\u2019, \u2018lte\u2019 (Example: `start_time.gte`)" }, { "name": "end_time", "in": "query", "schema": { "type": "string" }, "description": "Filter records by end_time using times in ISO8601 format (Example: `2017-01-01T00:00:00-00:00`) or Unix timestamps (Example: `1483228800`) **Note**: Range filters can be applied by adding a suffix: \u2018.gt\u2019, \u2018.gte\u2019, \u2018.lt\u2019, \u2018lte\u2019 (Example: `end_time.gte`)" }, { "name": "disable_pagination", "in": "query", "schema": { "type": "boolean" }, "description": "When true, all results are returned in a single JSON body without pagination. Default `false`" } ], "responses": { "200": { "description": "Return program guide entries", "content": { "application/json": { "schema": { "title": "ProgramGuideEntriesResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "type": "object", "title": "Program Guide Entry", "properties": { "_id": { "type": "string" }, "category": { "type": "array" }, "created_at": { "type": "string" }, "description": { "type": "string" }, "duration": { "type": "integer" }, "end_time": { "type": "string" }, "program_guide_id": { "type": "string" }, "start_time": { "type": "string" }, "subtitle": { "type": "string" }, "time_zone": { "type": "string" }, "title": { "type": "string" }, "updated_at": { "type": "string" }, "start_time_with_offset": { "type": "string" }, "end_time_with_offset": { "type": "string" } } }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } }, "404": { "description": "Program guide not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/devices": { "get": { "summary": "List Devices", "tags": [ "Devices" ], "operationId": "listDevices", "parameters": [ { "name": "title", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by title" }, { "name": "id", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by ID\nExample: `id=5992f328ce593000ef000008`" }, { "name": "created_at", "in": "query", "schema": { "type": "string" }, "description": "Filter records by created date using times in ISO8601 format (Example: `2017-01-01T00:00:00-00:00`) or Unix timestamps (Example: `1483228800`) **Note**: Range filters can be applied by adding a suffix: \u2018.gt\u2019, \u2018.gte\u2019, \u2018.lt\u2019, \u2018lte\u2019 (Example: `created_at.gte`)" }, { "name": "q", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by keyword" }, { "name": "order", "$ref": "#/paths/~1videos/get/parameters/29" }, { "name": "sort", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/3" }, { "name": "page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/1" }, { "name": "per_page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/2" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "DevicesResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1devices~1%7Bid%7D/get/responses/200/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/devices/{id}": { "get": { "summary": "View Device", "description": "", "tags": [ "Devices" ], "operationId": "getDevice", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of device" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "DeviceResponse", "type": "object", "properties": { "response": { "type": "object", "title": "Device", "properties": { "_id": { "type": "string" }, "description": { "type": "string" }, "name": { "type": "string" } } } } } } } }, "404": { "description": "Device not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/device_categories": { "get": { "summary": "List Devices Categories", "description": "", "tags": [ "Device Categories" ], "operationId": "listDeviceCategories", "parameters": [ { "name": "title", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by title" }, { "name": "id", "$ref": "#/paths/~1devices/get/parameters/1" }, { "name": "created_at", "$ref": "#/paths/~1devices/get/parameters/2" }, { "name": "q", "$ref": "#/paths/~1devices/get/parameters/3" }, { "name": "order", "$ref": "#/paths/~1videos/get/parameters/29" }, { "name": "sort", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/3" }, { "name": "page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/1" }, { "name": "per_page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/2" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "DeviceCategoriesResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1device_categories~1%7Bid%7D/get/responses/200/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/device_categories/{id}": { "get": { "summary": "View Device Category", "description": "", "tags": [ "Device Categories" ], "operationId": "getDeviceCategory", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of device category" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "DeviceCategoryResponse", "type": "object", "properties": { "response": { "type": "object", "title": "DeviceCategory", "properties": { "_id": { "type": "string", "description": "593030d54d740d0053000004" }, "_keywords": { "type": "array", "items": { "type": "string" } }, "created_at": { "type": "string", "description": "2014-09-29T15:23:47.302-04:00" }, "image_content_type": { "type": "string", "description": "image/png" }, "image_file_name": { "type": "string", "description": "desktop.png" }, "image_file_size": { "type": "string", "description": "19347" }, "image_fingerprint": { "type": "string", "description": "a661d27f5003bcf1523f75e3686f6b24" }, "image_updated_at": { "type": "string", "description": "2014-09-29T15:23:47.099-04:00" }, "name": { "type": "string", "description": "Web" }, "updated_at": { "type": "string", "description": "2014-09-29T15:23:47.302-04:00" } } } } } } } }, "404": { "description": "Device Category not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/geoip": { "get": { "summary": "View GeoIP", "description": "Retrieve the GeoIP object for a specific IP Address", "tags": [ "GeoIP" ], "operationId": "getGeoIP", "parameters": [ { "name": "ip_address", "in": "query", "schema": { "type": "string" }, "description": "Defaults to the IP of the API caller if not provided" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "GeoIpResponse", "type": "object", "properties": { "response": { "title": "GeoIp", "type": "object", "properties": { "request": { "type": "string" }, "ip": { "type": "string" }, "country_code": { "type": "string" }, "country_code2": { "type": "string" }, "country_code3": { "type": "string" }, "country_name": { "type": "string" }, "continent_code": { "type": "string" } } } } } } } } } } }, "/videos/{video_id}/segments": { "get": { "tags": [ "Segments" ], "summary": "List Segments", "description": "List Segments", "operationId": "listSegments", "parameters": [ { "name": "video_id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Response will be an array of objects each representing a segment for selected video.", "content": { "application/json": { "schema": { "title": "SegmentsResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1segments/post/responses/201/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } } }, "deprecated": false }, "post": { "tags": [ "Segments" ], "summary": "Create Segment", "description": "Create Segment", "operationId": "createSegment", "parameters": [ { "name": "video_id", "in": "path", "description": "", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "SegmentRequest", "type": "object", "required": [ "segment" ], "properties": { "segment": { "title": "SegmentProperties", "type": "object", "properties": { "description": { "type": "string", "description": "Description of the segment, required on creation" }, "start": { "type": "integer", "description": "When the segment starts in milliseconds, required on creation", "format": "int32" }, "end": { "type": "integer", "description": "When the segment ends in milliseconds", "format": "int32" } } } } } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "title": "SegmentResponse", "type": "object", "properties": { "response": { "title": "Segment", "type": "object", "properties": { "_id": { "type": "string" }, "video_id": { "type": "string" }, "start": { "type": "integer", "format": "int32" }, "end": { "type": "integer", "format": "int32" }, "description": { "type": "string" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{video_id}/segments/{id}": { "get": { "tags": [ "Segments" ], "summary": "View Segment", "description": "View Segment", "operationId": "getSegment", "parameters": [ { "name": "video_id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "id", "in": "path", "description": "ID of segment", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1segments/post/responses/201/content/application~1json/schema" } } } } }, "deprecated": false }, "put": { "tags": [ "Segments" ], "summary": "Update Segment", "description": "Update Segment", "operationId": "updateSegment", "parameters": [ { "name": "video_id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "id", "in": "path", "description": "ID of segment", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1segments/post/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1segments/post/responses/201/content/application~1json/schema" } } } } }, "deprecated": false }, "delete": { "tags": [ "Segments" ], "summary": "Delete Segment", "description": "Delete Segment", "operationId": "deleteSegment", "parameters": [ { "name": "video_id", "in": "path", "description": "ID of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "id", "in": "path", "description": "ID of segment", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "204": { "description": "Segment deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1segments/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "Segment not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/self_hosted": { "post": { "tags": [ "Videos" ], "summary": "Create Self Hosted Video", "description": "Create and add a Self Hosted Video to your library", "operationId": "createSelfHostedVideo", "parameters": [], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "SelfHostedVideoRequest", "type": "object", "required": [ "video" ], "properties": { "video": { "title": "SelfHostedVideoProperties", "required": [ "title", "url" ], "type": "object", "properties": { "url": { "type": "string", "description": "URL to self hosted video file." }, "title": { "type": "string", "description": "Title of the video" }, "description": { "type": "string", "description": "Full length description of the video" }, "auto_add": { "type": "boolean", "description": "Indicates if the video should be automatically added to the library" }, "auto_active": { "type": "boolean", "description": "Indicates if the video should be automatically set to active" }, "live_event": { "type": "boolean", "description": "Indicates if the video is a live event" }, "enable_at": { "type": "string", "description": "Timestamp of when your video will become active" }, "disable_at": { "type": "string", "description": "Timestamp of when your video will become inactive" }, "on_air_at": { "type": "string", "description": "Timestamp of when your video will go on air" }, "off_air_at": { "type": "string", "description": "Timestamp of when your video will go off air" } } } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/post/responses/201/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{video_id}/self_hosted": { "get": { "tags": [ "Videos" ], "summary": "List Self Hosted Video Data Sources", "description": "Retrieve a list of self-hosted video data sources", "operationId": "listSelfHostedVideoDataSources", "parameters": [ { "name": "video_id", "in": "path", "description": "ID of the video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Response will contain an array of data sources", "content": { "application/json": { "schema": { "title": "SelfHostedVideoDataSourceResponse", "type": "object", "properties": { "response": { "title": "SelfHostedVideoDataSource", "type": "object", "properties": { "_id": { "type": "string" }, "active": { "type": "boolean" }, "duration": { "type": "number", "description": "Video duration" }, "files": { "type": "array", "items": { "type": "object", "title": "files", "properties": { "aspect_ratio": { "type": "number" }, "height": { "type": "number" }, "width": { "type": "number" }, "type": { "type": "string" }, "url": { "type": "string" } } }, "description": "" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false }, "post": { "tags": [ "Videos" ], "summary": "Create a Self Hosted Video Data Source", "description": "Add a data source to a self-hosted video", "operationId": "createSelfHostedVideoDataSource", "parameters": [ { "name": "video_id", "in": "path", "description": "ID of the video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "SelfHostedVideoDataSourceRequest", "type": "object", "required": [ "video" ], "properties": { "video": { "title": "SelfHostedVideoDataSourceProperties", "type": "object", "properties": { "active": { "type": "boolean" }, "files": { "type": "array", "items": { "type": "object", "title": "files", "properties": { "url": { "type": "string" } } }, "description": "" } } } } } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1self_hosted/get/responses/200/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{video_id}/self_hosted/{data_source_id}": { "get": { "tags": [ "Videos" ], "summary": "View Self Hosted Video Data Source", "description": "View Self Hosted Video Data Source", "operationId": "getSelfHostedVideoDataSource", "parameters": [ { "name": "data_source_id", "in": "path", "description": "ID of the data source", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "video_id", "in": "path", "description": "ID of the video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1self_hosted/get/responses/200/content/application~1json/schema" } } } }, "404": { "description": "Video Data Source Not Found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false }, "put": { "tags": [ "Videos" ], "summary": "Update Self Hosted Video Data Source", "description": "Update Self Hosted Video Data Source", "operationId": "updateSelfHostedVideoDataSource", "parameters": [ { "name": "data_source_id", "in": "path", "description": "ID of the data source", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "video_id", "in": "path", "description": "ID of the video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1self_hosted/post/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1self_hosted/get/responses/200/content/application~1json/schema" } } } }, "404": { "description": "Video Data Source Not Found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false }, "delete": { "tags": [ "Videos" ], "summary": "Delete Self Hosted Video Data Source", "description": "Delete Self Hosted Video Data Source", "operationId": "deleteSelfHostedVideoDataSource", "parameters": [ { "name": "data_source_id", "in": "path", "description": "ID of the data source", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "video_id", "in": "path", "description": "ID of the video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "204": { "description": "Self Hosted Video Data Source deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos~1%7Bvideo_id%7D~1self_hosted/get/responses/200/content/application~1json/schema" } } } }, "404": { "description": "Self Hosted Video Data Source Not Found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/transcriptions": { "get": { "tags": [ "Transcriptions" ], "summary": "List Transcriptions", "description": "List Transcriptions", "operationId": "listTranscriptions", "parameters": [ { "name": "id", "in": "path", "description": "Id of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "TranscriptionsResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "title": "Transcription", "type": "object", "properties": { "id": { "type": "string" }, "language": { "type": "string" }, "status": { "type": "string" }, "translation": { "description": "Indicates whether the transcription is a translation or not", "type": "boolean" }, "segments": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "title": "TranscriptionSegment", "properties": { "order": { "description": "The index of the segment within the transcription text", "type": "number" }, "start": { "description": "The start time in seconds of the segment, relative to video start (0)", "type": "number" }, "end": { "description": "The end time in seconds of the segment, relative to video start (0)", "type": "number" }, "text": { "description": "The text within the segment timeframe", "type": "string" } } } } } } } } } } } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/transcriptions/{transcription_id}": { "get": { "tags": [ "Transcriptions" ], "summary": "View Transcription", "description": "Retrieve a single transcription or translation", "operationId": "getTranslation", "parameters": [ { "name": "id", "in": "path", "description": "Id of video", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "transcription_id", "in": "path", "description": "Id of the transcription", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Return transcription", "content": { "application/json": { "schema": { "title": "TranscriptionResponse", "type": "object", "properties": { "response": { "$ref": "#/paths/~1videos~1%7Bid%7D~1transcriptions/get/responses/200/content/application~1json/schema/properties/response/items" } } } } } }, "404": { "description": "Video or transcription not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/transcriptions/transcribe": { "post": { "tags": [ "Transcriptions" ], "summary": "Transcribe video", "description": "Transcribe video", "operationId": "transcribeVideo", "parameters": [ { "name": "id", "in": "path", "description": "Id of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "TranscribeResponse", "type": "object" } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/transcriptions/translate": { "post": { "tags": [ "Transcriptions" ], "summary": "Translate video", "description": "Translate video", "operationId": "translateVideo", "parameters": [ { "name": "id", "in": "path", "description": "Id of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "title": "TranslateRequest", "required": [ "language" ], "type": "object", "properties": { "language": { "type": "string", "description": "Target language of the translation" } } } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "TranscribeResponse", "type": "object" } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } }, "deprecated": false } }, "/videos/{id}/transcriptions/translation_languages": { "get": { "tags": [ "Transcriptions" ], "summary": "List translation languages", "description": "List possible translation languages", "operationId": "listLanguages", "parameters": [ { "name": "id", "in": "path", "description": "Id of video", "required": true, "style": "simple", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "LanguagesResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "title": "Language", "type": "string" } } } } } } }, "404": { "description": "Video not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } }, "deprecated": false } }, "/video_imports": { "get": { "summary": "List Video Imports", "description": "", "tags": [ "Video Imports" ], "operationId": "listVideoImports", "parameters": [ { "name": "id", "$ref": "#/paths/~1devices/get/parameters/1" }, { "name": "created_at", "$ref": "#/paths/~1devices/get/parameters/2" }, { "name": "q", "$ref": "#/paths/~1devices/get/parameters/3" }, { "name": "type", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by title\nExamples:\n + hulu\n + youtube\n + crunchyroll" }, { "name": "active", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by active or inactive or all records\nExamples:\n + true\n + false\n + all" }, { "name": "status", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by status of import\nExamples:\n + created\n + ready" }, { "name": "video_source_id", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by ID of VideoSource" }, { "name": "response_fields", "$ref": "#/paths/~1videos/get/parameters/28" }, { "name": "order", "$ref": "#/paths/~1videos/get/parameters/29" }, { "name": "sort", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/3" }, { "name": "page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/1" }, { "name": "per_page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/2" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "VideoImportsResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1video_imports/post/responses/200/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } } } }, "post": { "summary": "Create Video Import", "description": "Import a video from a 3rd party source url", "operationId": "createVideoImport", "tags": [ "Video Imports" ], "parameters": [], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "VideoImportRequest", "type": "object", "required": [ "video_import" ], "properties": { "video_import": { "title": "VideoImportProperties", "type": "object", "required": [ "source_url", "title" ], "properties": { "auto_activate": { "type": "boolean", "description": "Indicate if the video should be set to \"active\" after import to library - default: true" }, "auto_add": { "type": "boolean", "description": "Indicate if the video should be added to your library upon import - default: true" }, "auto_transcribe": { "type": "boolean", "description": "Indicate if the video should be transcribed - default: false. If the value isn't present, the site auto transcribe flag will be used instead" }, "auto_translate": { "type": "boolean", "description": "Indicate if the video should be translated using the site's translation languages - default: false. If the value isn't present, the site default configuration will be used instead" }, "description": { "description": "Full length description of the video", "type": "string" }, "episode": { "description": "Episode number", "type": "number" }, "season": { "description": "Season number", "type": "number" }, "source_url": { "description": "URL of the video to import", "type": "string" }, "title": { "type": "string" }, "to_zype_hosted": { "type": "boolean", "description": "Indicate if the video should be transcoded upon import - default: true" }, "source_id": { "type": "string", "description": "Optional identifier to relate this video to other platforms." } } } } } } } }, "responses": { "200": { "description": "Created", "content": { "application/json": { "schema": { "title": "VideoImportResponse", "type": "object", "properties": { "response": { "title": "VideoImport", "type": "object", "properties": { "_id": { "type": "string" }, "created_at": { "type": "string" }, "deleted_at": { "type": "string" }, "description": { "type": "string" }, "duration": { "type": "number", "format": "double" }, "episode": { "type": "number", "format": "double" }, "expires_at": { "type": "string" }, "keywords": { "type": "array", "items": { "type": "string" } }, "published_at": { "type": "string" }, "season": { "type": "number", "format": "double" }, "site_id": { "type": "string" }, "source_id": { "type": "string" }, "source_url": { "type": "string" }, "starts_at": { "type": "string" }, "status": { "type": "string" }, "thumbnails": { "type": "array" }, "title": { "type": "string" }, "updated_at": { "type": "string" }, "upload_id": { "type": "string" }, "video_id": { "type": "string" }, "video_source_id": { "type": "string" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/video_imports/{id}/add_video": { "put": { "summary": "Attach a Video to a Video Import", "description": "Attach a video import as a Source to a video in the library", "tags": [ "Video Imports" ], "operationId": "addVideoToImport", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Id of the video import to merge with the video_id" } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "VideoImportAddVideoRequest", "type": "object", "required": [ "video_id" ], "properties": { "video_id": { "type": "string", "description": "ID of the video to merge with the VideoImport" } } } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1video_imports/post/responses/200/content/application~1json/schema" } } } }, "404": { "description": "VideoImport not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/video_imports/{id}": { "get": { "summary": "View Video Import", "description": "", "tags": [ "Video Imports" ], "operationId": "getVideoImport", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of segment" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1video_imports/post/responses/200/content/application~1json/schema" } } } }, "404": { "description": "VideoImport not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/video_sources": { "get": { "summary": "List Video Sources", "description": "", "tags": [ "Video Sources" ], "operationId": "listVideoSources", "parameters": [ { "name": "id", "$ref": "#/paths/~1devices/get/parameters/1" }, { "name": "created_at", "$ref": "#/paths/~1devices/get/parameters/2" }, { "name": "q", "$ref": "#/paths/~1devices/get/parameters/3" }, { "name": "type", "in": "query", "schema": { "type": "string", "enum": [ "self_hosted", "zype", "hulu", "youtube", "crunchyroll" ] }, "description": "The type of video sources to query." }, { "name": "response_fields", "$ref": "#/paths/~1videos/get/parameters/28" }, { "name": "order", "$ref": "#/paths/~1videos/get/parameters/29" }, { "name": "sort", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/3" }, { "name": "page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/1" }, { "name": "per_page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/2" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "VideoSourcesResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1video_sources/post/responses/201/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } } } }, "post": { "summary": "Create Video Source", "description": "Only MRSS video sources may be created via the API at this time.", "tags": [ "Video Sources" ], "operationId": "createVideoSource", "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "VideoSourceRequest", "type": "object", "required": [ "type" ], "properties": { "type": { "description": "Specify the type of Video Source. At the moment only `mrss` can be created ", "type": "string", "enum": [ "mrss" ] }, "video_source": { "type": "object", "title": "VideoSourceProperties", "required": [ "url" ], "properties": { "name": { "type": "string" }, "url": { "description": "URL of the MRSS feed. You can update this field for the following video source types: - MRSS", "type": "string" }, "category_id": { "type": "string", "description": "Category ID assigned to the video source" }, "mrss_category_values": { "type": "array", "description": "List of MRSS category values" }, "sync_interval": { "type": "string", "enum": [ "daily", "hourly" ], "description": "How often this video source should sync with the MRSS feed (daily / hourly)" }, "auto_add": { "type": "boolean", "description": "Automatically add new video sources to your video library as the feed is synced" }, "auto_activate": { "description": "Automatically activate new videos added to your video library", "type": "boolean" }, "auto_deactivate": { "type": "boolean", "description": "Automatically deactivate video data sources that are absent from this feed that have been previously imported" }, "sync_video_data_source": { "type": "boolean", "description": "Automatically update video source attributes such as thumbnails and video files" }, "import_from": { "type": "string", "description": "Exclude videos published before this date" }, "import_to": { "type": "string", "description": "Exclude videos published after this date" }, "to_zype_hosted": { "type": "boolean", "description": "Indicate if the content (media files) should imported and transcoded as Zype hosted" } } } } } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "title": "VideoSourceResponse", "type": "object", "properties": { "response": { "title": "VideoSource", "type": "object", "properties": { "_id": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "status": { "description": "Options are `created` and `ready`", "type": "string" }, "name": { "type": "string" }, "guid": { "description": "Globally unique identifier given by the video source", "type": "string" }, "category_id": { "type": "string" }, "auto_activate": { "type": "boolean" }, "auto_add": { "type": "boolean" }, "auto_deactivate": { "type": "boolean" }, "sync_interval": { "type": "string" }, "sync_video_data_source": { "type": "boolean" }, "url": { "type": "string" }, "import_from": { "type": "string" }, "import_to": { "type": "string" }, "editable": { "type": "boolean" }, "video_count": { "description": "How many videos are part of this video source", "type": "string" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/video_sources/{id}": { "get": { "summary": "View Video Source", "description": "", "tags": [ "Video Sources" ], "operationId": "getVideoSource", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of video source" } ], "responses": { "200": { "description": "Returns a single VideoSource", "content": { "application/json": { "schema": { "$ref": "#/paths/~1video_sources/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "VideoSource not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } }, "put": { "summary": "Update Video Source", "description": "", "tags": [ "Video Sources" ], "operationId": "updateVideoSource", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of video source" } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1video_sources/post/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1video_sources/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "VideoSource not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } }, "delete": { "summary": "Delete a Video Source", "description": "", "tags": [ "Video Sources" ], "operationId": "deleteVideoSource", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of video source" } ], "responses": { "204": { "description": "VideoSource deleted successfully", "content": { "application/json": { "schema": { "$ref": "#/paths/~1video_sources/post/responses/201/content/application~1json/schema" } } } }, "404": { "description": "VideoSource not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/site/users": { "get": { "summary": "List Admin Users", "description": "Retrieve a list of administrative users on your property.", "operationId": "listUsers", "tags": [ "Users" ], "parameters": [ { "name": "id", "$ref": "#/paths/~1devices/get/parameters/1" }, { "name": "created_at", "$ref": "#/paths/~1devices/get/parameters/2" }, { "name": "q", "$ref": "#/paths/~1devices/get/parameters/3" }, { "name": "order", "$ref": "#/paths/~1videos/get/parameters/29" }, { "name": "sort", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/3" }, { "name": "page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/1" }, { "name": "per_page", "$ref": "#/paths/~1playlists~1%7Bid%7D~1videos/get/parameters/2" }, { "name": "email", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter records by email address\nExample: `user[email]=matis@yahoo.com`" } ], "responses": { "200": { "description": "Response will be an array of admin users", "content": { "application/json": { "schema": { "title": "UsersResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1site~1users/post/responses/200/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } }, "post": { "summary": "Create User", "description": "Add an admin user to your property", "operationId": "createUser", "tags": [ "Users" ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "title": "UserRequest", "type": "object", "required": [ "user" ], "properties": { "user": { "type": "object", "title": "UserProperties", "properties": { "first_name": { "type": "string", "description": "The first name of the admin user" }, "last_name": { "type": "string", "description": "The last name of the admin user" }, "email": { "type": "string", "description": "The email address of the admin user" }, "role": { "type": "string", "description": "Admin role type assigned to user -- must be either 'admin', 'finance_manager', or 'content_manager'. Default is 'admin' if omitted." } } } } } } } }, "responses": { "200": { "description": "User object is returned.", "content": { "application/json": { "schema": { "title": "UserResponse", "type": "object", "properties": { "response": { "type": "object", "title": "User", "properties": { "_id": { "type": "string" }, "first_name": { "type": "string" }, "last_name": { "type": "string" }, "email": { "type": "string" }, "phone_number": { "type": "string" }, "role_ids": { "type": "array" }, "notifications_enabled": { "type": "boolean" }, "sign_in_count": { "type": "number" }, "last_sign_in_at": { "type": "string" }, "current_sign_in_at": { "type": "string" }, "last_sign_in_ip": { "type": "string" }, "current_sign_in_ip": { "type": "string" }, "time_zone": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } } } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/site/users/{id}": { "get": { "summary": "View User", "description": "Retrieve a single admin user from your site", "operationId": "getUser", "tags": [ "Users" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of user" } ], "responses": { "200": { "description": "Return user", "content": { "application/json": { "schema": { "$ref": "#/paths/~1site~1users/post/responses/200/content/application~1json/schema" } } } }, "404": { "description": "User not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } }, "put": { "description": "Update a single user on your property", "summary": "Update user", "tags": [ "Users" ], "operationId": "updateUser", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "ID of user" } ], "requestBody": { "description": "", "required": true, "content": { "application/json": { "schema": { "$ref": "#/paths/~1site~1users/post/requestBody/content/application~1json/schema" } } } }, "responses": { "200": { "description": "Update user", "content": { "application/json": { "schema": { "$ref": "#/paths/~1site~1users/post/responses/200/content/application~1json/schema" } } } }, "404": { "description": "User not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/site/users/{id}/remove": { "put": { "summary": "Remove an admin user from your property.", "description": "Admin users are global, and can have access to multiple zype properties. This method does not delete the user, it only removes it from your property.", "tags": [ "Users" ], "operationId": "removeUser", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" }, "description": "" } ], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1site~1users/post/responses/200/content/application~1json/schema" } } } }, "404": { "description": "User not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/live/encoders": { "get": { "summary": "List Encoders", "description": "Retrieve a list of encoders from your account", "operationId": "listV1Encoders", "tags": [ "Encoders" ], "responses": { "200": { "description": "Response will be an array of encoders", "content": { "application/json": { "schema": { "title": "EncodersResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "$ref": "#/paths/~1live~1encoders~1%7Bencoder_name%7D/get/responses/200/content/application~1json/schema/properties/response" }, "description": "" }, "pagination": { "$ref": "#/paths/~1videos/get/responses/200/content/application~1json/schema/properties/pagination" } } } } } }, "422": { "description": "Unprocessable entity", "content": { "application/json": { "schema": { "$ref": "#/paths/~1videos/get/responses/422/content/application~1json/schema" } } } } } } }, "/live/encoders/{encoder_name}": { "get": { "summary": "View Encoder", "description": "", "tags": [ "Encoders" ], "operationId": "getV1Encoder", "parameters": [ { "name": "encoder_name", "in": "path", "required": true, "schema": { "type": "string" }, "description": "" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "EncoderResponse", "type": "object", "properties": { "response": { "type": "object", "title": "Encoder", "properties": { "encoder_name": { "type": "string" }, "fqdn": { "type": "string" }, "publish_password": { "type": "string" }, "publish_user": { "type": "string" }, "site_id": { "type": "string" }, "status": { "type": "string" } } } } } } } }, "404": { "description": "Encoder not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/live/encoders/{encoder_name}/start": { "post": { "summary": "Start an Encoder", "tags": [ "Encoders" ], "operationId": "startV1Encoder", "parameters": [ { "name": "encoder_name", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Name of the Encoder" }, { "name": "api_key", "in": "query", "required": true, "schema": { "type": "string" }, "description": "API key provided by Zype" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/paths/~1live~1encoders~1%7Bencoder_name%7D~1stop/post/responses/200/content/application~1json/schema" } } } }, "400": { "description": "Error while starting encoder", "content": { "application/json": { "schema": { "title": "EncoderStartErrorResponse", "type": "object", "properties": { "response": { "title": "EncoderStartError", "type": "object", "required": [ "error" ], "properties": { "error": { "type": "string", "example": "Failed to start encoder your-encoder-1234" } } } } } } } }, "404": { "description": "Encoder not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/live/encoders/{encoder_name}/stop": { "post": { "summary": "Stop an Encoder", "tags": [ "Encoders" ], "operationId": "stopV1Encoder", "parameters": [ { "name": "encoder_name", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Name of the Encoder" } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "title": "EncoderStateChangeResponse", "type": "object", "properties": { "response": { "type": "object", "title": "EncoderStateChange", "properties": { "success": { "type": "string" } } } } } } } }, "400": { "description": "Error while stopping encoder", "content": { "application/json": { "schema": { "title": "EncoderStopErrorResponse", "type": "object", "properties": { "response": { "title": "EncoderStopError", "type": "object", "required": [ "error" ], "properties": { "error": { "type": "string", "example": "Failed to stop encoder your-encoder-1234" } } } } } } } }, "404": { "description": "Encoder not found", "content": { "application/json": { "schema": { "$ref": "#/paths/~1app/get/responses/404/content/application~1json/schema" } } } } } } }, "/live/encoders/{encoder_name}/target_rtmp": { "get": { "summary": "List Targets RTMP entries", "description": "Retrieve a list of target rtmp entries from your encoder", "operationId": "listTargetRtmp", "tags": [ "Encoders" ], "parameters": [ { "name": "encoder_name", "in": "path", "required": true, "schema": { "type": "string" }, "description": "" } ], "responses": { "200": { "description": "Response will be an array of target rtmp entries", "content": { "application/json": { "schema": { "title": "EncoderTargetRtmpsResponse", "type": "object", "properties": { "response": { "type": "array", "items": { "title": "EncoderTargetRtmp", "type": "object", "required": [ "error" ], "properties": { "enabled": { "type": "boolean" }, "host": { "type": "string" }, "port": { "type": "integer" }, "stream_name": { "type": "string" }, "application": { "type": "string" }, "entry_name": { "type": "string" }, "source_stream_name": { "type": "string" }, "username": { "type": "string" }, "password": { "type": "string" } } } } } } } } } } } }, "/live/encoders/{encoder_name}/target_rtmp/{target_rtmp_name}": { "get": { "summary": "View Target RTMP entry", "description": "", "tags": [ "Encoders" ], "operationId": "getTargetRTMP", "parameters": [ { "name": "encoder_name", "in": "path", "required": true, "schema": { "type": "string" }, "description": "" }, { "name": "target_rtmp_name", "in": "path", "required": true, "schema": { "type": "string" }, "description": "Target RTMP entry name'" } ], "responses": { "200": { "description": "Response will be single target rtmp entry", "content": { "application/json": { "schema": { "$ref": "#/paths/~1live~1encoders~1%7Bencoder_name%7D~1target_rtmp/get/responses/200/content/application~1json/schema" } } } } } } } } }