Wowza transcoders API

Operations related to transcoders, output renditions, and output stream targets. ### Transcoders Wowza Video transcoders allow you to customize transcoding processes by creating transcoders that are optimized for various network or streaming conditions. When you create a transcoder through the ``/transcoders`` endpoint, you must manually configure output renditions and associated output stream targets. Transcoders, like live streams, can be adaptive bitrate or passthrough. An adaptive bitrate transcoder generates multiple output renditions of your live stream, at different bitrates. A passthrough transcoder, in contrast, sends the source video to a stream target without performing transcoding. Passthrough transcoders, which can only be created if you have a subscription plan that supports them, accrue processing time, bandwidth, and egress usage, but much less than their adaptive bitrate counterparts. ### Output Renditions Before you can start an adaptive bitrate transcoder, you must use the ``/transcoders/{transcoder_id}/outputs`` operations to define the adaptive bitrate output renditions that you want the transcoder to create. Passthrough transcoders require only one output rendition because they send source video to a stream target without transcoding. ### Output Stream Targets Transcoders require output stream targets before you can start them. Although you create and configure stream targets using the different ``/stream_targets`` operations, you must associate a stream target to a transcoder's output rendition using the /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets operations. For an adaptive bitrate transcoder with multiple output renditions defined, you must create output stream targets to associate a stream target to each output rendition. For a passthrough transcoder, you only need one output stream target.

Operations 36

POST /transcoders Create a transcoder #
GET /transcoders Fetch all transcoders #
GET /transcoders/{id} Fetch a transcoder #
PATCH /transcoders/{id} Update a transcoder #
DELETE /transcoders/{id} Delete a transcoder #
PUT /transcoders/{id}/enable_all_stream_targets Enable a transcoder's stream targets #
PUT /transcoders/{id}/disable_all_stream_targets Disable a transcoder's stream targets #
PUT /transcoders/{id}/start Start a transcoder #
PUT /transcoders/{id}/stop Stop a transcoder #
PUT /transcoders/{id}/reset Reset a transcoder #
PUT /transcoders/{id}/start_recording Start recording #
PUT /transcoders/{id}/stop_recording Stop recording #
GET /transcoders/{id}/recordings Fetch a transcoder's recordings #
GET /transcoders/{id}/schedules Fetch transcoder's schedules #
GET /transcoders/{id}/thumbnail_url Fetch the thumbnail URL of a transcoder #
GET /transcoders/{id}/state Fetch the state and uptime ID of a transcoder #
GET /transcoders/{id}/vod_streams Fetch all VOD streams for a transcoder #
GET /transcoders/{transcoder_id}/uptimes Fetch all uptime records for a transcoder #
GET /transcoders/{transcoder_id}/uptimes/{id} Fetch an uptime record #
POST /transcoders/{transcoder_id}/outputs Create an output #
GET /transcoders/{transcoder_id}/outputs Fetch all outputs of a transcoder #
GET /transcoders/{transcoder_id}/outputs/{id} Fetch an output #
PATCH /transcoders/{transcoder_id}/outputs/{id} Update an output #
DELETE /transcoders/{transcoder_id}/outputs/{id} Delete an output #
POST /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets Create an output stream target #
GET /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets Fetch all output stream targets of an output of a transcoder #
GET /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id} Fetch an output stream target #
PATCH /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id} Update an output stream target #
DELETE /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id} Delete an output stream target #
PUT /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id}/enable Enable an output stream target #
PUT /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id}/disable Disable an output stream target #
PUT /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets/{stream_target_id}/restart Restart an output stream target #
POST /transcoders/{transcoder_id}/properties Configure a property for a transcoder #
GET /transcoders/{transcoder_id}/properties Fetch a transcoder's properties #
GET /transcoders/{transcoder_id}/properties/{id} Fetch a property for a transcoder #
DELETE /transcoders/{transcoder_id}/properties/{id} Delete a transcoder's property #

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/wowza-transcoders-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

wowza-transcoders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v2.0
  title: Wowza Video REST API Reference Documentation Transcoders 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: transcoders
  description: "Operations related to transcoders, output renditions, and output stream targets.\n ### Transcoders\n Wowza Video transcoders allow you to customize transcoding processes by creating transcoders that are optimized for various network or streaming conditions. When you create a transcoder through the ``/transcoders`` endpoint, you must manually configure output renditions and associated output stream targets.\n\n Transcoders, like live streams, can be adaptive bitrate or passthrough. An adaptive bitrate transcoder generates multiple output renditions of your live stream, at different bitrates. A passthrough transcoder, in contrast, sends the source video to a stream target without performing transcoding. Passthrough transcoders, which can only be created if you have a subscription plan that supports them, accrue processing time, bandwidth, and egress usage, but much less than their adaptive bitrate counterparts.\n ### Output Renditions\n Before you can start an adaptive bitrate transcoder, you must use the ``/transcoders/{transcoder_id}/outputs`` operations to define the adaptive bitrate output renditions that you want the transcoder to create. Passthrough transcoders require only one output rendition because they send source video to a stream target without transcoding.\n ### Output Stream Targets\n Transcoders require output stream targets before you can start them. Although you create and configure stream targets using the different ``/stream_targets`` operations, you must associate a stream target to a transcoder's output rendition using the /transcoders/{transcoder_id}/outputs/{output_id}/output_stream_targets operations. For an adaptive bitrate transcoder with multiple output renditions defined, you must create output stream targets to associate a stream target to each output rendition. For a passthrough transcoder, you only need one output stream target."
  x-displayName: Transcoders
