Twilio MediaProcessors API

The MediaProcessors API from Twilio — 2 operation(s) for mediaprocessors.

Documentation

Specifications

Other Resources

OpenAPI Specification

twilio-mediaprocessors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Twilio - Accounts A2p Media Processors API
  description: This is the public Twilio REST API.
  termsOfService: https://www.twilio.com/legal/tos
  contact:
    name: Twilio Support
    url: https://support.twilio.com
    email: support@twilio.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.52.0
servers:
- url: https://accounts.twilio.com
tags:
- name: MediaProcessors
paths:
  /v1/MediaProcessors:
    servers:
    - url: https://media.twilio.com
    description: A MediaProcessor resource provides the ability to capture content from a web application with a Twilio Media Extension to create a livestream.
    x-twilio:
      defaultOutputProperties:
      - sid
      - status
      - extension
      - extension_context
      pathType: list
      mountName: media_processor
    post:
      description: ''
      tags:
      - MediaProcessors
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/media.v1.media_processor'
          description: Created
      security:
      - accountSid_authToken: []
      operationId: CreateMediaProcessor
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateMediaProcessorRequest'
    get:
      description: Returns a list of MediaProcessors.
      tags:
      - MediaProcessors
      parameters:
      - name: Order
        in: query
        description: 'The sort order of the list by `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as the default.'
        schema:
          type: string
          $ref: '#/components/schemas/media_processor_enum_order'
      - name: Status
        in: query
        description: Status to filter by, with possible values `started`, `ended` or `failed`.
        schema:
          type: string
          $ref: '#/components/schemas/media_processor_enum_status'
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMediaProcessorResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListMediaProcessor
      x-maturity:
      - GA
  /v1/MediaProcessors/{Sid}:
    servers:
    - url: https://media.twilio.com
    description: A MediaProcessor resource provides the ability to capture content from a web application with a Twilio Media Extension to create a livestream.
    x-twilio:
      defaultOutputProperties:
      - sid
      - status
      - extension
      - extension_context
      pathType: instance
      mountName: media_processor
    get:
      description: Returns a single MediaProcessor resource identified by a SID.
      tags:
      - MediaProcessors
      parameters:
      - name: Sid
        in: path
        description: The SID of the MediaProcessor resource to fetch.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^ZX[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/media.v1.media_processor'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchMediaProcessor
      x-maturity:
      - GA
    post:
      description: Updates a MediaProcessor resource identified by a SID.
      tags:
      - MediaProcessors
      parameters:
      - name: Sid
        in: path
        description: The SID of the MediaProcessor resource to update.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^ZX[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/media.v1.media_processor'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: UpdateMediaProcessor
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateMediaProcessorRequest'
components:
  schemas:
    media_processor_enum_order:
      type: string
      enum:
      - asc
      - desc
    ListMediaProcessorResponse:
      type: object
      properties:
        media_processors:
          type: array
          items:
            $ref: '#/components/schemas/media.v1.media_processor'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type:
              - string
              - 'null'
              format: uri
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type:
              - string
              - 'null'
              format: uri
            url:
              type: string
              format: uri
            key:
              type: string
    media.v1.media_processor:
      type: object
      properties:
        account_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the MediaProcessor resource.
        sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^ZX[0-9a-fA-F]{32}$
          description: The unique string generated to identify the MediaProcessor resource.
        date_created:
          type:
          - string
          - 'null'
          format: date-time
          description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        date_updated:
          type:
          - string
          - 'null'
          format: date-time
          description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        extension:
          type:
          - string
          - 'null'
          description: 'The [Media Extension](/docs/live/media-extensions-overview) name or URL. Ex: `video-composer-v2`'
          x-twilio:
            pii:
              handling: standard
              deleteSla: 30
        extension_context:
          type:
          - string
          - 'null'
          description: The context of the Media Extension, represented as a JSON dictionary. See the documentation for the specific [Media Extension](/docs/live/media-extensions-overview) you are using for more information about the context to send.
        status:
          type:
          - string
          - 'null'
          $ref: '#/components/schemas/media_processor_enum_status'
          description: 'The status of the MediaProcessor. Can be: `started`, `ended` or `failed`.'
        url:
          type:
          - string
          - 'null'
          format: uri
          description: The absolute URL of the resource.
        ended_reason:
          type:
          - string
          - 'null'
          description: The reason why a MediaProcessor ended. When a MediaProcessor is in progress, will be `null`. When a MediaProcessor is completed, can be `ended-via-api`, `max-duration-exceeded`, `error-loading-extension`, `error-streaming-media` or `internal-service-error`. See [ended reasons](/docs/live/api/mediaprocessors#mediaprocessor-ended-reason-values) for more details.
        status_callback:
          type:
          - string
          - 'null'
          format: uri
          description: The URL to which Twilio will send asynchronous webhook requests for every MediaProcessor event. See [Status Callbacks](/docs/live/api/status-callbacks) for details.
        status_callback_method:
          type:
          - string
          - 'null'
          format: http-method
          enum:
          - HEAD
          - GET
          - POST
          - PATCH
          - PUT
          - DELETE
          description: The HTTP method Twilio should use to call the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`.
        max_duration:
          type:
          - integer
          - 'null'
          description: The maximum time, in seconds, that the MediaProcessor can run before automatically ends. The default value is 300 seconds, and the maximum value is 90000 seconds. Once this maximum duration is reached, Twilio will end the MediaProcessor, regardless of whether media is still streaming.
    media_processor_enum_update_status:
      type: string
      enum:
      - ended
    media_processor_enum_status:
      type: string
      enum:
      - failed
      - started
      - ended
    UpdateMediaProcessorRequest:
      type: object
      required:
      - Status
      properties:
        Status:
          type: string
          $ref: '#/components/schemas/media_processor_enum_update_status'
          description: The status of the MediaProcessor. Can be `ended`.
    CreateMediaProcessorRequest:
      type: object
      required:
      - Extension
      - ExtensionContext
      properties:
        Extension:
          type: string
          description: 'The [Media Extension](/docs/live/media-extensions-overview) name or URL. Ex: `video-composer-v2`'
        ExtensionContext:
          type: string
          description: The context of the Media Extension, represented as a JSON dictionary. See the documentation for the specific [Media Extension](/docs/live/media-extensions-overview) you are using for more information about the context to send.
        ExtensionEnvironment:
          description: User-defined environment variables for the Media Extension, represented as a JSON dictionary of key/value strings. See the documentation for the specific [Media Extension](/docs/live/media-extensions-overview) you are using for more information about whether you need to provide this.
        StatusCallback:
          type: string
          format: uri
          description: The URL to which Twilio will send asynchronous webhook requests for every MediaProcessor event. See [Status Callbacks](/docs/live/api/status-callbacks) for details.
        StatusCallbackMethod:
          type: string
          format: http-method
          enum:
          - HEAD
          - GET
          - POST
          - PATCH
          - PUT
          - DELETE
          description: The HTTP method Twilio should use to call the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`.
        MaxDuration:
          type: integer
          description: The maximum time, in seconds, that the MediaProcessor can run before automatically ends. The default value is 300 seconds, and the maximum value is 90000 seconds. Once this maximum duration is reached, Twilio will end the MediaProcessor, regardless of whether media is still streaming.
  securitySchemes:
    accountSid_authToken:
      type: http
      scheme: basic
x-maturity:
- name: GA
  description: This product is Generally Available.
- name: Beta
  description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.