Twilio Video API

The Video API from Twilio — 4 operation(s) for video.

Documentation

Specifications

Other Resources

OpenAPI Specification

twilio-video-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Twilio - Accounts A2p Video 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: Video
paths:
  /v1/Video/Rooms/{RoomSid}/Participants/{ParticipantSid}:
    servers:
    - url: https://insights.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - participant_sid
      pathType: instance
      parent: /Video/Rooms/{RoomSid}
    get:
      description: Get Video Log Analyzer data for a Room Participant.
      tags:
      - Video
      parameters:
      - name: RoomSid
        in: path
        description: The SID of the Room resource.
        schema:
          type: string
        required: true
      - name: ParticipantSid
        in: path
        description: The SID of the Participant resource.
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/insights.v1.video_room_summary.video_participant_summary'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchVideoParticipantSummary
      x-maturity:
      - Beta
  /v1/Video/Rooms/{RoomSid}/Participants:
    servers:
    - url: https://insights.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - participant_sid
      pathType: list
      parent: /Video/Rooms/{RoomSid}
    get:
      description: Get a list of room participants.
      tags:
      - Video
      parameters:
      - name: RoomSid
        in: path
        description: The SID of the Room resource.
        schema:
          type: string
        required: true
      - 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/ListVideoParticipantSummaryResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListVideoParticipantSummary
      x-maturity:
      - Beta
  /v1/Video/Rooms/{RoomSid}:
    servers:
    - url: https://insights.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - room_sid
      - create_time
      pathType: instance
      dependentProperties:
        participants:
          mapping:
            room_sid: room_sid
          resource_url: /v1/Video/Rooms/{room_sid}/Participants
    get:
      description: Get Video Log Analyzer data for a Room.
      tags:
      - Video
      parameters:
      - name: RoomSid
        in: path
        description: The SID of the Room resource.
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/insights.v1.video_room_summary'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchVideoRoomSummary
      x-maturity:
      - Beta
  /v1/Video/Rooms:
    servers:
    - url: https://insights.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - room_sid
      - create_time
      pathType: list
      dependentProperties:
        participants:
          mapping:
            room_sid: room_sid
          resource_url: /v1/Video/Rooms/{room_sid}/Participants
    get:
      description: Get a list of Programmable Video Rooms.
      tags:
      - Video
      parameters:
      - name: RoomType
        in: query
        description: Type of room. Can be `go`, `peer_to_peer`, `group`, or `group_small`.
        schema:
          type: array
          items:
            type: string
            $ref: '#/components/schemas/video_room_summary_enum_room_type'
      - name: Codec
        in: query
        description: Codecs used by participants in the room. Can be `VP8`, `H264`, or `VP9`.
        schema:
          type: array
          items:
            type: string
            $ref: '#/components/schemas/video_room_summary_enum_codec'
      - name: RoomName
        in: query
        description: Room friendly name.
        schema:
          type: string
      - name: CreatedAfter
        in: query
        description: Only read rooms that started on or after this ISO 8601 timestamp.
        schema:
          type: string
          format: date-time
      - name: CreatedBefore
        in: query
        description: Only read rooms that started before this ISO 8601 timestamp.
        schema:
          type: string
          format: date-time
      - 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/ListVideoRoomSummaryResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListVideoRoomSummary
      x-maturity:
      - Beta
