Zype Live Encoders API

The Live Encoders API from Zype — 5 operation(s) for live encoders.

Operations 8

GET /v3/live/encoders List Encoders #
POST /v3/live/encoders Create Encoder #
GET /v3/live/encoders/{id} View Encoder #
PUT /v3/live/encoders/{id} Update Encoder #
DELETE /v3/live/encoders/{id} Delete Encoder #
POST /v3/live/encoders/{id}/start Start Encoder #
POST /v3/live/encoders/{id}/stop Stop Encoder #
POST /v3/live/encoders/{id}/sync_encoder Sync Encoder #

Documentation

📖
Documentation
https://docs.zype.com/reference/videos
📖
APIReference
https://docs.zype.com/reference/videos
📖
Documentation
https://docs.zype.com/reference/channels
📖
APIReference
https://docs.zype.com/reference/channels
📖
Documentation
https://docs.zype.com/reference/subscriptions
📖
APIReference
https://docs.zype.com/reference/subscriptions
📖
Documentation
https://docs.zype.com/reference/consumers
📖
APIReference
https://docs.zype.com/reference/consumers
📖
Documentation
https://docs.zype.com/reference/live-encoders
📖
APIReference
https://docs.zype.com/reference/live-encoders
📖
Documentation
https://docs.zype.com/reference/zobjects
📖
APIReference
https://docs.zype.com/reference/zobjects
📖
Documentation
https://docs.zype.com/reference/platform-dynamics
📖
APIReference
https://docs.zype.com/reference/platform-dynamics
📖
Documentation
https://docs.zype.com/reference/welcome-to-the-zype-api-documentation
📖
APIReference
https://docs.zype.com/reference/welcome-to-the-zype-api-documentation
📖
Documentation
https://docs.zype.com/reference/content-rule-groups
📖
APIReference
https://docs.zype.com/reference/content-rule-groups
📖
Documentation
https://docs.zype.com/reference/content-rule-profiles
📖
APIReference
https://docs.zype.com/reference/content-rule-profiles
📖
Documentation
https://docs.zype.com/reference/adobe
📖
APIReference
https://docs.zype.com/reference/adobe
📖
Documentation
https://docs.zype.com/reference/oauth
📖
APIReference
https://docs.zype.com/reference/oauth
📖
Documentation
https://docs.zype.com/reference/players
📖
APIReference
https://docs.zype.com/reference/players
📖
Documentation
https://docs.zype.com/reference/uploads
📖
APIReference
https://docs.zype.com/reference/uploads

Specifications

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/zype:zype-live-encoders-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

zype-live-encoders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Live (V3) Live Encoders API
  version: 1.0.0
  description: Live (V3) API for managing live streaming encoders
