# Fetch all videos This operation shows details for all videos available in Wowza Video. Endpoint: GET /videos Version: v2.0 ## Query parameters: - `page` (integer) Returns a paginated view of results from the HTTP request. Specify a positive integer to indicate which page of the results should be displayed. The default is 1. - `per_page` (integer) For use with the page parameter. Indicates how many records should be included in a page of results. A valid value is any positive integer. The default and maximum value is 1000. - `created_at` (string) Filter the response based on an asset's timespan. The filter can be specified in following formats: | Spec | Description | |-----|-------| | YYYY-MM-DD'T'HH:mm:ss | Returns all assets with created_at after the specified date | Example: "2024-01-01T00:00:00+0000,2024-02-01T00:00:00+0000" - `updated_at` (string) Filter the response based on an asset's timespan. The filter can be specified in following formats: | Spec | Description | |-----|-------| | YYYY-MM-DD'T'HH:mm:ss | Returns all assets with updated_at after the specified date | Example: "2024-01-01T00:00:00+0000,2024-02-01T00:00:00+0000" - `published_at` (string) Filter the response based on an asset's timespan. The filter can be specified in following formats: | Spec | Description | |-----|-------| | YYYY-MM-DD'T'HH:mm:ss | Returns all assets with published_at after the specified date | Example: "2024-01-01T00:00:00+0000,2024-02-01T00:00:00+0000" - `state` (string) The current state of the video. The state reflects the current status of the video files for the video asset. Possible states listed below: | State | Description | |-----------|-------| | UPLOADING | The source file is currently being uploaded or waiting to be downloaded by our API. | | WAITING_FOR_ENCODER | The source file was successfully downloaded by the platform and is in queue to be encoded. | | PROCESSING | Source file for the asset is encoding. The current encoding progress can be found on encoding_progress property. | | FINISHED | The encoding is done and the encoded files can be fetched. In this state it's possible to embed the video. | | ERROR | If the platform, for some reason, could not download the source file or failed during the encoding process. error_messsage property can give more information about why it errored. | | DELETED | The video files have been deleted. Usually the video asset have been deleted when this state is reached and because of that it's very uncommon to see assets with this state. | Example: "FINISHED" - `query` (string) Search multiple text fields in a search that is case insensitive and does not require full matches. URL encode the value of the query to ensure that it can be processed. There are free URL encoders online. It searches name, description, tags searches all your custom fields for matching terms. You can search specific fields by specifying them after a colon (:); if you have multiple search terms you can use pipe (|) to separate the search terms. Some examples: | Query | Description | | ----- | ----------- | | query=foo | Searches all fields for foo. | Example: "foo:name,custom_fields" - `sort_column` (string) Enum: "created_at", "name", "published_at", "duration" - `sort_direction` (string) Enum: "desc", "asc" - `origin_id` (string) The unique alphanumeric string that identifies the live stream or the real-time stream from which the video originated. Returns all the videos associated with the same ID. Example: "edfg8k34" - `categories` (string) Filters videos by specific categories. Provide one or more category ID(s) to retrieve only the videos that belong to those categories. To enter multiple category IDs, enter the IDs as a comma-separated list. You can specify up to four category IDs. Note: To get the ID of a category, call the GET /categories endpoint and choose the category ID you need. Example: "cb65a918-ad7d-406a-80d8-09c9c8d0dbb" ## Response 200 fields (application/json): - `videos` (array) The list of videos - `videos.id` (string) The unique identifier for the video. Example: "2aa3343e-2fb5-42c3-8671-b52c24b7c3e2" - `videos.name` (string) The video name. Can be displayed in the player. If not specified, it will default to the input file's name. Example: "My video" - `videos.description` (string) The video description. Can be displayed in the player. Example: "A new video for my business." - `videos.duration_in_ms` (integer) Duration of the video in milliseconds. - `videos.unpublish` (boolean) If true, the unpublish_date is respected and the video will not be available after unpublish_date. If false, the video will not be unpublished. - `videos.unpublished_at` (string) Date and time, in ISO-8601 format, when the video no longer is available for publishing. After this date, the video is not visible in the player if using ovp-plugin to request the video. Example: "2025-01-01T12:33:22Z" - `videos.published` (boolean) This field, together with publish_date and unpublish_date, determines if this video will be visible in public listings such as MRSS-feeds, endscreens, and playlists. If true and publish_date and unpublish_date allows, the video will be visible. - `videos.published_at` (string) Date and time, in ISO-8601 format, when the video is available for publishing. Before this date, the video is not visible in the player if using ovp-plugin to request the video. Example: "2024-01-01T12:33:22Z" - `videos.tags` (array) An array of tags. Example: ["foo","bar"] - `videos.category_id` (string) The unique identifier for the category that the video belongs to. - `videos.no_ads` (boolean) When set to true, no ads will be displayed during this video. Note: This feature only works for Iframe embeds. - `videos.ad_keywords` (string) Used for replacing the ad_keywords macro in the VAST-tag in any player that plays the video. Example: "special_ads" - `videos.created_at` (string) Date and time, in ISO-8601 format, when the video was created. Example: "2024-01-01T12:33:22Z" - `videos.updated_at` (string) Date and time, in ISO-8601 format, when the video was updated. Example: "2024-01-01T12:33:22Z" - `videos.state` (string) The current state of the video. The state reflects the current status of the video files for the video asset. Possible states listed below: | State | Description | |-----------|-------| | UPLOADING | The source file is currently being uploaded or waiting to be downloaded by our API. | | WAITING_FOR_ENCODER | The source file was successfully downloaded by the platform and is in queue to be encoded. | | PROCESSING | Source file for the asset is encoding. The current encoding progress can be found on encoding_progress property. | | FINISHED | The encoding is done and the encoded files can be fetched. In this state it's possible to embed the video. | | ERROR | If the platform, for some reason, could not download the source file or failed during the encoding process. error_messsage property can give more information about why it errored. | | DELETED | The video files have been deleted. Usually the video asset have been deleted when this state is reached and because of that it's very uncommon to see assets with this state. | Example: "FINISHED" - `videos.playback_token_behavior` (string) Specifies the behavior of token authentication for the video, determining the level of access control. Use this security when distributing sensitive or valuable video content to audiences. It ensures that only authorized users can access the content within the intended application. enum: - NO_TOKEN: Video files are accessible and can be downloaded and played by anyone at any time. This is the default. - BASIC_TOKEN: The platform automatically creates tokenized video URLs. This setting makes it hard for a viewer to extract the video URL and store it for usage in unintended applications over time since the embed URL, which has the token as part of the URL, will only be playable for 48 hours. The token autorenews after 48 hours when used in the intended application. - ADVANCED_TOKEN: You add the stream's JS embed code and a token to your site to provide tokenization. The protections are similar to those for the Basic Token option except you customize the time limit, geographical limits, etc. during token creation. You must either: - Customize and generate a token via the Wowza Video 2.0 API to add to your site before you can use this enum. You'll need to, first, generate a key id to create and sign the token. - Customize and generate a standard common access token (CAT) through the means you usually use to create tokens before you can use this enum. You must, first, generate a key id and key via the Wowza Video 2.0 API, to create and sign the token. - FOLLOW_DEFAULT: The token behavior is based on the Default Playback Token Behavior setting you select for your Wowza account. See the Org Settings page in Wowza Video article for where to set this configuration. Example: "NO_TOKEN" - `pagination` (object) - `pagination.payload_version` (number) The pagination object version. - `pagination.total_records` (integer) The total number of records. Example: 100 - `pagination.page` (integer) The page number, starting at 1. Example: 1 - `pagination.per_page` (integer) The number of records per page. Example: 10 - `pagination.total_pages` (integer) The total number of pages. Example: 2 - `pagination.page_first_index` (integer) The index of the first record in the response. Example: 10 - `pagination.page_last_index` (integer) The index of the last record in the response. Example: 10 ## Response 401 fields (application/json): - `meta` (object, required) - `meta.status` (integer) - `meta.code` (string) - `meta.title` (string) - `meta.message` (string) - `meta.description` (string) - `meta.links` (array)