APIs.io Engineering Platform Stream Videos API

The Stream Videos API from APIs.io Engineering Platform — 7 operation(s) for stream videos.

Operations 10

GET /accounts/{account_id}/stream APIs.io Engineering Platform List videos #
POST /accounts/{account_id}/stream APIs.io Engineering Platform Initiate video uploads using TUS #
DELETE /accounts/{account_id}/stream/{identifier} APIs.io Engineering Platform Delete video #
GET /accounts/{account_id}/stream/{identifier} APIs.io Engineering Platform Retrieve video details #
POST /accounts/{account_id}/stream/{identifier} APIs.io Engineering Platform Edit video details #
GET /accounts/{account_id}/stream/{identifier}/embed APIs.io Engineering Platform Retrieve embed Code HTML #
POST /accounts/{account_id}/stream/{identifier}/token APIs.io Engineering Platform Create signed URL tokens for videos #
POST /accounts/{account_id}/stream/copy APIs.io Engineering Platform Upload videos from a URL #
POST /accounts/{account_id}/stream/direct_upload APIs.io Engineering Platform Upload videos via direct upload URLs #
GET /accounts/{account_id}/stream/storage-usage APIs.io Engineering Platform Storage use #

Documentation

Specifications

Other Resources

🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1ab188a6-cc1f-490d-9413-9c6da20918d0?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-0e94f581-cbc1-48e0-b594-1f6b3d07a328?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4517d93a-e7f7-4dc2-b572-06762bbe14de?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-88f9ddbb-3115-47dc-b6e5-7fc6f1d2a190?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-3a12caae-4945-4df4-8ab9-bb6219ba7a9f?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-863b18f0-c2f2-4e32-a5fa-0d1e6ccf77a9?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-189876d1-f207-49a2-a4bc-5c67ae78cd19?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c1e74fd9-3f84-4d95-943d-d645d6cb82f7?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b002164d-6e8a-4b6d-b409-4929476e7818?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-508660fd-30b8-4c9c-aede-8edbac8a514d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-da35e0ba-f1a9-42fe-a77a-56ff0a47e341?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1d4df7d0-9c92-4fa8-946f-2110c2b3b48d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-2af6f54f-d259-46c0-8f86-78856f5885cd?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-cc203f31-e7f6-42ec-ad34-c5c4cde58904?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-f19285da-48dd-4691-bbdf-f7d6bec157a3?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa69cacc-4bbf-4724-a1d4-78cdad57fee8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-a5858f86-04d3-4e15-ae11-b42c7516688b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c2052341-766c-43c7-b1dc-ed4985e4606b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa777c90-8271-4809-8eac-3ec39a9a899c?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4d5957dc-df05-4216-a5fc-d46b3ba811d8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-28d97617-fdba-46a5-ac3e-40f3d2e0fa57?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-7429b451-d812-4abc-b497-b763372cf5c5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b0eafdd0-adaa-48a2-a855-6a31beb86d83?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-209f34ef-13c1-400c-bca8-fcddb304aff5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-fb2bbbb8-d4cc-48b1-a660-c8e158bfbbea?action=share&creator=35240

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/engineering-platform-stream-videos-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

