Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
version: v2.0
title: Wowza Video REST API Reference Documentation Schedules API
license:
name: Terms of Use
url: https://www.wowza.com/legal/terms-of-use
description: "API lifecycle phase: [Current](https://www.wowza.com/docs/wowza-video-rest-api-lifecycle-management#api-lifecycle0)\n\n\n<table>\n<tr style=\"background-color:lightgrey;\"><td>\n<strong>Want to take the API for a test run?</strong>\n\nAll you'll need is a [Wowza Video subscription](https://www.wowza.com/pricing), or [free trial](https://www.wowza.com/free-trial), for the API access token. Then, fork [our collection in Postman](https://www.postman.com/wowzavideo/workspace/wowza-video-rest-api) and you'll be\nmaking calls to our REST API in minutes!\n\nSee [Trial the Wowza Video REST API using Postman](https://www.wowza.com/docs/trial-the-wowza-video-rest-api-using-postman) for more information.\n</td>\n</tr>\n</table>\n\n\nThis reference documentation provides details about the operations, parameters, and request and response schemas for every resource and endpoint in the Wowza Video REST API.\nSamples appear in the right column. Sample requests are presented in cURL (Shell) and JavaScript; some samples also include just the JSON object. Response samples are all JSON. \nExamples in cURL use environment variables so you can easily copy and paste them. To learn more, see [Using cURL](https://wowza.com/docs/how-to-use-the-wowza-video-rest-api#curl).\n\n\nReference documentation is available for every version of the API. Use the **Version** menu at the top of the page to access the reference doc for a different version of the API.\n\n<blockquote><strong>Note</strong>: If you haven't moved over to the new Wowza Video UI experience, you won't be able to access v2.0 of the API. We're migrating customers iteratively. See <a href=\"https://developer.wowza.com/docs/wowza-video/upgrade-to-wowza-video/\">Upgrade to the Wowza Video 2.0 REST API</a> for more information.</blockquote>\n"
servers:
- url: https://api.video.wowza.com/api/v2.0
tags:
- name: schedules
description: Operations related to schedules. Schedules allow you to automatically start or stop a live stream or transcoder at a predetermined date and time. You can configure a schedule to start and/or stop a live stream or transcoder just once, or you can configure it to repeat the behavior on a regular basis. See [About schedules](https://www.wowza.com/docs/schedule-live-streams-and-transcoders#aboutSCH) to learn more.
x-displayName: Schedules
paths:
/schedules:
post:
summary: Create a schedule
description: This operation creates a schedule.
operationId: createSchedule
tags:
- schedules
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/schedules\" \\\n -d $'{\n \"schedule\": {\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/schedules';\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 \"schedule\": {\n \"property\": \"My Value\",\n \"...\": \"...\"\n }\n}));\nreq.end();\n"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/schedule_create_input'
description: Provide the details of the schedule to create in the body of the request.
required: true
responses:
'201':
description: Success
content:
application/json:
schema:
type: object
required:
- schedule
properties:
schedule:
$ref: '#/components/schemas/schedule'
'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 schedules
description: This operation shows the details of all of your schedules.
operationId: listSchedules
tags:
- schedules
parameters:
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/per_page'
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/schedules\"\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/schedules';\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"
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/schedules'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error401'
/schedules/{id}:
get:
summary: Fetch a schedule
description: This operation shows the details of a specific schedule.
operationId: showSchedule
tags:
- schedules
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/schedules/2adffc17\"\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/schedules/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 schedule.
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- schedule
properties:
schedule:
$ref: '#/components/schemas/schedule'
'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 a schedule
description: This operation updates a schedule.
operationId: updateSchedule
tags:
- schedules
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/schedules/2adffc17\" \\\n -d $'{\n \"schedule\": {\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/schedules/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 \"schedule\": {\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 schedule.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/schedule_update_input'
description: Provide the details of the schedule to update in the body of the request.
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- schedule
properties:
schedule:
$ref: '#/components/schemas/schedule'
'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'
delete:
summary: Delete a schedule
description: This operation deletes a schedule.
operationId: deleteSchedule
tags:
- schedules
x-codeSamples:
- lang: Shell
source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n \n -H \"Content-Type: application/json\" \\\n -X \"DELETE\" \\\n \"${WV_HOST}/api/v2.0/schedules/2adffc17\"\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/schedules/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});\n"
parameters:
- name: id
in: path
required: true
description: The unique alphanumeric string that identifies the schedule.
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: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/Error422'
/schedules/{id}/enable:
put:
summary: Enable a schedule
description: This operation enables a schedule.
operationId: enableSchedule
tags:
- schedules
x-codeSamples:
- lang: Shell
source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n \n -H \"Content-Type: application/json\" \\\n -X \"PUT\" \\\n \"${WV_HOST}/api/v2.0/schedules/2adffc17/enable\"\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/schedules/2adffc17/enable';\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: 'PUT',\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.end();\n"
parameters:
- name: id
in: path
required: true
description: The unique alphanumeric string that identifies the schedule.
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- schedule
properties:
schedule:
type: object
title: schedule
properties:
state:
type: string
description: A schedule must be **enabled** to run. Specify **enabled** to run the schedule or **disabled** to turn off the schedule so that it doesn't run.
example: enabled
enum:
- enabled
- disabled
- expired
'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'
/schedules/{id}/disable:
put:
summary: Disable a schedule
description: This operation disables a schedule.
operationId: disableSchedule
tags:
- schedules
x-codeSamples:
- lang: Shell
source: "// Using cURL\ncurl -H \"Authorization: Bearer ${WV_JWT}\" \\\n \n -H \"Content-Type: application/json\" \\\n -X \"PUT\" \\\n \"${WV_HOST}/api/v2.0/schedules/2adffc17/disable\"\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/schedules/2adffc17/disable';\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: 'PUT',\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.end();\n"
parameters:
- name: id
in: path
required: true
description: The unique alphanumeric string that identifies the schedule.
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- schedule
properties:
schedule:
type: object
title: schedule
properties:
state:
type: string
description: A schedule must be **enabled** to run. Specify **enabled** to run the schedule or **disabled** to turn off the schedule so that it doesn't run.
example: disabled
enum:
- enabled
- disabled
- expired
'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'
/schedules/{id}/state:
get:
summary: Fetch the state of a schedule
description: This operation shows the current state of a schedule.
operationId: showScheduleState
tags:
- schedules
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/schedules/2adffc17/state\"\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/schedules/2adffc17/state';\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 schedule.
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
required:
- schedule
properties:
schedule:
type: object
title: schedule
properties:
state:
type: string
description: A schedule must be **enabled** to run. Specify **enabled** to run the schedule or **disabled** to turn off the schedule so that it doesn't run.
example: enabled
enum:
- enabled
- disabled
- expired
'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'
components:
schemas:
schedule_create_input:
type: object
description: ''
required:
- schedule
properties:
schedule:
type: object
title: schedule
description: ''
required:
- name
- transcoder_id
- action_type
- recurrence_type
properties:
action_type:
type: string
description: The type of action that the schedule should trigger on the transcoder. The default is **start**.
example: start_stop
enum:
- start
- stop
- start_stop
name:
type: string
description: A descriptive name for the schedule. Maximum 255 characters.
example: Scheduled start for my camera
recurrence_type:
type: string
description: A schedule can run one time only (**once**) or repeat (**recur**) until a specified *end_repeat* date. The default is **once**.
example: recur
enum:
- once
- recur
time_zone:
type: string
example: America/New_York
description: "The time zone the schedule runs in.\n<details> <summary>Click to expand for the full list of valid values</summary>\n\n | Locations | Wowza Video time_zone value |\n |---|---|\n | International Date Line West | Etc/GMT+12 |\n | Midway Island | Pacific/Midway |\n | American Samoa | Pacific/Pago_Pago |\n | Hawaii | Pacific/Honolulu |\n | Alaska | America/Juneau |\n | Pacific Time (US & Canada) | America/Los_Angeles |\n | Tijuana | America/Tijuana |\n | Mountain Time (US & Canada) | America/Denver |\n | Arizona | America/Phoenix |\n | Chihuahua | America/Chihuahua |\n | Mazatlan | America/Mazatlan |\n | Central Time (US & Canada) | America/Chicago |\n | Saskatchewan | America/Regina |\n | Guadalajara | America/Mexico_City |\n | Mexico City | America/Mexico_City |\n | Monterrey | America/Monterrey |\n | Central America | America/Guatemala |\n | Eastern Time (US & Canada) | America/New_York |\n | Indiana (East) | America/Indiana/Indianapolis |\n | Bogota | America/Bogota |\n | Lima | America/Lima |\n | Quito | America/Lima |\n | Atlantic Time (Canada) | America/Halifax |\n | Caracas | America/Caracas |\n | La Paz | America/La_Paz |\n | Santiago | America/Santiago |\n | Newfoundland | America/St_Johns |\n | Brasilia | America/Sao_Paulo |\n | Buenos Aires | America/Argentina/Buenos_Aires |\n | Montevideo | America/Montevideo |\n | Georgetown | America/Guyana |\n | Puerto Rico | America/Puerto_Rico |\n | Greenland | America/Godthab |\n | Mid-Atlantic | Atlantic/South_Georgia |\n | Azores | Atlantic/Azores |\n | Cape Verde Is. | Atlantic/Cape_Verde |\n | Dublin | Europe/Dublin |\n | Edinburgh | Europe/London |\n | Lisbon | Europe/Lisbon |\n | London | Europe/London |\n | Casablanca | Africa/Casablanca |\n | Monrovia | Africa/Monrovia |\n | UTC | Etc/UTC |\n | Belgrade | Europe/Belgrade |\n | Bratislava | Europe/Bratislava |\n | Budapest | Europe/Budapest |\n | Ljubljana | Europe/Ljubljana |\n | Prague | Europe/Prague |\n | Sarajevo | Europe/Sarajevo |\n | Skopje | Europe/Skopje |\n | Warsaw | Europe/Warsaw |\n | Zagreb | Europe/Zagreb |\n | Brussels | Europe/Brussels |\n | Copenhagen | Europe/Copenhagen |\n | Madrid | Europe/Madrid |\n | Paris | Europe/Paris |\n | Amsterdam | Europe/Amsterdam |\n | Berlin | Europe/Berlin |\n | Bern | Europe/Zurich |\n | Zurich | Europe/Zurich |\n | Rome | Europe/Rome |\n | Stockholm | Europe/Stockholm |\n | Vienna | Europe/Vienna |\n | West Central Africa | Africa/Algiers |\n | Bucharest | Europe/Bucharest |\n | Cairo | Africa/Cairo |\n | Helsinki | Europe/Helsinki |\n | Kyiv | Europe/Kiev |\n | Riga | Europe/Riga |\n | Sofia | Europe/Sofia |\n | Tallinn | Europe/Tallinn |\n | Vilnius | Europe/Vilnius |\n | Athens | Europe/Athens |\n | Istanbul | Europe/Istanbul |\n | Minsk | Europe/Minsk |\n | Jerusalem | Asia/Jerusalem |\n | Harare | Africa/Harare |\n | Pretoria | Africa/Johannesburg |\n | Kaliningrad | Europe/Kaliningrad |\n | Moscow | Europe/Moscow |\n | St. Petersburg | Europe/Moscow |\n | Volgograd | Europe/Volgograd |\n | Samara | Europe/Samara |\n | Kuwait | Asia/Kuwait |\n | Riyadh | Asia/Riyadh |\n | Nairobi | Africa/Nairobi |\n | Baghdad | Asia/Baghdad |\n | Tehran | Asia/Tehran |\n | Abu Dhabi | Asia/Muscat |\n | Muscat | Asia/Muscat |\n | Baku | Asia/Baku |\n | Tbilisi | Asia/Tbilisi |\n | Yerevan | Asia/Yerevan |\n | Kabul | Asia/Kabul |\n | Ekaterinburg | Asia/Yekaterinburg |\n | Islamabad | Asia/Karachi |\n | Karachi | Asia/Karachi |\n | Tashkent | Asia/Tashkent |\n | Chennai | Asia/Kolkata |\n | Kolkata | Asia/Kolkata |\n | Mumbai | Asia/Kolkata |\n | New Delhi | Asia/Kolkata |\n | Kathmandu | Asia/Kathmandu |\n | Astana | Asia/Dhaka |\n | Dhaka | Asia/Dhaka |\n | Sri Jayawardenepura | Asia/Colombo |\n | Almaty | Asia/Almaty |\n | Novosibirsk | Asia/Novosibirsk |\n | Rangoon | Asia/Rangoon |\n | Bangkok | Asia/Bangkok |\n | Hanoi | Asia/Bangkok |\n | Jakarta | Asia/Jakarta |\n | Krasnoyarsk | Asia/Krasnoyarsk |\n | Beijing | Asia/Shanghai |\n | Chongqing | Asia/Chongqing |\n | Hong Kong | Asia/Hong_Kong |\n | Urumqi | Asia/Urumqi |\n | Kuala Lumpur | Asia/Kuala_Lumpur |\n | Singapore
# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wowza/refs/heads/main/openapi/wowza-schedules-api-openapi.yml