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.