engineering-platform-stream-videos-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'To get started using Cloudflare''s products and services via the API, refer to [how to interact with Cloudflare](https://developers.cloudflare.com/fundamentals/basic-tasks/interact-with-cloudflare/), which covers using tools like [Terraform](https://developers.cloudflare.com/terraform/#cloudflare-terraform) and the [official SDKs](https://developers.cloudflare.com/fundamentals/api/reference/sdks/) to maintain your Cloudflare resources.


    Using the Cloudflare API requires authentication so that Cloudflare knows who is making requests and what permissions you have. Create an API token to grant access to the API to perform actions.


    To create an API token, from the Cloudflare dashboard, go to My Profile > API Tokens and select Create Token. For more information on how to create and troubleshoot API tokens, refer to

    our [API fundamentals](https://developers.cloudflare.com/fundamentals/api/).


    Totally new to Cloudflare? [Start here](https://developers.cloudflare.com/fundamentals/get-started/).'
  license:
    name: BSD-3-Clause
    url: https://opensource.org/licenses/BSD-3-Clause
  title: APIs.io Engineering Platform Cloudflare Stream Videos API
  version: 4.0.0
tags:
- name: Stream Videos
paths:
  /accounts/{account_id}/stream:
    get:
      description: Lists up to 1000 videos from a single request. For a specific range, refer to the optional parameters.
      operationId: stream-videos-list-videos
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/stream_account_identifier'
      - in: query
        name: status
        schema:
          $ref: '#/components/schemas/stream_media_state'
      - in: query
        name: creator
        schema:
          $ref: '#/components/schemas/stream_creator'
      - in: query
        name: type
        schema:
          $ref: '#/components/schemas/stream_type'
      - in: query
        name: asc
        schema:
          $ref: '#/components/schemas/stream_asc'
      - in: query
        name: search
        schema:
          $ref: '#/components/schemas/stream_search'
      - in: query
        name: start
        schema:
          $ref: '#/components/schemas/stream_start'
      - in: query
        name: end
        schema:
          $ref: '#/components/schemas/stream_end'
      - in: query
        name: include_counts
        schema:
          $ref: '#/components/schemas/stream_include_counts'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_api-response-common-failure'
          description: List videos response failure
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_video_response_collection'
          description: List videos response
      security:
      - api_email: []
        api_key: []
        api_token: []
      summary: APIs.io Engineering Platform List videos
      tags:
      - Stream Videos
      x-api-token-group:
      - Stream Write
      - Stream Read
    post:
      description: Initiates a video upload using the TUS protocol. On success, the server responds with a status code 201 (created) and includes a `location` header to indicate where the content should be uploaded. Refer to https://tus.io for protocol details.
      operationId: stream-videos-initiate-video-uploads-using-tus
      parameters:
      - in: header
        name: Tus-Resumable
        required: true
        schema:
          $ref: '#/components/schemas/stream_tus_resumable'
      - in: header
        name: Upload-Creator
        schema:
          $ref: '#/components/schemas/stream_creator'
      - in: header
        name: Upload-Length
        required: true
        schema:
          $ref: '#/components/schemas/stream_upload_length'
      - in: header
        name: Upload-Metadata
        schema:
          $ref: '#/components/schemas/stream_upload_metadata'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/stream_account_identifier'
      requestBody:
        content:
          application/json: {}
        required: true
      responses:
        4XX:
          content:
            application/json: {}
          description: Initiate video uploads using TUS response failure
        '200':
          content:
            application/json: {}
          description: Initiate video uploads using TUS response
      security:
      - api_email: []
        api_key: []
        api_token: []
      summary: APIs.io Engineering Platform Initiate video uploads using TUS
      tags:
      - Stream Videos
      x-api-token-group:
      - Stream Write
  /accounts/{account_id}/stream/{identifier}:
    delete:
      description: Deletes a video and its copies from Cloudflare Stream.
      operationId: stream-videos-delete-video
      parameters:
      - in: path
        name: identifier
        required: true
        schema:
          $ref: '#/components/schemas/stream_identifier'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/stream_account_identifier'
      requestBody:
        content:
          application/json: {}
        required: true
      responses:
        4XX:
          content:
            application/json: {}
          description: Delete video response failure
        '200':
          content:
            application/json: {}
          description: Delete video response
      security:
      - api_email: []
        api_key: []
        api_token: []
      summary: APIs.io Engineering Platform Delete video
      tags:
      - Stream Videos
      x-api-token-group:
      - Stream Write
    get:
      description: Fetches details for a single video.
      operationId: stream-videos-retrieve-video-details
      parameters:
      - in: path
        name: identifier
        required: true
        schema:
          $ref: '#/components/schemas/stream_identifier'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/stream_account_identifier'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_api-response-common-failure'
          description: Retrieve video details response failure
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_video_response_single'
          description: Retrieve video details response
      security:
      - api_email: []
        api_key: []
        api_token: []
      summary: APIs.io Engineering Platform Retrieve video details
      tags:
      - Stream Videos
      x-api-token-group:
      - Stream Write
      - Stream Read
    post:
      description: Edit details for a single video.
      operationId: stream-videos-update-video-details
      parameters:
      - in: path
        name: identifier
        required: true
        schema:
          $ref: '#/components/schemas/stream_identifier'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/stream_account_identifier'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/stream_video_update'
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_api-response-common-failure'
          description: Edit video details response failure
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_video_response_single'
          description: Edit video details response
      security:
      - api_email: []
        api_key: []
        api_token: []
      summary: APIs.io Engineering Platform Edit video details
      tags:
      - Stream Videos
  /accounts/{account_id}/stream/{identifier}/embed:
    get:
      description: Fetches an HTML code snippet to embed a video in a web page delivered through Cloudflare. On success, returns an HTML fragment for use on web pages to display a video. On failure, returns a JSON response body.
      operationId: stream-videos-retreieve-embed-code-html
      parameters:
      - in: path
        name: identifier
        required: true
        schema:
          $ref: '#/components/schemas/stream_identifier'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/stream_account_identifier'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_api-response-common-failure'
          description: Retreieve embed Code HTML response failure
        '200':
          content:
            application/json:
              schema:
                example: <stream id="ea95132c15732412d22c1476fa83f27a"></stream><script data-cfasync="false" defer type="text/javascript" src="https://embed.cloudflarestream.com/embed/we4g.fla9.latest.js"></script>
          description: Retreieve embed Code HTML response
      security:
      - api_email: []
        api_key: []
        api_token: []
      summary: APIs.io Engineering Platform Retrieve embed Code HTML
      tags:
      - Stream Videos
  /accounts/{account_id}/stream/{identifier}/token:
    post:
      description: Creates a signed URL token for a video. If a body is not provided in the request, a token is created with default values.
      operationId: stream-videos-create-signed-url-tokens-for-videos
      parameters:
      - in: path
        name: identifier
        required: true
        schema:
          $ref: '#/components/schemas/stream_identifier'
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/stream_account_identifier'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/stream_signed_token_request'
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_api-response-common-failure'
          description: Create signed URL tokens for videos response failure
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_signed_token_response'
          description: Create signed URL tokens for videos response
      security:
      - api_email: []
        api_key: []
        api_token: []
      summary: APIs.io Engineering Platform Create signed URL tokens for videos
      tags:
      - Stream Videos
  /accounts/{account_id}/stream/copy:
    post:
      description: Uploads a video to Stream from a provided URL.
      operationId: stream-videos-upload-videos-from-a-url
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/stream_account_identifier'
      - in: header
        name: Upload-Creator
        schema:
          $ref: '#/components/schemas/stream_creator'
      - in: header
        name: Upload-Metadata
        schema:
          $ref: '#/components/schemas/stream_upload_metadata'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/stream_video_copy_request'
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_api-response-common-failure'
          description: Upload videos from a URL response failure
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_video_response_single'
          description: Upload videos from a URL response
      security:
      - api_email: []
        api_key: []
        api_token: []
      summary: APIs.io Engineering Platform Upload videos from a URL
      tags:
      - Stream Videos
  /accounts/{account_id}/stream/direct_upload:
    post:
      description: Creates a direct upload that allows video uploads without an API key.
      operationId: stream-videos-upload-videos-via-direct-upload-ur-ls
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/stream_account_identifier'
      - in: header
        name: Upload-Creator
        schema:
          $ref: '#/components/schemas/stream_creator'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/stream_direct_upload_request'
        required: true
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_api-response-common-failure'
          description: Upload videos via direct upload URLs response failure
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_direct_upload_response'
          description: Upload videos via direct upload URLs response
      security:
      - api_email: []
        api_key: []
        api_token: []
      summary: APIs.io Engineering Platform Upload videos via direct upload URLs
      tags:
      - Stream Videos
  /accounts/{account_id}/stream/storage-usage:
    get:
      description: Returns information about an account's storage use.
      operationId: stream-videos-storage-usage
      parameters:
      - in: path
        name: account_id
        required: true
        schema:
          $ref: '#/components/schemas/stream_account_identifier'
      - in: query
        name: creator
        schema:
          $ref: '#/components/schemas/stream_creator'
      responses:
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_api-response-common-failure'
          description: Returns information about an account's storage use response failure
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stream_storage_use_response'
          description: Returns information about an account's storage use response
      security:
      - api_email: []
        api_key: []
        api_token: []
      summary: APIs.io Engineering Platform Storage use
      tags:
      - Stream Videos
components:
  schemas:
    stream_downloadedFrom:
      description: The source URL for a downloaded image. If the watermark profile was created via direct upload, this field is null.
      example: https://company.com/logo.png
      type: string
    stream_padding:
      default: 0.05
      description: The whitespace between the adjacent edges (determined by position) of the video and the image. `0.0` indicates no padding, and `1.0` indicates a fully padded video width or length, as determined by the algorithm.
      example: 0.1
      maximum: 1
      minimum: 0
      type: number
    stream_scheduledDeletion:
      description: Indicates the date and time at which the video will be deleted. Omit the field to indicate no change, or include with a `null` value to remove an existing scheduled deletion. If specified, must be at least 30 days from upload time.
      example: '2014-01-02T02:20:00Z'
      format: date-time
      type: string
    stream_direct_upload_response:
      allOf:
      - $ref: '#/components/schemas/stream_api-response-single'
      - properties:
          result:
            properties:
              scheduledDeletion:
                $ref: '#/components/schemas/stream_scheduledDeletion'
              uid:
                $ref: '#/components/schemas/stream_identifier'
              uploadURL:
                description: The URL an unauthenticated upload can use for a single `HTTP POST multipart/form-data` request.
                example: www.example.com/samplepath
                type: string
              watermark:
                $ref: '#/components/schemas/stream_watermarks'
    stream_video_copy_request:
      properties:
        allowedOrigins:
          $ref: '#/components/schemas/stream_allowedOrigins'
        creator:
          $ref: '#/components/schemas/stream_creator'
        meta:
          $ref: '#/components/schemas/stream_media_metadata'
        requireSignedURLs:
          $ref: '#/components/schemas/stream_requireSignedURLs'
        scheduledDeletion:
          $ref: '#/components/schemas/stream_scheduledDeletion'
        thumbnailTimestampPct:
          $ref: '#/components/schemas/stream_thumbnailTimestampPct'
        url:
          description: A video's URL. The server must be publicly routable and support `HTTP HEAD` requests and `HTTP GET` range requests. The server should respond to `HTTP HEAD` requests with a `content-range` header that includes the size of the file.
          example: https://example.com/myvideo.mp4
          format: uri
          type: string
        watermark:
          $ref: '#/components/schemas/stream_watermark_at_upload'
      required:
      - url
    stream_watermark_size:
      description: The size of the image in bytes.
      example: 29472
      type: number
    stream_pctComplete:
      description: Indicates the size of the entire upload in bytes. The value must be a non-negative integer.
      maximum: 100
      minimum: 0
      type: string
    stream_api-response-single:
      allOf:
      - $ref: '#/components/schemas/stream_api-response-common'
      type: object
    stream_upload_metadata:
      description: 'Comma-separated key-value pairs following the TUS protocol specification. Values are Base-64 encoded.

        Supported keys: `name`, `requiresignedurls`, `allowedorigins`, `thumbnailtimestamppct`, `watermark`, `scheduleddeletion`.'
      example: name aGVsbG8gd29ybGQ=, requiresignedurls, allowedorigins ZXhhbXBsZS5jb20sdGVzdC5jb20=
      type: string
    stream_errorReasonCode:
      description: Specifies why the video failed to encode. This field is empty if the video is not in an `error` state. Preferred for programmatic use.
      example: ERR_NON_VIDEO
      type: string
    stream_requireSignedURLs:
      default: false
      description: Indicates whether the video can be a accessed using the UID. When set to `true`, a signed token must be generated with a signing key to view the video.
      example: true
      type: boolean
    stream_width:
      description: The width of the image in pixels.
      type: integer
    stream_watermarks:
      properties:
        created:
          $ref: '#/components/schemas/stream_watermark_created'
        downloadedFrom:
          $ref: '#/components/schemas/stream_downloadedFrom'
        height:
          $ref: '#/components/schemas/stream_height'
        name:
          $ref: '#/components/schemas/stream_name'
        opacity:
          $ref: '#/components/schemas/stream_opacity'
        padding:
          $ref: '#/components/schemas/stream_padding'
        position:
          $ref: '#/components/schemas/stream_position'
        scale:
          $ref: '#/components/schemas/stream_scale'
        size:
          $ref: '#/components/schemas/stream_watermark_size'
        uid:
          $ref: '#/components/schemas/stream_watermark_identifier'
        width:
          $ref: '#/components/schemas/stream_width'
      type: object
    stream_media_metadata:
      description: A user modifiable key-value store used to reference other systems of record for managing videos.
      example:
        name: video12345.mp4
      type: object
    stream_errorReasonText:
      description: Specifies why the video failed to encode using a human readable error message in English. This field is empty if the video is not in an `error` state.
      example: The file was not recognized as a valid video file.
      type: string
    stream_playback:
      properties:
        dash:
          description: DASH Media Presentation Description for the video.
          example: https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/manifest/video.mpd
          type: string
        hls:
          description: The HLS manifest for the video.
          example: https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/manifest/video.m3u8
          type: string
      type: object
    stream_allowedOrigins:
      description: Lists the origins allowed to display the video. Enter allowed origin domains in an array and use `*` for wildcard subdomains. Empty arrays allow the video to be viewed on any origin.
      example:
      - example.com
      items:
        type: string
      type: array
    stream_upload_length:
      description: Indicates the size of the entire upload in bytes. The value must be a non-negative integer.
      minimum: 0
      type: integer
    stream_asc:
      default: false
      description: Lists videos in ascending order of creation.
      example: true
      type: boolean
    stream_input:
      properties:
        height:
          description: The video height in pixels. A value of `-1` means the height is unknown. The value becomes available after the upload and before the video is ready.
          type: integer
        width:
          description: The video width in pixels. A value of `-1` means the width is unknown. The value becomes available after the upload and before the video is ready.
          type: integer
      type: object
    stream_uploaded:
      description: The date and time the media item was uploaded.
      example: '2014-01-02T02:20:00Z'
      format: date-time
      type: string
    stream_end:
      description: Lists videos created before the specified date.
      example: '2014-01-02T02:20:00Z'
      format: date-time
      type: string
    stream_position:
      default: upperRight
      description: 'The location of the image. Valid positions are: `upperRight`, `upperLeft`, `lowerLeft`, `lowerRight`, and `center`. Note that `center` ignores the `padding` parameter.'
      example: center
      type: string
    stream_search:
      description: Searches over the `name` key in the `meta` field. This field can be set with or after the upload request.
      example: puppy.mp4
      type: string
    stream_preview:
      description: The video's preview page URI. This field is omitted until encoding is complete.
      example: https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/watch
      format: uri
      type: string
    stream_duration:
      description: The duration of the video in seconds. A value of `-1` means the duration is unknown. The duration becomes available after the upload and before the video is ready.
      type: number
    stream_oneTimeUploadExpiry:
      description: The date and time when the video upload URL is no longer valid for direct user uploads.
      example: '2014-01-02T02:20:00Z'
      format: date-time
      type: string
    stream_videos:
      properties:
        allowedOrigins:
          $ref: '#/components/schemas/stream_allowedOrigins'
        created:
          $ref: '#/components/schemas/stream_created'
        creator:
          $ref: '#/components/schemas/stream_creator'
        duration:
          $ref: '#/components/schemas/stream_duration'
        input:
          $ref: '#/components/schemas/stream_input'
        liveInput:
          $ref: '#/components/schemas/stream_liveInput'
        maxDurationSeconds:
          $ref: '#/components/schemas/stream_maxDurationSeconds'
        meta:
          $ref: '#/components/schemas/stream_media_metadata'
        modified:
          $ref: '#/components/schemas/stream_modified'
        playback:
          $ref: '#/components/schemas/stream_playback'
        preview:
          $ref: '#/components/schemas/stream_preview'
        readyToStream:
          $ref: '#/components/schemas/stream_readyToStream'
        readyToStreamAt:
          $ref: '#/components/schemas/stream_readyToStreamAt'
        requireSignedURLs:
          $ref: '#/components/schemas/stream_requireSignedURLs'
        scheduledDeletion:
          $ref: '#/components/schemas/stream_scheduledDeletion'
        size:
          $ref: '#/components/schemas/stream_size'
        status:
          $ref: '#/components/schemas/stream_media_status'
        thumbnail:
          $ref: '#/components/schemas/stream_thumbnail_url'
        thumbnailTimestampPct:
          $ref: '#/components/schemas/stream_thumbnailTimestampPct'
        uid:
          $ref: '#/components/schemas/stream_identifier'
        uploadExpiry:
          $ref: '#/components/schemas/stream_oneTimeUploadExpiry'
        uploaded:
          $ref: '#/components/schemas/stream_uploaded'
        watermark:
          $ref: '#/components/schemas/stream_watermarks'
      type: object
    stream_accessRules:
      description: Defines rules for fine-grained control over content than signed URL tokens alone. Access rules primarily make tokens conditionally valid based on user information. Access Rules are specified on token payloads as the `accessRules` property containing an array of Rule objects.
      properties:
        action:
          description: The action to take when a request matches a rule. If the action is `block`, the signed token blocks views for viewers matching the rule.
          enum:
          - allow
          - block
          example: allow
          type: string
        country:
          description: An array of 2-letter country codes in ISO 3166-1 Alpha-2 format used to match requests.
          items:
            type: string
          type: array
        ip:
          description: An array of IPv4 or IPV6 addresses or CIDRs used to match requests.
          items:
            type: string
          type: array
        type:
          description: Lists available rule types to match for requests. An `any` type matches all requests and can be used as a wildcard to apply default actions after other rules.
          enum:
          - any
          - ip.src
          - ip.geoip.country
          example: ip.src
          type: string
      type: object
    stream_identifier:
      description: A Cloudflare-generated unique identifier for a media item.
      example: ea95132c15732412d22c1476fa83f27a
      maxLength: 32
      type: string
    stream_thumbnailTimestampPct:
      default: 0
      description: The timestamp for a thumbnail image calculated as a percentage value of the video's duration. To convert from a second-wise timestamp to a percentage, divide the desired timestamp by the total duration of the video.  If this value is not set, the default thumbnail image is taken from 0s of the video.
      example: 0.529241
      maximum: 1
      minimum: 0
      type: number
    stream_api-response-common-failure:
      properties:
        errors:
          allOf:
          - $ref: '#/components/schemas/stream_messages'
          example:
          - code: 7003
            message: No route for the URI
          minLength: 1
        messages:
          allOf:
          - $ref: '#/components/schemas/stream_messages'
          example: []
        result:
          enum:
          - null
          type:
          - object
          - 'null'
        success:
          description: Whether the API call was successful
          enum:
          - false
          example: false
          type: boolean
      required:
      - success
      - errors
      - messages
      - result
      type: object
    stream_type:
      description: Specifies whether the video is `vod` or `live`.
      example: live
      type: string
    stream_watermark_created:
      description: The date and a time a watermark profile was created.
      example: '2014-01-02T02:20:00Z'
      format: date-time
      type: string
    stream_watermark_at_upload:
      properties:
        uid:
          description: The unique identifier for the watermark profile.
          example: ea95132c15732412d22c1476fa83f27a
          maxLength: 32
          type: string
      type: object
    stream_storage_use_response:
      allOf:
      - $ref: '#/components/schemas/stream_api-response-single'
      - properties:
          result:
            properties:
              creator:
                $ref: '#/components/schemas/stream_creator'
              totalStorageMinutes:
                description: The total minutes of video content stored in the account.
                type: integer
              totalStorageMinutesLimit:
                description: The storage capacity alloted for the account.
                type: integer
              videoCount:
                description: The total count of videos associated with the account.
                type: integer
    stream_creator:
      description: A user-defined identifier for the media creator.
      example: creator-id_abcde12345
      maxLength: 64
      type: string
    stream_name:
      default: ''
      description: A short description of the watermark profile.
      example: Marketing Videos
      type: string
    stream_thumbnail_url:
      description: The media item's thumbnail URI. This field is omitted until encoding is complete.
      example: https://customer-m033z5x00ks6nunl.cloudflarestream.com/ea95132c15732412d22c1476fa83f27a/thumbnails/thumbnail.jpg
      format: uri
      type: string
    stream_video_update:
      properties:
        allowedOrigins:
          $ref: '#/components/schemas/stream_allowedOrigins'
        creator:
          $ref: '#/components/schemas/stream_creator'
        maxDurationSeconds:
          $ref: '#/components/schemas/stream_maxDurationSeconds'
        meta:
          $ref: '#/components/schemas/stream_media_metadata'
        requireSignedURLs:
          $ref: '#/components/schemas/stream_requireSignedURLs'
        scheduledDeletion:
          $ref: '#/components/schemas/stream_scheduledDeletion'
        thumbnailTimestampPct:
          $ref: '#/components/schemas/stream_thumbnailTimestampPct'
        uploadExpiry:
          $ref: '#/components/schemas/stream_oneTimeUploadExpiry'
      type: object
    stream_account_identifier:
      description: The account identifier tag.
      example: 023e105f4ecef8ad9ca31a8372d0c353
      maxLength: 32
      type: string
    stream_height:
      description: The height of the image in pixels.
      type: integer
    stream_size:
      description: The size of the media item in bytes.
      example: 4190963.0
      type: number
    stream_created:
      description: The date and time the media item was created.
      example: '2014-01-02T02:20:00Z'
      format: date-time
      type: string
    stream_readyToStream:
      description: Indicates whether the video is playable. The field is empty if the video is not ready for viewing or the live stream is still in progress.
      example: true
      type: boolean
    stream_media_state:
      description: Specifies the processing status for all quality levels for a video.
      enum:
      - pendingupload
      - downloading
      - queued
      - inprogress
      - ready
      - error
      example: inprogress
      type: string
    stream_tus_resumable:
      description: 'Specifies the TUS protocol version. This value must be included in every upload request.

        Notes: The only supported version of TUS protocol is 1.0.0.'
      enum:
      - 1.0.0
      example: 1.0.0
      type: string
    stream_include_counts:
      default: false
      description: Includes the total number of videos associated with the submitted query parameters.
      example: true
      type: boolean
    stream_watermark_identifier:
      description: The unique identifier for a watermark profile.
      example: ea95132c15732412d22c1476fa83f27a
      maxLength: 32
      type: string
    stream_signed_token_request:
      properties:
        accessRules:
          description: The optional list of access rule constraints on the token. Access can be blocked or allowed based on an IP, IP range, or by country. Access rules are evaluated from first to last. If a rule matches, the associated action is applied and no further rules are evaluated.
          ex

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/engineering-platform/refs/heads/main/openapi/engineering-platform-stream-videos-api-openapi.yml