Wowza assets API

The assets operations are deprecated in 2.0. Use the /videos endpoints instead. Operations related to assets, which are created through the ``/assets`` resources. The Wowza Video service can store and transcode mp4 files that you can tag, manage, and restream.

OpenAPI Specification

wowza-assets-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Wowza Streaming Engine REST advanced_token_authentication assets API
  description: Complete REST API for Wowza Streaming Engine. Auto-converted from Swagger 1.2 (http://localhost:8089/swagger.json) to OpenAPI 3.0.3 for public documentation.
  version: 2.0.0
  contact:
    name: Wowza Media Systems
    url: https://www.wowza.com/docs/wowza-streaming-engine-rest-api
  license:
    name: Wowza Media Systems
    url: https://www.wowza.com
servers:
- url: http://localhost:8087
  description: Wowza Streaming Engine Server
security:
- basicAuth: []
tags:
- name: assets
  description: '<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>


    Operations related to assets, which are created through the ``/assets`` resources. The Wowza Video service can store and transcode mp4 files that you can tag, manage, and restream.'
  x-displayName: Assets
paths:
  /assets:
    post:
      summary: Create an asset
      description: '<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>


        This operation creates an asset. You can only upload MP4 format and H.264 and AAC encoded files. Any files with unsupported codecs are rejected.'
      operationId: createAsset
      tags:
      - assets
      x-codeSamples:
      - lang: Shell
        source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/assets\" \\\n  -d $'{\n  \"asset\": {\n    \"name\": \"My New Asset\"\n  }\n}'"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'POST',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"asset\": {\n    \"name\": \"My New Asset\"\n  }\n}));\nreq.end();\n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/asset_create_input'
        description: Provide the details of the asset to create in the body of the request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - asset
                properties:
                  asset:
                    $ref: '#/components/schemas/asset_create_output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
    get:
      summary: Fetch all assets
      description: '<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>


        This operation shows limited details for all of your assets. For detailed information, fetch a single asset.'
      operationId: listAssets
      tags:
      - assets
      x-codeSamples:
      - lang: Shell
        source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/assets\""
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
      parameters:
      - name: filter
        in: query
        required: false
        description: 'Restricts the data that gets returned by filtering on one or more values associated with a field. For more information and examples, see the technical article [How to get filtered query results with the Wowza Video REST API](https://www.wowza.com/docs/how-to-get-filtered-query-results-with-the-wowza-video-rest-api).


          Example:

          **filter[0][field]=created_at&filter[0][gte]=2021-07-14T17:47:45.000Z**'
        schema:
          type: string
      - name: query
        in: query
        required: false
        description: 'Restricts the data that gets returned by querying on one or more values associated with a set of fields. For more information and examples, see the technical article [How to get filtered query results with the Wowza Video REST API](https://www.wowza.com/docs/how-to-get-filtered-query-results-with-the-wowza-video-rest-api).


          Example:

          **sort_direction=desc&sort_column=created_at&per_page=30&state=completed&query=sample**'
        schema:
          type: string
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/assets'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /assets/{id}:
    get:
      summary: Fetch an asset
      description: '<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>


        This operation shows the details of a specific asset.


        The fields returned vary depending on when you send this request. For example, if a resource hasn''t been created yet during the processing state, you won''t see **available_renditions** in the response.


        **Tip**: If your original upload URL expired and you need a new one for an asset, send this request and the response will contain a new upload URL.'
      operationId: showAsset
      tags:
      - assets
      x-codeSamples:
      - lang: Shell
        source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17\""
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\n"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the asset.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - asset
                properties:
                  asset:
                    $ref: '#/components/schemas/asset'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
    patch:
      summary: Update an asset
      description: '<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>


        This operation updates an asset. Assets must be uploaded and complete processing before they can be updated.


        The fields returned vary depending on when you send this request. For example, if a stream doesn''t have unique viewer data, you won''t see **unique_viewers** in the response.'
      operationId: updateAsset
      tags:
      - assets
      x-codeSamples:
      - lang: Shell
        source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17\" \\\n  -d $'{\n  \"asset\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}'\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"asset\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the asset.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/asset_update_input'
        description: Provide the details of the asset to update in the body of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - asset
                properties:
                  asset:
                    $ref: '#/components/schemas/asset_update_output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Asset Not Available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422_asset_not_available'
    delete:
      summary: Delete an asset
      description: '<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>


        This operation deletes an asset, including all assigned outputs and targets.'
      operationId: deleteAsset
      tags:
      - assets
      x-codeSamples:
      - lang: Shell
        source: "curl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"DELETE\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17\""
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'DELETE',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the asset.
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Asset Not Available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422_asset_not_available'
  /assets/{id}/live_streams:
    post:
      summary: Restream an asset
      description: '<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>


        This operation returns a live stream ID you can use to re-stream an uploaded asset.'
      operationId: restreamAsset
      tags:
      - assets
      x-codeSamples:
      - lang: Shell
        source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n\n  -H \"Content-Type: application/json\" \\\n  -X \"POST\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17/live_streams\""
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17/live_streams';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the asset.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - live_stream
                properties:
                  live_stream:
                    $ref: '#/components/schemas/asset_restream'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '422':
          description: Asset Not Available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422_asset_not_available'
  /asset_tags:
    get:
      summary: Fetch all asset tags
      description: '<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>


        This operation retrieves a list of all of the tags that have been used previously by an organization.'
      operationId: asset_tags
      tags:
      - assets
      x-codeSamples:
      - lang: Shell
        source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"GET\" \\\n  \"${WV_HOST}/api/v2.0/asset_tags\""
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/asset_tags';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  var body = '';\n  res.on('data', function(data){\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});"
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/asset_tags'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /assets/{id}/upload_completed:
    patch:
      summary: Report asset as uploaded
      description: '<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>

        This operation reports that an asset was successfully uploaded to storage.'
      operationId: reportUploadedAsset
      tags:
      - assets
      x-codeSamples:
      - lang: Shell
        source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n\n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17/upload_completed\" \\\n  -d $'{\n  \"asset\": {\n    \"file_size\": \"1570024\",\n    \"duration\": \"9241\"\n  }\n}'\n"
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17/upload_completed';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname',\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nconst req = https.request(options, function(res) {\n  var body = '';\n  res.on('data', function(data) {\n    body += data;\n  });\n  res.on('end', function() {\n    console.log(JSON.parse(body));\n  });\n}).on('error', function(e) {\n  console.log(e.message);\n});\nreq.write(JSON.stringify({\n  \"asset\": {\n    \"file_size\": 1570024,\n    \"duration\": 9241\n  }\n}));\nreq.end();\n"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the asset.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/asset_report_uploaded_input'
        description: Provide the details of the asset to update in the body of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - asset
                properties:
                  asset:
                    $ref: '#/components/schemas/asset_report_uploaded_output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
  /assets/{id}/upload_failed:
    patch:
      summary: Report asset upload as failed
      description: '<blockquote>The <strong>assets</strong> operations are deprecated in 2.0. Use the <strong>/videos</strong> endpoints instead.</blockquote>


        This operation reports that an asset uploaded to storage failed. You can only upload MP4 format and H.264 and AAC encoded files. Any files with unsupported codecs are rejected.'
      operationId: reportUploadFailedAsset
      tags:
      - assets
      x-codeSamples:
      - lang: Shell
        source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n  \n  -H \"Content-Type: application/json\" \\\n  -X \"PATCH\" \\\n  \"${WV_HOST}/api/v2.0/assets/2adffc17/upload_failed\""
      - lang: JavaScript
        source: "// Using Node.js\nconst https = require('https');\nconst crypto = require('crypto');\nvar hostname = 'api.video.wowza.com'\nvar path = '/api/v2.0/assets/2adffc17/upload_failed';\n//For security, never reveal API token in client-side code\nvar wvJWT = 'Bearer [your JWT]';\n\nconst options = {\n  hostname: hostname,\n  path: path,\n  method: 'PATCH',\n  headers: {\n    'Authorization': wvJWT,\n    'Content-Type': 'application/json'\n  }\n};\nhttps.get(options, function(res) {\n  // no data being returned, just: 204 NO CONTENT\n  console.log(res.statusCode);\n}).on('error', function(e) {\n  console.log(e.message);\n});"
      parameters:
      - name: id
        in: path
        required: true
        description: The unique alphanumeric string that identifies the asset.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/asset_report_upload_failed_input'
        description: Provide the details of the asset to update in the body of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - asset
                properties:
                  asset:
                    $ref: '#/components/schemas/asset_report_upload_failed_output'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error410'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
components:
  schemas:
    asset_report_upload_failed_output:
      type: object
      description: ''
      properties:
        id:
          type: string
          description: The unique alphanumeric string that identifies the asset
          example: i4qsbwvi
        name:
          type: string
          description: A descriptive name for the live stream. Maximum 200 characters.
          example: My Asset
        tags:
          type: array
          description: A list of tags associated with the asset.
          example:
          - Tag1
          - Tag2
          - Tag3
        recording_id:
          type: string
          description: An ID for the recording. You can use this to fetch additional information about the recording associated with the asset.
          example: l8qsbwvu
        state:
          type: string
          description: The state of the asset.
          example: failed
          enum:
          - uploading
          - processing
          - completed
          - failed
        created_at:
          type: string
          description: The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows: YYYY-DD-MMTHH:MM:SSZ using 24-hour clock ("military") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset.
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        updated_at:
          type: string
          description: The date and time that the asset was updated in Coordinated Universal Time (UTC) format. Dates are formatted as follows: YYYY-DD-MMTHH:MM:SSZ using 24-hour clock ("military") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset. 
          example: '2021-06-30T18:02:20.000Z'
          format: date-time
        average_view_time:
          type: integer
          description: The average time that the asset has been viewed in seconds. For example, 12580 seconds would be 3.5 hours.
          example: 12580
          format: time
        file_name:
          type: string
          description: 'The name of the mp4 file you uploaded.


            <blockquote><strong>Note:</strong> To avoid file management issues in storage, Wowza Video removes or replaces special characters in file names.</blockquote>'
          example: MyAsset.mp4
        processing_percentage:
          type: integer
          description: A percentage that describes how soon transcoding will complete.
          example: 100
    asset_restream:
      type: object
      description: ''
      title: assets_restream
      properties:
        id:
          type: string
          description: The unique alphanumeric string that identifies the live stream associated with the asset.
          example: Yx6rTGKL
        name:
          type: string
          description: A name for the live stream assosicated with the asset. This is generated by Wowza Video.
          example: CMS Restreamed (ucknggax)
    index_asset:
      type: object
      title: assets
      description: ''
      properties:
        id:
          type: string
          description: The unique alphanumeric string that identifies the asset
          example: i4qsbwvi
        name:
          type: string
          description: A descriptive name for the asset. Maximum 200 characters.
          example: MyAsset
        created_at:
          type: string
          description: The date and time that the asset was created in Coordinated Universal Time (UTC) format. Dates are formatted as follows: YYYY-DD-MMT HH:MM:SSZ using 24-hour clock ("military") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset. .
          example: ''
          format: date-time
        updated_at:
          type: string
          description: The date and time that the asset was updated in Coordinated Universal Time (UTC) format. Dates are formatted as follows: YYYY-DD-MMT HH:MM:SSZ using 24-hour clock ("military") time and including the T and Z. The T marks the end of the date portion and the Z represents zero UTC time offset. .
          example: '2022-02-26T01:38:40.310Z'
          format: date-time
        published:
          type: boolean
          description: Specifies whether an asset is published, which enables playback.
        thumbnail_url:
          type: string
          description: The URL to receive the preview thumbnail.
          example: https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/0pfxrlw2_thumbnail.jpg
        state:
          type: string
          description: The state of the asset.
          example: completed
          enum:
          - uploading
          - processing
          - completed
          - failed
        reason:
          type: string
          description: The reason that an asset has the state **failed**. Only returned when state is **failed** after processing is attempted.
          example: ''
        processing_percentage:
          type: integer
          description: A percentage that describes how soon transcoding will complete.
          example: '100.0'
        file_size:
          type: integer
          description: The file size of the asset in bytes. For example, 2372820 bytes equals 2.4 megabytes.
          example: ''
          format: int64
        playback_url:
          type: string
          description: The address that can be used to configure playback of the stream.
          example: ''
        download_url:
          type: string
          description: The URL that can be used to download the asset as a .MP4 file.
          example: https://objectstorage.us-ashburn-1.oraclecloud.com/n/idcrz33q3xdo/b/recordings-qa-S7I69eYn/o/abcd1234/recording_0pfxrlw2/MyAsset.mp4
        file_name:
          type: string
          description: 'The name of the mp4 file you uploaded.


            <blockquote><strong>Note:</strong> To avoid file management issues in storage, Wowza Video removes or replaces special characters in file names.</blockquote>'
          example: MyAsset.mp4
    asset_tags:
      type: object
      description: ''
      properties:
        asset_tags:
          type: array
          description: An array of asset tags the organization has created.
      example:
        asset_tags:
        - tag1
        - tag2
        - tag3
    asset_report_upload_failed_input:
      type: object
      description: ''
      required:
      - asset
      properties:
        asset:
          type: object
          title: asset
          description: ''
          required:
          - reason
          - status
          properties:
            reason:
              type: string
              description: A description of why the upload failed.
              example: Token expired
            status:
              type: string
              description: The status code returned by the server.
              example: 404
    asset_create_output:
      type: object
      description: ''
      properties:
        id:
          type: string
          description: The unique identifier of the asset. Use this ID to perform other operations 

# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wowza/refs/heads/main/openapi/wowza-assets-api-openapi.yml