components:
  schemas:
    video_room_summary_enum_codec:
      type: string
      enum:
      - VP8
      - H264
      - VP9
    video_room_summary_enum_edge_location:
      type: string
      enum:
      - ashburn
      - dublin
      - frankfurt
      - singapore
      - sydney
      - sao_paulo
      - roaming
      - umatilla
      - tokyo
    video_room_summary_enum_created_method:
      type: string
      enum:
      - sdk
      - ad_hoc
      - api
    insights.v1.video_room_summary.video_participant_summary:
      type: object
      properties:
        participant_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^PA[0-9a-fA-F]{32}$
          nullable: true
          description: Unique identifier for the participant.
        participant_identity:
          type: string
          nullable: true
          description: The application-defined string that uniquely identifies the participant within a Room.
        join_time:
          type: string
          format: date-time
          nullable: true
          description: When the participant joined the room.
        leave_time:
          type: string
          format: date-time
          nullable: true
          description: When the participant left the room.
        duration_sec:
          type: integer
          format: int64
          nullable: true
          description: Amount of time in seconds the participant was in the room.
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: Account SID associated with the room.
        room_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^RM[0-9a-fA-F]{32}$
          nullable: true
          description: Unique identifier for the room.
        status:
          type: string
          $ref: '#/components/schemas/video_participant_summary_enum_room_status'
          nullable: true
          description: Status of the room. Can be `in_progress` or `completed`.
        codecs:
          type: array
          items:
            type: string
            $ref: '#/components/schemas/video_participant_summary_enum_codec'
          nullable: true
          description: Codecs detected from the participant. Can be `VP8`, `H264`, or `VP9`.
        end_reason:
          type: string
          nullable: true
          description: Reason the participant left the room. See [the list of possible values here](https://www.twilio.com/docs/video/troubleshooting/video-log-analyzer-api#end_reason).
        error_code:
          type: integer
          nullable: true
          description: Errors encountered by the participant.
        error_code_url:
          type: string
          nullable: true
          description: Twilio error code dictionary link.
        media_region:
          type: string
          $ref: '#/components/schemas/video_participant_summary_enum_twilio_realm'
          nullable: true
          description: Twilio media region the participant connected to. See [the list of possible media servers here](https://www.twilio.com/docs/video/ip-addresses).
        properties:
          nullable: true
          description: Object containing information about the participant's data from the room. See [below](https://www.twilio.com/docs/video/troubleshooting/video-log-analyzer-api#properties) for more information.
        edge_location:
          type: string
          $ref: '#/components/schemas/video_participant_summary_enum_edge_location'
          nullable: true
          description: Name of the edge location the participant connected to. See [the list of public edge locations](https://www.twilio.com/docs/global-infrastructure/edge-locations#public-edge-locations) for the possible values.
        publisher_info:
          nullable: true
          description: Object containing information about the SDK name and version. See [below](https://www.twilio.com/docs/video/troubleshooting/video-log-analyzer-api#publisher_info) for more information.
        url:
          type: string
          format: uri
          nullable: true
          description: URL of the participant resource.
    video_participant_summary_enum_room_status:
      type: string
      enum:
      - in_progress
      - completed
    video_room_summary_enum_processing_state:
      type: string
      enum:
      - complete
      - in_progress
    insights.v1.video_room_summary:
      type: object
      properties:
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: Account SID associated with this room.
        room_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^RM[0-9a-fA-F]{32}$
          nullable: true
          description: Unique identifier for the room.
        room_name:
          type: string
          nullable: true
          description: Room friendly name.
        create_time:
          type: string
          format: date-time
          nullable: true
          description: Creation time of the room.
        end_time:
          type: string
          format: date-time
          nullable: true
          description: End time for the room.
        room_type:
          type: string
          $ref: '#/components/schemas/video_room_summary_enum_room_type'
          nullable: true
          description: Type of room. Can be `go`, `peer_to_peer`, `group`, or `group_small`.
        room_status:
          type: string
          $ref: '#/components/schemas/video_room_summary_enum_room_status'
          nullable: true
          description: Status of the room. Can be `in_progress` or `completed`.
        status_callback:
          type: string
          format: uri
          nullable: true
          description: Webhook provided for status callbacks.
        status_callback_method:
          type: string
          format: http-method
          enum:
          - HEAD
          - GET
          - POST
          - PATCH
          - PUT
          - DELETE
          nullable: true
          description: HTTP method provided for status callback URL.
        created_method:
          type: string
          $ref: '#/components/schemas/video_room_summary_enum_created_method'
          nullable: true
          description: How the room was created. Can be `sdk`, `ad_hoc`, or `api`.
        end_reason:
          type: string
          $ref: '#/components/schemas/video_room_summary_enum_end_reason'
          nullable: true
          description: Reason the room ended. Can be `room_ended_via_api` or `timeout`.
        max_participants:
          type: integer
          nullable: true
          description: Max number of total participants allowed by the application settings.
        unique_participants:
          type: integer
          nullable: true
          description: Number of participants. May include duplicate identities for participants who left and rejoined.
        unique_participant_identities:
          type: integer
          nullable: true
          description: Unique number of participant identities.
        concurrent_participants:
          type: integer
          nullable: true
          description: Actual number of concurrent participants.
        max_concurrent_participants:
          type: integer
          nullable: true
          description: Maximum number of participants allowed in the room at the same time allowed by the application settings.
        codecs:
          type: array
          items:
            type: string
            $ref: '#/components/schemas/video_room_summary_enum_codec'
          nullable: true
          description: Codecs used by participants in the room. Can be `VP8`, `H264`, or `VP9`.
        media_region:
          type: string
          $ref: '#/components/schemas/video_room_summary_enum_twilio_realm'
          nullable: true
          description: Region of Twilio media servers for the room. See [the list of possible media servers here](https://www.twilio.com/docs/video/ip-addresses).
        duration_sec:
          type: integer
          format: int64
          nullable: true
          description: Total room duration from create time to end time.
        total_participant_duration_sec:
          type: integer
          format: int64
          nullable: true
          description: Combined amount of participant time in the room.
        total_recording_duration_sec:
          type: integer
          format: int64
          nullable: true
          description: Combined amount of recorded seconds for participants in the room.
        processing_state:
          type: string
          $ref: '#/components/schemas/video_room_summary_enum_processing_state'
          nullable: true
          description: Video Log Analyzer resource state. Will be either `in-progress` or `complete`. `in-progress` indicates that more details may be appended to the resource. `complete` indicates no further information will be added.
        recording_enabled:
          type: boolean
          nullable: true
          description: Boolean indicating if recording is enabled for the room.
        edge_location:
          type: string
          $ref: '#/components/schemas/video_room_summary_enum_edge_location'
          nullable: true
          description: Edge location of Twilio media servers for the room. See [the list of public edge locations](https://www.twilio.com/docs/global-infrastructure/edge-locations#public-edge-locations) for the possible values.
        url:
          type: string
          format: uri
          nullable: true
          description: URL for the room resource.
        links:
          type: object
          format: uri-map
          nullable: true
          description: Room subresources.
    video_participant_summary_enum_codec:
      type: string
      enum:
      - VP8
      - H264
      - VP9
    video_room_summary_enum_room_type:
      type: string
      enum:
      - go
      - peer_to_peer
      - group
      - group_small
    ListVideoRoomSummaryResponse:
      type: object
      properties:
        rooms:
          type: array
          items:
            $ref: '#/components/schemas/insights.v1.video_room_summary'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type: string
              format: uri
              nullable: true
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type: string
              format: uri
              nullable: true
            url:
              type: string
              format: uri
            key:
              type: string
    ListVideoParticipantSummaryResponse:
      type: object
      properties:
        participants:
          type: array
          items:
            $ref: '#/components/schemas/insights.v1.video_room_summary.video_participant_summary'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type: string
              format: uri
              nullable: true
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type: string
              format: uri
              nullable: true
            url:
              type: string
              format: uri
            key:
              type: string
    video_participant_summary_enum_twilio_realm:
      type: string
      enum:
      - us1
      - us2
      - au1
      - br1
      - ie1
      - jp1
      - sg1
      - in1
      - de1
      - gll
    video_room_summary_enum_room_status:
      type: string
      enum:
      - in_progress
      - completed
    video_room_summary_enum_twilio_realm:
      type: string
      enum:
      - us1
      - us2
      - au1
      - br1
      - ie1
      - jp1
      - sg1
      - in1
      - de1
      - gll
    video_room_summary_enum_end_reason:
      type: string
      enum:
      - room_ended_via_api
      - timeout
    video_participant_summary_enum_edge_location:
      type: string
      enum:
      - ashburn
      - dublin
      - frankfurt
      - singapore
      - sydney
      - sao_paulo
      - roaming
      - umatilla
      - tokyo
  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.