paths:
  /transcoders:
    post:
      summary: Create a transcoder
      description: This operation creates a transcoder.
      operationId: createTranscoder
      tags:
      - transcoders
      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/transcoders\" \\\n  -d $'{\n  \"transcoder\": {\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/transcoders';\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  \"transcoder\": {\n    \"property\": \"My Value\",\n    \"...\": \"...\"\n  }\n}));\nreq.end();\n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/transcoder_create_input'
        description: Provide the details of the transcoder to create in the body of the request.
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - transcoder
                properties:
                  transcoder:
                    $ref: '#/components/schemas/transcoder'
        '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 transcoders
      description: This operation shows limited details for all of your transcoders. For detailed information, fetch a single transcoder.
      operationId: listTranscoders
      tags:
      - transcoders
      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/transcoders\"\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/transcoders';\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/transcoders'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
  /transcoders/{id}:
    get:
      summary: Fetch a transcoder
      description: This operation shows the details of a specific transcoder.
      operationId: showTranscoder
      tags:
      - transcoders
      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/transcoders/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/transcoders/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 transcoder.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - transcoder
                properties:
                  transcoder:
                    $ref: '#/components/schemas/transcoder'
        '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'
    patch:
      summary: Update a transcoder
      description: This operation updates a transcoder.
      operationId: updateTranscoder
      tags:
      - transcoders
      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/transcoders/2adffc17\" \\\n  -d $'{\n  \"transcoder\": {\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/transcoders/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  \"transcoder\": {\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 transcoder.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/transcoder_update_input'
        description: Provide the details of the transcoder to update in the body of the request.
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - transcoder
                properties:
                  transcoder:
                    $ref: '#/components/schemas/transcoder'
        '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 transcoder
      description: 'This operation deletes a transcoder, including all of its assigned output renditions and stream targets. <br><br><b>Note</b>: You can''t remove transcoders that have an asset_id. Assets must be removed by sending a DEL request to the /assets endpoint. '
      operationId: deleteTranscoder
      tags:
      - transcoders
      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/transcoders/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/transcoders/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 transcoder.
        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'
  /transcoders/{id}/enable_all_stream_targets:
    put:
      summary: Enable a transcoder's stream targets
      description: This operation enables all of the stream targets assigned to a specific transcoder.
      operationId: enableAllStreamTargetsTranscoder
      tags:
      - transcoders
      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/transcoders/2adffc17/enable_all_stream_targets\"\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/transcoders/2adffc17/enable_all_stream_targets';\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 transcoder.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    required:
                    - stream_targets
                    properties:
                      stream_targets:
                        type: object
                        title: stream_targets
                        properties:
                          state:
                            type: string
                            description: The state of the transcoder's stream targets.
                            example: enabled
                            enum:
                            - enabled
                            - disabled
        '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'
  /transcoders/{id}/disable_all_stream_targets:
    put:
      summary: Disable a transcoder's stream targets
      description: This operation disables all of the stream targets assigned to a specific transcoder.
      operationId: disableAllStreamTargetsTranscoder
      tags:
      - transcoders
      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/transcoders/2adffc17/disable_all_stream_targets\"\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/transcoders/2adffc17/disable_all_stream_targets';\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 transcoder.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    required:
                    - stream_targets
                    properties:
                      stream_targets:
                        type: object
                        title: stream_targets
                        properties:
                          state:
                            type: string
                            description: The state of the transcoder's stream targets.
                            example: enabled
                            enum:
                            - enabled
                            - disabled
        '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'
  /transcoders/{id}/start:
    put:
      summary: Start a transcoder
      description: This operation starts a transcoder.
      operationId: startTranscoder
      tags:
      - transcoders
      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/transcoders/2adffc17/start\"\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/transcoders/2adffc17/start';\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 transcoder.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    properties:
                      state:
                        type: string
                        description: The state of the transcoder.
                        example: starting
                        enum:
                        - starting
                        - stopping
                        - started
                        - stopped
                        - resetting
                      uptime_id:
                        type: string
                        description: The unique identifier associated with a specific uptime period of a transcoder.
                        example: abcd1234
        '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'
  /transcoders/{id}/stop:
    put:
      summary: Stop a transcoder
      description: This operation stops a transcoder.
      operationId: stopTranscoder
      tags:
      - transcoders
      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/transcoders/2adffc17/stop\"\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/transcoders/2adffc17/stop';\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 transcoder.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    properties:
                      state:
                        type: string
                        description: The state of the transcoder.
                        example: starting
                        enum:
                        - starting
                        - stopping
                        - started
                        - stopped
                        - resetting
                      uptime_id:
                        type: string
                        description: The unique identifier associated with a specific uptime period of a transcoder.
                        example: abcd1234
        '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'
  /transcoders/{id}/reset:
    put:
      summary: Reset a transcoder
      description: This operation resets a transcoder.
      operationId: resetTranscoder
      tags:
      - transcoders
      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/transcoders/2adffc17/reset\"\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/transcoders/2adffc17/reset';\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 transcoder.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                - transcoder
                properties:
                  transcoder:
                    type: object
                    title: transcoder
                    properties:
                      state:
                        type: string
                        description: The state of the transcoder.
                        example: resetting
                        enum:
                        - starting
                        - stopping
                        - started
                        - stopped
                        - resetting
        '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'
  /transcoders/{id}/start_recording:
    put:
      summary: Start recording
      description: 'This operation starts the recording of a transcoder after the transcoder has started.

        If you want the recording to start and stop automatically when you start or stop the transcoder instead, set _recording_ to **true** when you create a transcoder or update a transcoder.'
      operationId: startTranscoderRecording
      tags:
      - transcoders
 

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