Twilio Conferences API

The Conferences API from Twilio — 7 operation(s) for conferences.

Documentation

Specifications

Other Resources

OpenAPI Specification

twilio-conferences-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Twilio - Accounts A2p Conferences 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: Conferences
paths:
  /v1/Conferences/{ConferenceSid}:
    servers:
    - url: https://insights.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - conference_sid
      - account_sid
      pathType: instance
      dependentProperties:
        conference_participants:
          mapping:
            conference_sid: conference_sid
          resource_url: /v1/Conferences/{conference_sid}/Participants
    get:
      description: Get a specific Conference Summary.
      tags:
      - Conferences
      parameters:
      - name: ConferenceSid
        in: path
        description: The unique SID identifier of the Conference.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CF[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/insights.v1.conference'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchConference
      x-maturity:
      - GA
  /v1/Conferences:
    servers:
    - url: https://insights.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - conference_sid
      - account_sid
      pathType: list
      dependentProperties:
        conference_participants:
          mapping:
            conference_sid: conference_sid
          resource_url: /v1/Conferences/{conference_sid}/Participants
    get:
      description: Get a list of Conference Summaries.
      tags:
      - Conferences
      parameters:
      - name: ConferenceSid
        in: query
        description: The SID of the conference.
        schema:
          type: string
      - name: FriendlyName
        in: query
        description: Custom label for the conference resource, up to 64 characters.
        schema:
          type: string
        x-twilio:
          pii:
            handling: standard
            deleteSla: 30
      - name: Status
        in: query
        description: Conference status.
        schema:
          type: string
      - name: CreatedAfter
        in: query
        description: Conferences created after the provided timestamp specified in ISO 8601 format
        schema:
          type: string
      - name: CreatedBefore
        in: query
        description: Conferences created before the provided timestamp specified in ISO 8601 format.
        schema:
          type: string
      - name: MixerRegion
        in: query
        description: Twilio region where the conference media was mixed.
        schema:
          type: string
      - name: Tags
        in: query
        description: Tags applied by Twilio for common potential configuration, quality, or performance issues.
        schema:
          type: string
      - name: Subaccount
        in: query
        description: Account SID for the subaccount whose resources you wish to retrieve.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
      - name: DetectedIssues
        in: query
        description: Potential configuration, behavior, or performance issues detected during the conference.
        schema:
          type: string
      - name: EndReason
        in: query
        description: Conference end reason; e.g. last participant left, modified by API, etc.
        schema:
          type: string
      - 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/ListConferenceResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListConference
      x-maturity:
      - GA
  /v1/Conferences/{ConferenceSid}/Participants/{ParticipantSid}:
    servers:
    - url: https://insights.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - participant_sid
      - conference_sid
      - call_sid
      - account_sid
      pathType: instance
      parent: /Conferences/{ConferenceSid}
      mountName: conference_participants
    get:
      description: Get a specific Conference Participant Summary for a Conference.
      tags:
      - Conferences
      parameters:
      - name: ConferenceSid
        in: path
        description: The unique SID identifier of the Conference.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CF[0-9a-fA-F]{32}$
        required: true
      - name: ParticipantSid
        in: path
        description: The unique SID identifier of the Participant.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CP[0-9a-fA-F]{32}$
        required: true
      - name: Events
        in: query
        description: Conference events generated by application or participant activity; e.g. `hold`, `mute`, etc.
        schema:
          type: string
      - name: Metrics
        in: query
        description: Object. Contains participant call quality metrics.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/insights.v1.conference.conference_participant'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchConferenceParticipant
      x-maturity:
      - GA
  /v1/Conferences/{ConferenceSid}/Participants:
    servers:
    - url: https://insights.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - participant_sid
      - conference_sid
      - call_sid
      - account_sid
      pathType: list
      parent: /Conferences/{ConferenceSid}
      mountName: conference_participants
    get:
      description: Get a list of Conference Participants Summaries for a Conference.
      tags:
      - Conferences
      parameters:
      - name: ConferenceSid
        in: path
        description: The unique SID identifier of the Conference.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CF[0-9a-fA-F]{32}$
        required: true
      - name: ParticipantSid
        in: query
        description: The unique SID identifier of the Participant.
        schema:
          type: string
      - name: Label
        in: query
        description: User-specified label for a participant.
        schema:
          type: string
        x-twilio:
          pii:
            handling: standard
            deleteSla: 30
      - name: Events
        in: query
        description: Conference events generated by application or participant activity; e.g. `hold`, `mute`, etc.
        schema:
          type: string
      - 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/ListConferenceParticipantResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListConferenceParticipant
      x-maturity:
      - GA
  /Accounts/{AccountSid}/Conferences.json:
    get:
      operationId: listConferences
      summary: Twilio List Conferences
      description: Retrieve a list of conferences within your account.
      tags:
      - Conferences
      parameters:
      - $ref: '#/components/parameters/AccountSid'
      - name: Status
        in: query
        schema:
          type: string
          enum:
          - init
          - in-progress
          - completed
      - name: FriendlyName
        in: query
        schema:
          type: string
      - name: DateCreated
        in: query
        schema:
          type: string
          format: date
      - name: PageSize
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      responses:
        '200':
          description: List of conferences
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConferenceList'
        '401':
          description: Unauthorized
  /Accounts/{AccountSid}/Conferences/{ConferenceSid}.json:
    get:
      operationId: fetchConference
      summary: Twilio Fetch a Conference
      tags:
      - Conferences
      parameters:
      - $ref: '#/components/parameters/AccountSid'
      - name: ConferenceSid
        in: path
        required: true
        schema:
          type: string
          pattern: ^CF[0-9a-fA-F]{32}$
      responses:
        '200':
          description: Conference details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conference'
        '404':
          description: Conference not found
    post:
      operationId: updateConference
      summary: Twilio Update a Conference
      description: End a conference or announce a message to participants.
      tags:
      - Conferences
      parameters:
      - $ref: '#/components/parameters/AccountSid'
      - name: ConferenceSid
        in: path
        required: true
        schema:
          type: string
          pattern: ^CF[0-9a-fA-F]{32}$
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                Status:
                  type: string
                  enum:
                  - completed
                  description: Set to completed to end the conference
                AnnounceUrl:
                  type: string
                  format: uri
                  description: URL for TwiML to play to all participants
                AnnounceMethod:
                  type: string
                  enum:
                  - GET
                  - POST
      responses:
        '200':
          description: Conference updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conference'
  /Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.json:
    get:
      operationId: listParticipants
      summary: Twilio List Conference Participants
      tags:
      - Conferences
      parameters:
      - $ref: '#/components/parameters/AccountSid'
      - name: ConferenceSid
        in: path
        required: true
        schema:
          type: string
          pattern: ^CF[0-9a-fA-F]{32}$
      responses:
        '200':
          description: List of participants
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParticipantList'
    post:
      operationId: createParticipant
      summary: Twilio Add a Participant to a Conference
      tags:
      - Conferences
      parameters:
      - $ref: '#/components/parameters/AccountSid'
      - name: ConferenceSid
        in: path
        required: true
        schema:
          type: string
          pattern: ^CF[0-9a-fA-F]{32}$
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - From
              - To
              properties:
                From:
                  type: string
                  description: Twilio phone number to use as caller ID
                To:
                  type: string
                  description: Phone number to call and add to conference
                Muted:
                  type: boolean
                Hold:
                  type: boolean
                Record:
                  type: boolean
                StatusCallback:
                  type: string
                  format: uri
      responses:
        '201':
          description: Participant added
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Participant'
components:
  schemas:
    conference_enum_processing_state:
      type: string
      enum:
      - complete
      - in_progress
      - timeout
    insights.v1.conference.conference_participant:
      type: object
      properties:
        participant_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CP[0-9a-fA-F]{32}$
          nullable: true
          description: SID for this participant.
        label:
          type: string
          nullable: true
          description: The user-specified label of this participant.
          x-twilio:
            pii:
              handling: standard
              deleteSla: 30
        conference_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CF[0-9a-fA-F]{32}$
          nullable: true
          description: The unique SID identifier of the Conference.
        call_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CA[0-9a-fA-F]{32}$
          nullable: true
          description: Unique SID identifier of the call that generated the Participant resource.
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: The unique SID identifier of the Account.
        call_direction:
          type: string
          $ref: '#/components/schemas/conference_participant_enum_call_direction'
          nullable: true
          description: Call direction of the participant; inbound or outbound.
        from:
          type: string
          nullable: true
          description: Caller ID of the calling party.
          x-twilio:
            pii:
              handling: standard
              deleteSla: 30
        to:
          type: string
          nullable: true
          description: Called party.
          x-twilio:
            pii:
              handling: standard
              deleteSla: 30
        call_status:
          type: string
          $ref: '#/components/schemas/conference_participant_enum_call_status'
          nullable: true
          description: Call status of the call that generated the participant.
        country_code:
          type: string
          nullable: true
          description: ISO alpha-2 country code of the participant based on caller ID or called number.
        is_moderator:
          type: boolean
          nullable: true
          description: Boolean. Indicates whether participant had startConferenceOnEnter=true or endConferenceOnExit=true.
        join_time:
          type: string
          format: date-time
          nullable: true
          description: ISO 8601 timestamp of participant join event.
        leave_time:
          type: string
          format: date-time
          nullable: true
          description: ISO 8601 timestamp of participant leave event.
        duration_seconds:
          type: integer
          nullable: true
          description: Participant durations in seconds.
        outbound_queue_length:
          type: integer
          nullable: true
          description: Add Participant API only. Estimated time in queue at call creation.
        outbound_time_in_queue:
          type: integer
          nullable: true
          description: Add Participant API only. Actual time in queue in seconds.
        jitter_buffer_size:
          type: string
          $ref: '#/components/schemas/conference_participant_enum_jitter_buffer_size'
          nullable: true
          description: The Jitter Buffer Size of this Conference Participant. One of `large`, `small`, `medium` or `off`.
        is_coach:
          type: boolean
          nullable: true
          description: Boolean. Indicated whether participant was a coach.
        coached_participants:
          type: array
          items:
            type: string
          nullable: true
          description: Call SIDs coached by this participant.
        participant_region:
          type: string
          $ref: '#/components/schemas/conference_participant_enum_region'
          nullable: true
          description: Twilio region where the participant media originates.
        conference_region:
          type: string
          $ref: '#/components/schemas/conference_participant_enum_region'
          nullable: true
          description: The Conference Region of this Conference Participant. One of `us1`, `us2`, `au1`, `br1`, `ie1`, `jp1`, `sg1` or `de1`.
        call_type:
          type: string
          $ref: '#/components/schemas/conference_participant_enum_call_type'
          nullable: true
          description: The Call Type of this Conference Participant. One of `carrier`, `client` or `sip`.
        processing_state:
          type: string
          $ref: '#/components/schemas/conference_participant_enum_processing_state'
          nullable: true
          description: Processing state of the Participant Summary. Will be `in_progress` while data is being aggregated, `timeout` if Twilio couldn't process the summary in 24hrs, and `complete` once aggregations and analysis has ended.
        properties:
          nullable: true
          description: Participant properties and metadata.
        events:
          nullable: true
          description: Object containing information of actions taken by participants. Contains a dictionary of URL links to nested resources of this Conference Participant.
        metrics:
          nullable: true
          description: Object. Contains participant call quality metrics.
        url:
          type: string
          format: uri
          nullable: true
          description: The URL of this resource.
    conference_enum_conference_status:
      type: string
      enum:
      - in_progress
      - not_started
      - completed
      - summary_timeout
    Conference:
      type: object
      properties:
        sid:
          type: string
          pattern: ^CF[0-9a-fA-F]{32}$
        account_sid:
          type: string
          pattern: ^AC[0-9a-fA-F]{32}$
        friendly_name:
          type: string
          description: Friendly name used to identify the conference
        status:
          type: string
          enum:
          - init
          - in-progress
          - completed
        region:
          type: string
          description: Region where the conference is mixed
        reason_conference_ended:
          type: string
          description: Reason the conference ended
        call_sid_ending_conference:
          type: string
          description: SID of the call that ended the conference
        date_created:
          type: string
          format: date-time
        date_updated:
          type: string
          format: date-time
        uri:
          type: string
        subresource_uris:
          type: object
          properties:
            participants:
              type: string
            recordings:
              type: string
    ConferenceList:
      type: object
      properties:
        conferences:
          type: array
          items:
            $ref: '#/components/schemas/Conference'
        first_page_uri:
          type: string
        next_page_uri:
          type: string
        page:
          type: integer
        page_size:
          type: integer
    conference_participant_enum_jitter_buffer_size:
      type: string
      enum:
      - large
      - small
      - medium
      - 'off'
    conference_enum_tag:
      type: string
      enum:
      - invalid_requested_region
      - duplicate_identity
      - start_failure
      - region_configuration_issues
      - quality_warnings
      - participant_behavior_issues
      - high_packet_loss
      - high_jitter
      - high_latency
      - low_mos
      - detected_silence
    ParticipantList:
      type: object
      properties:
        participants:
          type: array
          items:
            $ref: '#/components/schemas/Participant'
        first_page_uri:
          type: string
        next_page_uri:
          type: string
        page:
          type: integer
        page_size:
          type: integer
    conference_participant_enum_call_type:
      type: string
      enum:
      - carrier
      - client
      - sip
    conference_enum_conference_end_reason:
      type: string
      enum:
      - last_participant_left
      - conference_ended_via_api
      - participant_with_end_conference_on_exit_left
      - last_participant_kicked
      - participant_with_end_conference_on_exit_kicked
    conference_participant_enum_call_status:
      type: string
      enum:
      - answered
      - completed
      - busy
      - fail
      - noanswer
      - ringing
      - canceled
    Participant:
      type: object
      properties:
        call_sid:
          type: string
          pattern: ^CA[0-9a-fA-F]{32}$
        conference_sid:
          type: string
          pattern: ^CF[0-9a-fA-F]{32}$
        account_sid:
          type: string
          pattern: ^AC[0-9a-fA-F]{32}$
        muted:
          type: boolean
        hold:
          type: boolean
        coaching:
          type: boolean
        status:
          type: string
          enum:
          - queued
          - connecting
          - ringing
          - connected
          - complete
          - failed
        start_conference_on_enter:
          type: boolean
        end_conference_on_exit:
          type: boolean
        date_created:
          type: string
          format: date-time
        date_updated:
          type: string
          format: date-time
        uri:
          type: string
    ListConferenceParticipantResponse:
      type: object
      properties:
        participants:
          type: array
          items:
            $ref: '#/components/schemas/insights.v1.conference.conference_participant'
        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
    conference_participant_enum_call_direction:
      type: string
      enum:
      - inbound
      - outbound
    ListConferenceResponse:
      type: object
      properties:
        conferences:
          type: array
          items:
            $ref: '#/components/schemas/insights.v1.conference'
        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
    conference_enum_region:
      type: string
      enum:
      - us1
      - au1
      - br1
      - ie1
      - jp1
      - sg1
      - de1
    conference_participant_enum_processing_state:
      type: string
      enum:
      - complete
      - in_progress
      - timeout
    insights.v1.conference:
      type: object
      properties:
        conference_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CF[0-9a-fA-F]{32}$
          nullable: true
          description: The unique SID identifier of the Conference.
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: The unique SID identifier of the Account.
        friendly_name:
          type: string
          nullable: true
          description: Custom label for the conference resource, up to 64 characters.
          x-twilio:
            pii:
              handling: standard
              deleteSla: 30
        create_time:
          type: string
          format: date-time
          nullable: true
          description: Conference creation date and time in ISO 8601 format.
        start_time:
          type: string
          format: date-time
          nullable: true
          description: Timestamp in ISO 8601 format when the conference started. Conferences do not start until at least two participants join, at least one of whom has startConferenceOnEnter=true.
        end_time:
          type: string
          format: date-time
          nullable: true
          description: Conference end date and time in ISO 8601 format.
        duration_seconds:
          type: integer
          nullable: true
          description: Conference duration in seconds.
        connect_duration_seconds:
          type: integer
          nullable: true
          description: Duration of the between conference start event and conference end event in seconds.
        status:
          type: string
          $ref: '#/components/schemas/conference_enum_conference_status'
          nullable: true
          description: Status of this Conference; `in_progress`, `not_started`, `completed` or `summary_timeout`. if Twilio don't receive `last_participant_left` event, summary will be timeout after 24 hours
        max_participants:
          type: integer
          nullable: true
          description: Maximum number of concurrent participants as specified by the configuration.
        max_concurrent_participants:
          type: integer
          nullable: true
          description: Actual maximum number of concurrent participants in the conference.
        unique_participants:
          type: integer
          nullable: true
          description: Unique conference participants based on caller ID.
        end_reason:
          type: string
          $ref: '#/components/schemas/conference_enum_conference_end_reason'
          nullable: true
          description: Conference end reason; e.g. last participant left, modified by API, etc.
        ended_by:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CA[0-9a-fA-F]{32}$
          nullable: true
          description: Call SID of the participant whose actions ended the conference.
        mixer_region:
          type: string
          $ref: '#/components/schemas/conference_enum_region'
          nullable: true
          description: Twilio region where the conference media was mixed.
        mixer_region_requested:
          type: string
          $ref: '#/components/schemas/conference_enum_region'
          nullable: true
          description: Twilio region where conference mixed was specified to be mixed in configuration.
        recording_enabled:
          type: boolean
          nullable: true
          description: Boolean. Indicates whether recording was enabled at the conference mixer.
        detected_issues:
          nullable: true
          description: Potential issues detected by Twilio during the conference.
        tags:
          type: array
          items:
            type: string
            $ref: '#/components/schemas/conference_enum_tag'
          nullable: true
          description: Tags for detected conference conditions and participant behaviors which may be of interest.
        tag_info:
          nullable: true
          description: Object. Contains details about conference tags including severity.
        processing_state:
          type: string
          $ref: '#/components/schemas/conference_enum_processing_state'
          nullable: true
          description: Processing state for the Conference Summary resource. Will be `in_progress` while data is being aggregated, `timeout` if Twilio couldn't process the summary in 24hrs, and `complete` once aggregations and analysis has ended.
        url:
          type: string
          format: uri
          nullable: true
          description: The URL of this resource.
        links:
          type: object
          format: uri-map
          nullable: true
          description: Contains a dictionary of URL links to nested resources of this Conference.
    conference_participant_enum_region:
      type: string
      enum:
      - us1
      - us2
      - au1
      - br1
      - ie1
      - jp1
      - sg1
      - de1
  parameters:
    AccountSid:
      name: AccountSid
      in: path
      required: true
      description: The unique identifier of the Twilio account
      schema:
        type: string
        pattern: ^AC[0-9a-fA-F]{32}$
  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.