servers:
- url: https://api.zype.com
security:
- api_key: []
tags:
- name: Live Encoders
paths:
  /v3/live/encoders:
    get:
      summary: List Encoders
      description: Retrieve a list of live encoders from your account
      operationId: listEncoders
      tags:
      - Live Encoders
      responses:
        '200':
          description: Returns an array of encoders
          content:
            application/json:
              schema:
                title: V3EncodersResponse
                type: object
                properties:
                  response:
                    type: array
                    items:
                      $ref: '#/paths/~1v3~1live~1encoders/post/responses/201/content/application~1json/schema/properties/response'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events/post/responses/422/content/application~1json/schema'
    post:
      summary: Create Encoder
      description: Create a new live encoder
      operationId: createEncoder
      tags:
      - Live Encoders
      requestBody:
        description: Encoder configuration
        required: true
        content:
          application/json:
            schema:
              title: V3EncoderRequest
              type: object
              required:
              - encoder
              properties:
                encoder:
                  type: object
                  title: V3EncoderProperties
                  properties:
                    name:
                      type: string
                      description: Name for the encoder
                    region:
                      type: string
                      description: AWS region where the encoder will be deployed
                      enum:
                      - us-east-1
                      - eu-central-1
                      - ap-southeast-2
                    event_profile_id:
                      type: string
                      description: 'HLS profile ID for the encoder output. Available profiles: CMAF 1080p @ 30fps (70e05a7a-f5e4-4a5b-9e4d-c0b9c5d9056c), CMAF 720p @ 30fps (e201c104-c58d-4fcd-bb29-cca4cb46803a), CMAF 1080p @ 60fps (e1deb531-fb06-464f-b859-4ecec656ee6b), CMAF 720p @ 60fps (4356814e-aa38-4e0b-b1bb-0bc9b824de35)'
                    mqcs_input_switch_enabled:
                      type: boolean
                      default: false
                      description: When enabled, MediaPackage automatically switches to the input presenting the best Media Quality Confidence Score (MQCS).
                    high_availability_enabled:
                      type: boolean
                      default: false
                      description: When enabled, provisions a secondary input source for failover. Requires secondary_hostname on push inputs (e.g. RTMP) or source_secondary_url on HLS pull inputs. Also requires backup_url on any RTMP destinations.
                    nielsen_tagging:
                      type: boolean
                      default: false
                      description: When enabled, Nielsen PCM-to-ID3 tagging is activated for DAR measurement.
                    nielsen_distributor_id:
                      type: string
                      description: Nielsen distributor ID for DAR measurement. Only used when nielsen_tagging is enabled.
                    live_inputs_attributes:
                      type: array
                      description: List of live inputs for the encoder
                      items:
                        type: object
                        required:
                        - protocol
                        - hostname
                        properties:
                          protocol:
                            type: string
                            description: Protocol for the live input (required on create)
                            enum:
                            - rtmp
                          ip_whitelist:
                            type: array
                            description: List of IP addresses/CIDR blocks allowed to stream (1-2 entries required)
                            items:
                              type: string
                          hostname:
                            type: string
                            description: Hostname for the live input (1-63 characters, alphanumeric and hyphens only)
                          source_secondary_url:
                            type: string
                            description: Secondary source URL for HA failover (HLS pull inputs only). Required when high_availability_enabled is true.
                    live_destinations_attributes:
                      type: array
                      description: List of live destinations for the encoder
                      items:
                        type: object
                        required:
                        - destination_type
                        properties:
                          destination_type:
                            type: string
                            description: Type of destination
                            enum:
                            - hls
                            - rtmp
                          name:
                            type: string
                            description: Name of the destination
                          enabled:
                            type: boolean
                            description: Whether this destination is enabled
                          start_over_window:
                            type: integer
                            description: DVR window duration in seconds (HLS only, 10800-1209600)
                          playlist_window_duration:
                            type: integer
                            description: Live playlist window duration in seconds (HLS only, 0-10800)
                          username:
                            type: string
                            description: Username for RTMP authentication (RTMP only)
                          password:
                            type: string
                            description: Password for RTMP authentication (RTMP only)
                          stream_key:
                            type: string
                            description: Stream key for the RTMP destination (RTMP only)
                          primary_url:
                            type: string
                            description: Primary RTMP URL for streaming (RTMP only, required)
                          backup_url:
                            type: string
                            description: Backup RTMP URL for failover (RTMP only). Required when high_availability_enabled is true on the encoder.
                          auth_enabled:
                            type: boolean
                            description: Whether authentication is enabled (RTMP only)
                          resolution:
                            type: integer
                            description: Output resolution (RTMP only)
                            enum:
                            - 720
                            - 1080
      responses:
        '201':
          description: Encoder created successfully
          content:
            application/json:
              schema:
                title: V3EncoderResponse
                type: object
                properties:
                  response:
                    type: object
                    title: V3Encoder
                    description: V3 Live Encoder configuration
                    properties:
                      _id:
                        type: string
                        description: Unique identifier for the encoder
                      name:
                        type: string
                        description: Name of the encoder
                      status:
                        type: string
                        description: Current status of the encoder
                        enum:
                        - off-air
                        - on-air
                        - error
                      region:
                        type: string
                        description: AWS region where the encoder is deployed
                        enum:
                        - us-east-1
                        - eu-central-1
                        - ap-southeast-2
                      event_profile_id:
                        type: string
                        description: HLS profile ID for the encoder output
                      mqcs_input_switch_enabled:
                        type: boolean
                        description: Whether MediaPackage input switching based on Media Quality Confidence Score (MQCS) is enabled for this encoder.
                      encoder_url:
                        type: string
                        description: URL for the encoder input
                      high_availability_enabled:
                        type: boolean
                        description: Whether High Availability failover is enabled for this encoder.
                      nielsen_tagging:
                        type: boolean
                        description: Whether Nielsen PCM-to-ID3 tagging is enabled for this encoder.
                      nielsen_distributor_id:
                        type: string
                        description: Nielsen distributor ID used for DAR measurement. Only relevant when nielsen_tagging is enabled.
                      encoder_secondary_url:
                        type: string
                        description: Secondary input URL for failover when High Availability is enabled. Empty string when HA is not enabled.
                      created_at:
                        type: string
                        format: date-time
                        description: Timestamp when the encoder was created
                      updated_at:
                        type: string
                        format: date-time
                        description: Timestamp when the encoder was last updated
                      live_inputs:
                        type: array
                        description: List of live inputs for the encoder
                        items:
                          type: object
                          title: V3LiveInput
                          description: Live input configuration for an encoder
                          properties:
                            _id:
                              type: string
                              description: Unique identifier for the live input
                            name:
                              type: string
                              description: Name of the live input
                            protocol:
                              type: string
                              description: Protocol used for the live input
                              enum:
                              - rtmp
                            url:
                              type: string
                              description: Full URL for the live input stream
                            hostname:
                              type: string
                              description: Hostname for the live input
                            domain:
                              type: string
                              description: Domain for the live input
                            external_id:
                              type: string
                              description: External identifier from the streaming provider
                            ip_whitelist:
                              type: array
                              description: List of IP addresses/CIDR blocks allowed to stream
                              items:
                                type: string
                            secondary_hostname:
                              type: string
                              description: Secondary hostname for failover (push protocols only, e.g. RTMP). Present when High Availability is enabled.
                            source_secondary_url:
                              type: string
                              description: Secondary source URL for failover (HLS pull inputs only). Present when High Availability is enabled.
                            live_streams:
                              type: array
                              description: List of live streams for this input
                              items:
                                type: object
                                title: V3LiveStream
                                description: Live stream information for a live input
                                properties:
                                  _id:
                                    type: string
                                    description: Unique identifier for the live stream
                                  external_id:
                                    type: string
                                    description: External identifier from the streaming provider
                                  title:
                                    type: string
                                    description: Title of the live stream
                                  duration:
                                    type: integer
                                    description: Duration of the live stream in seconds
                      live_destinations:
                        type: array
                        description: List of live destinations for the encoder
                        items:
                          oneOf:
                          - type: object
                            title: V3LiveDestinationHls
                            description: HLS-specific destination properties
                            allOf:
                            - type: object
                              title: V3LiveDestination
                              description: Base live destination configuration
                              properties:
                                _id:
                                  type: string
                                  description: Unique identifier for the live destination
                                name:
                                  type: string
                                  description: Name of the live destination
                                description:
                                  type: string
                                  description: Description of the live destination
                                destination_type:
                                  type: string
                                  description: Type of destination
                                  enum:
                                  - hls
                                  - rtmp
                                enabled:
                                  type: boolean
                                  description: Whether this destination is enabled
                                external_id:
                                  type: string
                                  description: External identifier from the streaming provider
                            - type: object
                              properties:
                                playlist_window_duration:
                                  type: integer
                                  description: Duration of the live playlist window in seconds (0-10800)
                                start_over_window:
                                  type: integer
                                  description: DVR window duration in seconds (10800-1209600)
                                url:
                                  type: string
                                  description: HLS manifest URL
                          - type: object
                            title: V3LiveDestinationRtmp
                            description: RTMP-specific destination properties
                            allOf:
                            - $ref: '#/paths/~1v3~1live~1encoders/post/responses/201/content/application~1json/schema/properties/response/properties/live_destinations/items/oneOf/0/allOf/0'
                            - type: object
                              properties:
                                username:
                                  type: string
                                  description: Username for RTMP authentication
                                password:
                                  type: string
                                  description: Password for RTMP authentication
                                stream_key:
                                  type: string
                                  description: Stream key for the RTMP destination
                                primary_url:
                                  type: string
                                  description: Primary RTMP URL for streaming
                                backup_url:
                                  type: string
                                  description: Backup RTMP URL for failover
                                auth_enabled:
                                  type: boolean
                                  description: Whether authentication is enabled for this destination
                                resolution:
                                  type: integer
                                  description: Output resolution (720 or 1080)
                                  enum:
                                  - 720
                                  - 1080
        '400':
          description: Bad request - missing required fields (protocol or destination_type)
          content:
            application/json:
              schema:
                title: Bad Request
                type: object
                required:
                - message
                properties:
                  message:
                    type: string
                  error_code:
                    type: string
                    description: A code representing the specific error condition
        '422':
          description: Unprocessable entity - validation errors, hostname taken, or quota reached
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events/post/responses/422/content/application~1json/schema'
  /v3/live/encoders/{id}:
    get:
      summary: View Encoder
      description: Retrieve details of a specific live encoder
      operationId: getEncoder
      tags:
      - Live Encoders
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: ID of the encoder
      responses:
        '200':
          description: Returns the encoder details
          content:
            application/json:
              schema:
                $ref: '#/paths/~1v3~1live~1encoders/post/responses/201/content/application~1json/schema'
        '404':
          description: Encoder not found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events~1%7Bid%7D/get/responses/404/content/application~1json/schema'
    put:
      summary: Update Encoder
      description: Update an existing live encoder
      operationId: updateEncoder
      tags:
      - Live Encoders
      parameters:
      - $ref: '#/paths/~1v3~1live~1encoders~1%7Bid%7D/get/parameters/0'
      requestBody:
        description: Encoder configuration to update
        required: true
        content:
          application/json:
            schema:
              title: V3EncoderUpdateRequest
              type: object
              required:
              - encoder
              properties:
                encoder:
                  type: object
                  title: V3EncoderUpdateProperties
                  properties:
                    name:
                      type: string
                      description: Name for the encoder
                    event_profile_id:
                      type: string
                      description: 'HLS profile ID for the encoder output. Available profiles: CMAF 1080p @ 30fps (70e05a7a-f5e4-4a5b-9e4d-c0b9c5d9056c), CMAF 720p @ 30fps (e201c104-c58d-4fcd-bb29-cca4cb46803a), CMAF 1080p @ 60fps (e1deb531-fb06-464f-b859-4ecec656ee6b), CMAF 720p @ 60fps (4356814e-aa38-4e0b-b1bb-0bc9b824de35)'
                    mqcs_input_switch_enabled:
                      type: boolean
                      description: When enabled, MediaPackage automatically switches to the input presenting the best Media Quality Confidence Score (MQCS).
                    high_availability_enabled:
                      type: boolean
                      description: When enabled, provisions a secondary input source for failover. Cannot be changed while the encoder is on-air (returns 422 if attempted). Requires secondary_hostname on push inputs (e.g. RTMP) or source_secondary_url on HLS pull inputs. Also requires backup_url on any RTMP destinations.
                    nielsen_tagging:
                      type: boolean
                      description: When enabled, Nielsen PCM-to-ID3 tagging is activated for DAR measurement. Cannot be changed while the encoder is on-air.
                    nielsen_distributor_id:
                      type: string
                      description: Nielsen distributor ID for DAR measurement. Only used when nielsen_tagging is enabled. Cannot be changed while the encoder is on-air.
                    live_inputs_attributes:
                      type: array
                      description: List of live inputs to update
                      items:
                        type: object
                        properties:
                          _id:
                            type: string
                            description: ID of the live input to update
                          _destroy:
                            type: boolean
                            description: Set to true to delete this live input
                          ip_whitelist:
                            type: array
                            description: List of IP addresses/CIDR blocks allowed to stream (1-2 entries required)
                            items:
                              type: string
                          hostname:
                            type: string
                            description: Hostname for the live input (1-63 characters, alphanumeric and hyphens only)
                          source_secondary_url:
                            type: string
                            description: Secondary source URL for HA failover (HLS pull inputs only). Required when high_availability_enabled is true.
                    live_destinations_attributes:
                      type: array
                      description: List of live destinations to create orupdate
                      items:
                        type: object
                        properties:
                          _id:
                            type: string
                            description: ID of the live destination to update (if not provided, a new destination will be created)
                          _destroy:
                            type: boolean
                            description: Set to true to delete this live destination
                          destination_type:
                            type: string
                            description: Type of destination (required when creating a new destination)
                            enum:
                            - hls
                            - rtmp
                          name:
                            type: string
                            description: Name of the destination
                          enabled:
                            type: boolean
                            description: Whether this destination is enabled
                          start_over_window:
                            type: integer
                            description: DVR window duration in seconds (HLS only, 10800-1209600)
                          playlist_window_duration:
                            type: integer
                            description: Live playlist window duration in seconds (HLS only, 0-10800)
                          username:
                            type: string
                            description: Username for RTMP authentication (RTMP only)
                          password:
                            type: string
                            description: Password for RTMP authentication (RTMP only)
                          stream_key:
                            type: string
                            description: Stream key for the RTMP destination (RTMP only)
                          primary_url:
                            type: string
                            description: Primary RTMP URL for streaming (RTMP only)
                          backup_url:
                            type: string
                            description: Backup RTMP URL for failover (RTMP only). Required when high_availability_enabled is true on the encoder.
                          auth_enabled:
                            type: boolean
                            description: Whether authentication is enabled (RTMP only)
                          resolution:
                            type: integer
                            description: Output resolution (RTMP only)
                            enum:
                            - 720
                            - 1080
                          rtmp_external_profile_id:
                            type: string
                            description: External profile ID for RTMP destination (RTMP only)
      responses:
        '200':
          description: Encoder updated successfully
          content:
            application/json:
              schema:
                $ref: '#/paths/~1v3~1live~1encoders/post/responses/201/content/application~1json/schema'
        '404':
          description: Encoder not found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events~1%7Bid%7D/get/responses/404/content/application~1json/schema'
        '422':
          description: Unprocessable entity - validation errors or hostname taken
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events/post/responses/422/content/application~1json/schema'
    delete:
      summary: Delete Encoder
      description: Delete a live encoder
      operationId: deleteEncoder
      tags:
      - Live Encoders
      parameters:
      - $ref: '#/paths/~1v3~1live~1encoders~1%7Bid%7D/get/parameters/0'
      responses:
        '204':
          description: Encoder deleted successfully
        '404':
          description: Encoder not found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events~1%7Bid%7D/get/responses/404/content/application~1json/schema'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events/post/responses/422/content/application~1json/schema'
  /v3/live/encoders/{id}/start:
    post:
      summary: Start Encoder
      description: Start broadcasting with a live encoder. This will schedule the RTMP input to the timeline, publish the draft schedule, and start the encoder.
      operationId: startEncoder
      tags:
      - Live Encoders
      parameters:
      - $ref: '#/paths/~1v3~1live~1encoders~1%7Bid%7D/get/parameters/0'
      responses:
        '200':
          description: Encoder started successfully
          content:
            application/json:
              schema:
                $ref: '#/paths/~1v3~1live~1encoders/post/responses/201/content/application~1json/schema'
        '404':
          description: Encoder not found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events~1%7Bid%7D/get/responses/404/content/application~1json/schema'
        '422':
          description: Unprocessable entity - encoder already started or other error
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events/post/responses/422/content/application~1json/schema'
  /v3/live/encoders/{id}/stop:
    post:
      summary: Stop Encoder
      description: Stop broadcasting with a live encoder
      operationId: stopEncoder
      tags:
      - Live Encoders
      parameters:
      - $ref: '#/paths/~1v3~1live~1encoders~1%7Bid%7D/get/parameters/0'
      responses:
        '200':
          description: Encoder stopped successfully
          content:
            application/json:
              schema:
                $ref: '#/paths/~1v3~1live~1encoders/post/responses/201/content/application~1json/schema'
        '404':
          description: Encoder not found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events~1%7Bid%7D/get/responses/404/content/application~1json/schema'
        '422':
          description: Unprocessable entity - encoder not running or other error
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events/post/responses/422/content/application~1json/schema'
  /v3/live/encoders/{id}/sync_encoder:
    post:
      summary: Sync Encoder
      description: Synchronize the encoder data with the external streaming provider. This fetches the latest encoder state and updates the local configuration.
      operationId: syncEncoder
      tags:
      - Live Encoders
      parameters:
      - $ref: '#/paths/~1v3~1live~1encoders~1%7Bid%7D/get/parameters/0'
      responses:
        '200':
          description: Encoder synchronized successfully
          content:
            application/json:
              schema:
                $ref: '#/paths/~1v3~1live~1encoders/post/responses/201/content/application~1json/schema'
        '404':
          description: Encoder not found
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events~1%7Bid%7D/get/responses/404/content/application~1json/schema'
        '422':
          description: Unprocessable entity - sync error
          content:
            application/json:
              schema:
                $ref: '#/paths/~1live_events/post/responses/422/content/application~1json/schema'
components:
  securitySchemes:
    api_key:
      type: apiKey
      name: api_key
      in: query
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: OAuth access token
      description: OAuth access token of the consumer