models.py•58.5 kB
# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-07-07T17:37:22+00:00
from __future__ import annotations
from enum import Enum
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field, PositiveFloat, RootModel, confloat, conint
class BulkCallParameters(BaseModel):
AnswerUrl: str = Field(
...,
description='Fully qualified URL which will provide the RestXML once the call connects',
examples=['https://example.com/answer/'],
)
CallerName: Optional[str] = Field(
None, description='Caller Name to be set for the call', examples=['Bulk Test']
)
ConfirmKey: Optional[str] = Field(
None,
description='DTMF tone the called party must send to accept the call',
examples=['1'],
)
ConfirmSound: Optional[str] = Field(
None,
description='Remote URL to fetch with POST HTTP request which must return a RestXML with Play, Wait and/or Speak Elements only (all others are ignored). This RESTXML is played to the called party when he answered',
examples=['https://example.com/confirm_sound/'],
)
CoreUUID: Optional[str] = Field(
None,
description='Core UUID of the desired FreeSWITCH instance (an Eqivo extension)',
examples=['2e8e6275-7cfe-4e3c-a8d6-25316b4519c7'],
)
Delimiter: str = Field(
...,
description='Any character, except `/` and `,`, which will be used as a separator within several parameters',
examples=['<'],
)
ExtraDialString: Optional[str] = Field(
None,
description='Additional [channel variables](https://freeswitch.org/confluence/display/FREESWITCH/Channel+Variables) to be added to the originate FreeSWITCH API call.',
examples=['bridge_early_media=true,hangup_after_bridge=true'],
)
From: str = Field(
...,
description='Phone number to be used as Caller ID',
examples=['15551234567'],
)
GatewayCodecs: Optional[str] = Field(
None,
description='List of codec(s) to be used for each gateway. Enclose codec groups in single quotes',
examples=["'PCMA,PCMU','G729,PCMU','PCMA,G729'"],
)
GatewayRetries: Optional[str] = Field(
None,
description='List of maximum retry counts for each gateway',
examples=['3,1,2'],
)
GatewayTimeouts: Optional[str] = Field(
None,
description='List of maximum timeout amounts (in seconds) for each gateway',
examples=['10,30,20'],
)
Gateways: str = Field(
...,
description='Comma separated FreeSWITCH gateway strings. When multiple gateways are specified, they will be tried sequentially (failover)',
examples=['user/,sofia/gateway/PSTNgateway1/,sofia/gateway/PSTNgateway2/'],
)
HangupOnRing: Optional[conint(ge=1)] = Field(
None,
description="Schedules the call's hangup at a given time offset (in seconds) after the destination starts ringing",
examples=[90],
)
HangupUrl: Optional[str] = Field(
None,
description='Fully qualified URL to which the call hangup notification will be POSTed. `HangupCause` is added to the usual call [call notification parameters](#/components/schemas/CallNotificationParameters)',
examples=['https://example.com/hangup/'],
)
RejectCauses: Optional[str] = Field(
'NO_ANSWER,ORIGINATOR_CANCEL,ALLOTTED_TIMEOUT,NO_USER_RESPONSE,CALL_REJECTED',
description='Comma separated reject causes',
examples=['USER_BUSY,NO_ANSWER'],
)
RingUrl: Optional[str] = Field(
None,
description='Fully qualified URL to which the call ringing notification will be POSTed. `RequestUUID` and `CallUUID` is added to the usual [call notification parameters](#/components/schemas/CallNotificationParameters)',
examples=['https://example.com/ring/'],
)
SendDigits: Optional[str] = Field(
None,
description='DTMF tones to be sent when the call is answered. Each occurrence of `w` implies a 0.5 seconds delay whereas `W` will apply a whole second delay. To alter the tone duration (by default, 2000ms), append `@` and the length in milliseconds at the end of the string',
examples=['1w2w3W#*@1500'],
)
SendOnPreanswer: Optional[bool] = Field(
None,
description='When set to `true`, DTMF tones will be sent as early media rather than when the call is answered',
examples=[False],
)
TimeLimit: Optional[conint(ge=1)] = Field(
None,
description="Schedules the call's hangup at a given time offset (in seconds) after the call is answered",
examples=[90],
)
To: str = Field(
..., description='Phone number to be called', examples=['15557654321']
)
class Message(Enum):
BulkCalls_Request_Executed = 'BulkCalls Request Executed'
Mandatory_Parameters_Missing = 'Mandatory Parameters Missing'
This_Delimiter_is_not_allowed = 'This Delimiter is not allowed'
BulkCalls_should_be_used_for_at_least_2_numbers = (
'BulkCalls should be used for at least 2 numbers'
)
field_To__parameter_length_does_not_match__Gateways__Length = (
'\'To\' parameter length does not match \'Gateways\' Length'
)
AnswerUrl_is_not_Valid = 'AnswerUrl is not Valid'
HangupUrl_is_not_Valid = 'HangupUrl is not Valid'
RingUrl_is_not_Valid = 'RingUrl is not Valid'
Unknown_Core_UUID = 'Unknown Core UUID'
class BulkCallResponse(BaseModel):
Message_1: Message = Field(
...,
alias='Message',
description='Response message',
examples=['BulkCalls Request Executed'],
)
RequestUUID: List[str] = Field(
...,
description='Unique identifiers of each Call request (UUIDv4)',
examples=[
[
'fc92f3f4-3777-43ed-b269-5b4a0d474b12',
'22f94a34-2890-4f18-ab99-5c47e25dd3c3',
'd1337342-0225-465d-b7bb-1b5d88eb39d2',
]
],
)
RestApiServer: str = Field(
...,
description='API server which handled this request (an Eqivo extension)',
examples=['localhost'],
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class AnsweredBy(Enum):
machine_start = 'machine_start'
machine_end_beep = 'machine_end_beep'
machine_end_other = 'machine_end_other'
human = 'human'
unknown = 'unknown'
class CallStatus(Enum):
ringing = 'ringing'
early_media = 'early-media'
answer = 'answer'
in_progress = 'in-progress'
completed = 'completed'
class Direction(Enum):
inbound = 'inbound'
outbound = 'outbound'
class CallNotificationParameters(BaseModel):
ALegRequestUUID: Optional[str] = Field(
None,
description="A leg call request's unique identifier",
examples=['5a4ef7cf-dc08-4cd3-a9d0-6d1555ba3309'],
)
ALegUUID: Optional[str] = Field(
None,
description="A leg call's unique identifier, assigned by FreeSWITCH",
examples=['8dd5a1e0-6621-4a07-98b3-e033b014fba7'],
)
AnsweredBy_1: Optional[AnsweredBy] = Field(
None,
alias='AnsweredBy',
description='Answering actor, when answering machine detection is enabled',
examples=['human'],
)
CallStatus_1: CallStatus = Field(
...,
alias='CallStatus',
description="Call's current status",
examples=['in-progress'],
)
CallUUID: str = Field(
...,
description="Call's unique identifier, assigned by FreeSWITCH",
examples=['7ff22856-357e-4b77-812c-22d28cbb8982'],
)
CallerName: str = Field(
..., description='Caller name set for the call', examples=['Alice']
)
CoreUUID: str = Field(
...,
description="FreeSWITCH's instance unique identifier (Eqivo extension)",
examples=['b14e0893-98ef-44b6-8e4b-e4bcf937bfa9'],
)
Direction_1: Direction = Field(
..., alias='Direction', description="Call's direction", examples=['outbound']
)
ForwardedFrom: Optional[str] = Field(
None,
description='Original call destination (before diversion)',
examples=['15551239876'],
)
From: str = Field(
..., description='Caller ID set for the call', examples=['15557654321']
)
MachineDetectionDuration: Optional[int] = Field(
None,
description='Actual answering machine detection assessment duration (in milliseconds)',
examples=['19'],
)
RestApiServer: str = Field(
...,
description='Eqivo Rest API server which controls the call (Eqivo extension)',
examples=['localhost'],
)
ScheduledHangupId: Optional[str] = Field(
None,
description='Unique identifier of the scheduled hangup task',
examples=['8f4a3488-3283-408b-bf6f-b957d5d4cf00'],
)
To: str = Field(..., description='Called phone number', examples=['15551234567'])
class AsyncAmdStatusCallbackMethod(Enum):
POST = 'POST'
GET = 'GET'
class MachineDetection(Enum):
Enable = 'Enable'
DetectMessageEnd = 'DetectMessageEnd'
class CallParameters(BaseModel):
AnswerUrl: str = Field(
...,
description='Fully qualified URL which will provide the RestXML once the call connects',
examples=['https://example.com/answer/'],
)
AsyncAMD: Optional[bool] = Field(
False,
description='When set to `true`, the call flow execution is blocked until answering machine detection is complete (an Eqivo extension)',
examples=[True],
)
AsyncAmdStatusCallback: Optional[str] = Field(
None,
description='Fully qualified URL to which the answering machine detection result will be sent. `AnsweredBy` and `MachineDetectionDuration` are appended to the usual [call notification parameters](#/components/schemas/CallNotificationParameters) (an Eqivo extension)',
)
AsyncAmdStatusCallbackMethod_1: Optional[AsyncAmdStatusCallbackMethod] = Field(
'POST',
alias='AsyncAmdStatusCallbackMethod',
description='HTTP method to be used when answering machine detection is completed (an Eqivo extension)',
examples=['GET'],
)
CallerName: Optional[str] = Field(
None, description='Caller Name to be set for the call', examples=['Test']
)
CoreUUID: Optional[str] = Field(
None,
description='Core UUID of the desired FreeSWITCH instance (an Eqivo extension)',
examples=['45521fc6-a4b3-42b6-96ad-9136256be216'],
)
ExtraDialString: Optional[str] = Field(
None,
description='Additional [channel variables](https://freeswitch.org/confluence/display/FREESWITCH/Channel+Variables) to be added to the originate FreeSWITCH API call.',
examples=['bridge_early_media=true,hangup_after_bridge=true'],
)
From: str = Field(
...,
description='Phone number to be used as Caller ID',
examples=['15551234567'],
)
GatewayCodecs: Optional[str] = Field(
None,
description='List of codec(s) to be used for each gateway. Enclose codec groups in single quotes',
examples=["'PCMA,PCMU','G729,PCMU','PCMA,G729'"],
)
GatewayRetries: Optional[str] = Field(
None,
description='List of maximum retry counts for each gateway',
examples=['3,1,2'],
)
GatewayTimeouts: Optional[str] = Field(
None,
description='List of maximum timeout amounts (in seconds) for each gateway',
examples=['10,30,20'],
)
Gateways: str = Field(
...,
description='Comma separated FreeSWITCH gateway strings. When multiple gateways are specified, they will be tried sequentially (failover)',
examples=['user/,sofia/gateway/PSTNgateway1/,sofia/gateway/PSTNgateway2/'],
)
HangupOnRing: Optional[conint(ge=1)] = Field(
None,
description="Schedules the call's hangup at a given time offset (in seconds) after the destination starts ringing",
examples=[90],
)
HangupUrl: Optional[str] = Field(
None,
description='Fully qualified URL to which the call hangup notification will be POSTed. `HangupCause` is added to the usual call [call notification parameters](#/components/schemas/CallNotificationParameters)',
examples=['https://example.com/hangup/'],
)
MachineDetection_1: Optional[MachineDetection] = Field(
None,
alias='MachineDetection',
description='Enables answering machine detection; optionally, it waits until the greeting message has been played back (an Eqivo extension)',
examples=['Enable'],
)
MachineDetectionSilenceTimeout: Optional[conint(ge=2000, le=10000)] = Field(
5000,
description='Initial silence threshold (in milliseconds, an Eqivo extension)',
examples=[3000],
)
MachineDetectionSpeechEndThreshold: Optional[conint(ge=500, le=5000)] = Field(
1200,
description='Silence threshold (in milliseconds, an Eqivo extension)',
examples=[1000],
)
MachineDetectionSpeechThreshold: Optional[conint(ge=1000, le=6000)] = Field(
2400,
description='Speech activity/utterance threshold (in milliseconds, an Eqivo extension)',
examples=[2000],
)
MachineDetectionTimeout: Optional[conint(ge=3, le=59)] = Field(
30,
description='Amount of time (in seconds) allotted for answering machine detection assessment (an Eqivo extension)',
examples=[5],
)
RingUrl: Optional[str] = Field(
None,
description='Fully qualified URL to which the call ringing notification will be POSTed. `RequestUUID` and `CallUUID` is added to the usual [call notification parameters](#/components/schemas/CallNotificationParameters)',
examples=['https://example.com/ring/'],
)
SendDigits: Optional[str] = Field(
None,
description='DTMF tones to be sent when the call is answered. Each occurrence of `w` implies a 0.5 seconds delay whereas `W` will apply a whole second delay. To alter the tone duration (by default, 2000ms), append `@` and the length in milliseconds at the end of the string',
examples=['1w2w3W#*@1500'],
)
SendOnPreanswer: Optional[bool] = Field(
None,
description='When set to `true`, DTMF tones will be sent as early media rather than when the call is answered',
examples=[False],
)
TimeLimit: Optional[conint(ge=1)] = Field(
None,
description="Schedules the call's hangup at a given time offset (in seconds) after the call is answered",
examples=[90],
)
To: str = Field(
..., description='Phone number to be called', examples=['15557654321']
)
class Message1(Enum):
Call_Request_Executed = 'Call Request Executed'
Mandatory_Parameters_Missing = 'Mandatory Parameters Missing'
AnswerUrl_is_not_Valid = 'AnswerUrl is not Valid'
HangupUrl_is_not_Valid = 'HangupUrl is not Valid'
RingUrl_is_not_Valid = 'RingUrl is not Valid'
Unknown_Core_UUID = 'Unknown Core UUID'
class CallResponse(BaseModel):
Message: Message1 = Field(
..., description='Response message', examples=['Call Request Executed']
)
RequestUUID: str = Field(
...,
description='Unique identifier of the Call request (UUIDv4)',
examples=['fc92f3f4-3777-43ed-b269-5b4a0d474b12'],
)
RestApiServer: str = Field(
...,
description='API server which handled this request (an Eqivo extension)',
examples=['localhost'],
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class CancelScheduledHangupParameters(BaseModel):
SchedHangupId: str = Field(
...,
description='Unique identifier returned when scheduled hangup was originally requested',
examples=['ea428fbd-ac9b-498c-8bb2-a36ac49f10fd'],
)
class Message2(Enum):
Scheduled_Hangup_Cancelation_Executed = 'Scheduled Hangup Cancelation Executed'
SchedHangupId_Parameter_must_be_present = 'SchedHangupId Parameter must be present'
Scheduled_Hangup_Cancelation_Failed____ID_not_found = (
'Scheduled Hangup Cancelation Failed -- ID not found'
)
Scheduled_Hangup_Cancelation_Failed = 'Scheduled Hangup Cancelation Failed'
class CancelScheduledHangupResponse(BaseModel):
Message: Message2 = Field(
...,
description='Response message',
examples=['Scheduled Hangup Cancelation Executed'],
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class CancelScheduledPlayParameters(BaseModel):
SchedPlayId: str = Field(
...,
description='Unique identifier returned when scheduled playback was originally requested',
examples=['ea428fbd-ac9b-498c-8bb2-a36ac49f10fd'],
)
class Message3(Enum):
Scheduled_Play_Cancelation_Executed = 'Scheduled Play Cancelation Executed'
SchedPlayId_Parameter_must_be_present = 'SchedPlayId Parameter must be present'
Scheduled_Play_Cancelation_Failed____ID_not_found = (
'Scheduled Play Cancelation Failed -- ID not found'
)
Scheduled_Play_Cancelation_Failed = 'Scheduled Play Cancelation Failed'
class CancelScheduledPlayResponse(BaseModel):
Message: Message3 = Field(
...,
description='Response message',
examples=['Scheduled Play Cancelation Executed'],
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferenceDeafParameters(BaseModel):
ConferenceName: str = Field(
..., description='Name of the conference in question', examples=['Room402']
)
MemberID: str = Field(
...,
description='List of comma separated member IDs to be affected; `all` shorthand is available too.',
examples=['13,42'],
)
class Message4(Enum):
Conference_Deaf_Executed = 'Conference Deaf Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
MemberID_Parameter_must_be_present = 'MemberID Parameter must be present'
Conference_Deaf_Failed____Conference_not_found = (
'Conference Deaf Failed -- Conference not found'
)
class ConferenceDeafResponse(BaseModel):
Members: Optional[List[str]] = Field(
None, description='List of affected members', examples=[['13', '42']]
)
Message: Message4 = Field(
..., description='Response message', examples=['Conference Deaf Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferenceHangupParameters(BaseModel):
ConferenceName: str = Field(
..., description='Name of the conference in question', examples=['Room402']
)
MemberID: str = Field(
...,
description='List of comma separated member IDs to be affected; `all` shorthand is available too.',
examples=['13,42'],
)
class Message5(Enum):
Conference_Hangup_Executed = 'Conference Hangup Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
MemberID_Parameter_must_be_present = 'MemberID Parameter must be present'
Conference_Hangup_Failed____Conference_not_found = (
'Conference Hangup Failed -- Conference not found'
)
class ConferenceHangupResponse(BaseModel):
Members: Optional[List[str]] = Field(
None, description='List of affected members', examples=[['13', '42']]
)
Message: Message5 = Field(
..., description='Response message', examples=['Conference Hangup Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferenceKickParameters(BaseModel):
ConferenceName: str = Field(
..., description='Name of the conference in question', examples=['Room402']
)
MemberID: str = Field(
...,
description='List of comma separated member IDs to be affected; `all` shorthand is available too.',
examples=['13,42'],
)
class Message6(Enum):
Conference_Kick_Executed = 'Conference Kick Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
MemberID_Parameter_must_be_present = 'MemberID Parameter must be present'
Conference_Kick_Failed____Conference_not_found = (
'Conference Kick Failed -- Conference not found'
)
class ConferenceKickResponse(BaseModel):
Members: Optional[List[str]] = Field(
None, description='List of affected members', examples=[['13', '42']]
)
Message: Message6 = Field(
..., description='Response message', examples=['Conference Kick Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferenceListMembersParameters(BaseModel):
CallUUIDFilter: Optional[str] = Field(
None,
description='Restricts listed calls to the provided values (comma separated call UUID list)',
examples=[
'872066e1-fd89-4c57-8733-93c113980bc9,55e4214a-604a-4b56-82e4-97834b0d524e'
],
)
ConferenceName: str = Field(
..., description='Name of the conference', examples=['Room402']
)
DeafFilter: Optional[bool] = Field(
'false', description='Restricts listed members to deaf ones', examples=['true']
)
MemberFilter: Optional[str] = Field(
None,
description='Restricts listed members to the provided values (comma separated member ID list)',
examples=['13,42'],
)
MutedFilter: Optional[bool] = Field(
'false', description='Restricts listed members to muted ones', examples=['true']
)
class Message7(Enum):
Conference_ListMembers_Executed = 'Conference ListMembers Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
Conference_ListMembers_Failed_to_parse_result = (
'Conference ListMembers Failed to parse result'
)
Conference_ListMembers_Failed____Conference_not_found = (
'Conference ListMembers Failed -- Conference not found'
)
class ConferenceListMembersResponse(BaseModel):
List: Dict[str, Any] = Field(
...,
description='List of established conferences',
examples=[
{
'Room402': {
'ConferenceMemberCount': '1',
'ConferenceName': 'Room402',
'ConferenceRunTime': '79',
'ConferenceUUID': '5105acbf-6d43-4d67-8536-19999924eba4',
'Members': [
{
'CallName': 'DeskPhone985',
'CallNumber': '3985',
'CallUUID': '8f72b48e-d97e-425a-a6e6-ae5a6a0dc231',
'Deaf': False,
'JoinTime': '79',
'MemberID': '14',
'Muted': False,
}
],
}
}
],
)
Message: Message7 = Field(
...,
description='Response message',
examples=['Conference ListMembers Executed'],
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferenceListParameters(BaseModel):
CallUUIDFilter: Optional[str] = Field(
None,
description='Restricts listed calls to the provided values (comma separated call UUID list)',
examples=[
'872066e1-fd89-4c57-8733-93c113980bc9,55e4214a-604a-4b56-82e4-97834b0d524e'
],
)
DeafFilter: Optional[bool] = Field(
'false', description='Restricts listed members to deaf ones', examples=['true']
)
MemberFilter: Optional[str] = Field(
None,
description='Restricts listed members to the provided values (comma separated member ID list)',
examples=['13,42'],
)
MutedFilter: Optional[bool] = Field(
'false', description='Restricts listed members to muted ones', examples=['true']
)
class Message8(Enum):
Conference_List_Executed = 'Conference List Executed'
Conference_List_Failed_to_parse_result = 'Conference List Failed to parse result'
class ConferenceListResponse(BaseModel):
List: Dict[str, Any] = Field(
...,
description='List of established conferences',
examples=[
{
'Room402': {
'ConferenceMemberCount': '1',
'ConferenceName': 'Room402',
'ConferenceRunTime': '79',
'ConferenceUUID': '5105acbf-6d43-4d67-8536-19999924eba4',
'Members': [
{
'CallName': 'DeskPhone985',
'CallNumber': '3985',
'CallUUID': '8f72b48e-d97e-425a-a6e6-ae5a6a0dc231',
'Deaf': False,
'JoinTime': '79',
'MemberID': '14',
'Muted': False,
}
],
},
'Room555': {
'ConferenceMemberCount': '1',
'ConferenceName': 'Room555',
'ConferenceRunTime': '28',
'ConferenceUUID': '732fab2d-1bff-4b54-8d3e-bd937b8ff662',
'Members': [
{
'CallName': 'GuestCenter2',
'CallNumber': '2002',
'CallUUID': 'f8a79c36-2567-479d-b4d9-08f4165f8767',
'Deaf': False,
'JoinTime': '28',
'MemberID': '14',
'Muted': False,
}
],
},
}
],
)
Message: Message8 = Field(
..., description='Response message', examples=['Conference List Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferenceMuteParameters(BaseModel):
ConferenceName: str = Field(
..., description='Name of the conference in question', examples=['Room402']
)
MemberID: str = Field(
...,
description='List of comma separated member IDs to be affected; `all` shorthand is available too.',
examples=['13,42'],
)
class Message9(Enum):
Conference_Mute_Executed = 'Conference Mute Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
MemberID_Parameter_must_be_present = 'MemberID Parameter must be present'
Conference_Mute_Failed____Conference_not_found = (
'Conference Mute Failed -- Conference not found'
)
class ConferenceMuteResponse(BaseModel):
Members: Optional[List[str]] = Field(
None, description='List of affected members', examples=[['13', '42']]
)
Message: Message9 = Field(
..., description='Response message', examples=['Conference Mute Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferencePlayParameters(BaseModel):
ConferenceName: str = Field(
..., description='Name of the conference in question', examples=['Room402']
)
FilePath: str = Field(
...,
description='Path/URI of the media file to be played',
examples=['/var/local/media/sample.wav'],
)
MemberID: str = Field(
...,
description='List of comma separated member IDs to be affected; `all` shorthand is available too.',
examples=['13,42'],
)
class Message10(Enum):
Conference_Play_Executed = 'Conference Play Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
FilePath_Parameter_must_be_present = 'FilePath Parameter must be present'
MemberID_Parameter_must_be_present = 'MemberID Parameter must be present'
Conference_Play_Failed____Conference_not_found = (
'Conference Play Failed -- Conference not found'
)
Conference_Play_Failed = 'Conference Play Failed'
class ConferencePlayResponse(BaseModel):
Message: Message10 = Field(
..., description='Response message', examples=['Conference Play Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class FileFormat(Enum):
wav = 'wav'
mp3 = 'mp3'
class ConferenceRecordStartParameters(BaseModel):
ConferenceName: str = Field(
..., description='Name of the conference in question', examples=['Room402']
)
FileFormat_1: Optional[FileFormat] = Field(
'mp3',
alias='FileFormat',
description='File format (extension)',
examples=['wav'],
)
FileName: Optional[str] = Field(
'',
description='Recording file name (without extension); if empty, a timestamp based file name will be generated',
examples=['Room402Rec'],
)
FilePath: Optional[str] = Field(
'',
description='Directory path/URI where the recording file will be saved',
examples=['/tmp/recordings'],
)
class Message11(Enum):
Conference_RecordStart_Executed = 'Conference RecordStart Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
FileFormat_Parameter_must_be = 'FileFormat Parameter must be'
Conference_RecordStart_Failed = 'Conference RecordStart Failed'
Conference_RecordStart_Failed____Conference_not_found = (
'Conference RecordStart Failed -- Conference not found'
)
class ConferenceRecordStartResponse(BaseModel):
Message: Message11 = Field(
...,
description='Response message',
examples=['Conference RecordStart Executed'],
)
RecordFile: str = Field(
...,
description='Directory path/URI where the recording file will be saved',
examples=['/tmp/recordings/sample.mp3'],
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferenceRecordStopParameters(BaseModel):
ConferenceName: str = Field(
..., description='Name of the conference in question', examples=['Room402']
)
RecordFile: str = Field(
...,
description='Full path to recording file, as returned by ConferenceRecordStart; `all` shorthand is also available',
examples=['/tmp/recording/sample.wav'],
)
class Message12(Enum):
Conference_RecordStop_Executed = 'Conference RecordStop Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
RecordFile_Parameter_must_be_present = 'RecordFile Parameter must be present'
Conference_RecordStop_Failed = 'Conference RecordStop Failed'
Conference_RecordStop_Failed____Conference_not_found = (
'Conference RecordStop Failed -- Conference not found'
)
class ConferenceRecordStopResponse(BaseModel):
Message: Message12 = Field(
..., description='Response message', examples=['Conference RecordStop Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferenceSpeakParameters(BaseModel):
ConferenceName: str = Field(
..., description='Name of the conference in question', examples=['Room402']
)
MemberID: str = Field(
...,
description='List of comma separated member IDs to be affected; `all` shorthand is available too.',
examples=['13,42'],
)
Text: str = Field(
...,
description='Text to be synthesized',
examples=['The quick brown fox jumps over the lazy dog'],
)
class Message13(Enum):
Conference_Speak_Executed = 'Conference Speak Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
Text_Parameter_must_be_present = 'Text Parameter must be present'
MemberID_Parameter_must_be_present = 'MemberID Parameter must be present'
Conference_Speak_Failed____Conference_not_found = (
'Conference Speak Failed -- Conference not found'
)
Conference_Speak_Failed = 'Conference Speak Failed'
class ConferenceSpeakResponse(BaseModel):
Message: Message13 = Field(
..., description='Response message', examples=['Conference Speak Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferenceUndeafParameters(BaseModel):
ConferenceName: str = Field(
..., description='Name of the conference in question', examples=['Room402']
)
MemberID: str = Field(
...,
description='List of comma separated member IDs to be affected; `all` shorthand is available too.',
examples=['13,42'],
)
class Message14(Enum):
Conference_Undeaf_Executed = 'Conference Undeaf Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
MemberID_Parameter_must_be_present = 'MemberID Parameter must be present'
Conference_Undeaf_Failed____Conference_not_found = (
'Conference Undeaf Failed -- Conference not found'
)
class ConferenceUndeafResponse(BaseModel):
Members: Optional[List[str]] = Field(
None, description='List of affected members', examples=[['13', '42']]
)
Message: Message14 = Field(
..., description='Response message', examples=['Conference Undeaf Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ConferenceUnmuteParameters(BaseModel):
ConferenceName: str = Field(
..., description='Name of the conference in question', examples=['Room402']
)
MemberID: str = Field(
...,
description='List of comma separated member IDs to be affected; `all` shorthand is available too.',
examples=['13,42'],
)
class Message15(Enum):
Conference_Unmute_Executed = 'Conference Unmute Executed'
ConferenceName_Parameter_must_be_present = (
'ConferenceName Parameter must be present'
)
MemberID_Parameter_must_be_present = 'MemberID Parameter must be present'
Conference_Unmute_Failed____Conference_not_found = (
'Conference Unmute Failed -- Conference not found'
)
class ConferenceUnmuteResponse(BaseModel):
Members: Optional[List[str]] = Field(
None, description='List of affected members', examples=[['13', '42']]
)
Message: Message15 = Field(
..., description='Response message', examples=['Conference Unmute Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class GroupCallParameters(BaseModel):
AnswerUrl: str = Field(
...,
description='Fully qualified URL which will provide the RestXML once the call connects',
examples=['https://example.com/answer/'],
)
CallerName: Optional[str] = Field(
None, description='Caller Name to be set for the call', examples=['Group Test']
)
ConfirmKey: Optional[str] = Field(
None,
description='DTMF tone the called party must send to accept the call',
examples=['1'],
)
ConfirmSound: Optional[str] = Field(
None,
description='Remote URL to fetch with POST HTTP request which must return a RestXML with Play, Wait and/or Speak Elements only (all others are ignored). This RESTXML is played to the called party when he answered',
examples=['https://example.com/confirm_sound/'],
)
CoreUUID: Optional[str] = Field(
None,
description='Core UUID of the desired FreeSWITCH instance (an Eqivo extension)',
examples=['46ae8cd9-c28e-447d-ba40-a09cba49d474'],
)
Delimiter: str = Field(
...,
description='Any character, except `/` and `,`, which will be used as a separator within several parameters',
examples=['<'],
)
ExtraDialString: Optional[str] = Field(
None,
description='Additional [channel variables](https://freeswitch.org/confluence/display/FREESWITCH/Channel+Variables) to be added to the originate FreeSWITCH API call.',
examples=['bridge_early_media=true,hangup_after_bridge=true'],
)
From: str = Field(
...,
description='Phone number to be used as Caller ID',
examples=['15551234567'],
)
GatewayCodecs: Optional[str] = Field(
None,
description='List of codec(s) to be used for each gateway. Enclose codec groups in single quotes',
examples=["'PCMA,PCMU','G729,PCMU','PCMA,G729'"],
)
GatewayRetries: Optional[str] = Field(
None,
description='List of maximum retry counts for each gateway',
examples=['3,1,2'],
)
GatewayTimeouts: Optional[str] = Field(
None,
description='List of maximum timeout amounts (in seconds) for each gateway',
examples=['10,30,20'],
)
Gateways: str = Field(
...,
description='Comma separated FreeSWITCH gateway strings. When multiple gateways are specified, they will be tried sequentially (failover)',
examples=['user/,sofia/gateway/PSTNgateway1/,sofia/gateway/PSTNgateway2/'],
)
HangupOnRing: Optional[conint(ge=1)] = Field(
None,
description="Schedules the call's hangup at a given time offset (in seconds) after the destination starts ringing",
examples=[90],
)
HangupUrl: Optional[str] = Field(
None,
description='Fully qualified URL to which the call hangup notification will be POSTed. `HangupCause` is added to the usual call [call notification parameters](#/components/schemas/CallNotificationParameters)',
examples=['https://example.com/hangup/'],
)
RejectCauses: Optional[str] = Field(
'NO_ANSWER,ORIGINATOR_CANCEL,ALLOTTED_TIMEOUT,NO_USER_RESPONSE,CALL_REJECTED',
description='Comma separated reject causes',
examples=['USER_BUSY,NO_ANSWER'],
)
RingUrl: Optional[str] = Field(
None,
description='Fully qualified URL to which the call ringing notification will be POSTed. `RequestUUID` and `CallUUID` is added to the usual [call notification parameters](#/components/schemas/CallNotificationParameters)',
examples=['https://example.com/ring/'],
)
SendDigits: Optional[str] = Field(
None,
description='DTMF tones to be sent when the call is answered. Each occurrence of `w` implies a 0.5 seconds delay whereas `W` will apply a whole second delay. To alter the tone duration (by default, 2000ms), append `@` and the length in milliseconds at the end of the string',
examples=['1w2w3W#*@1500'],
)
SendOnPreanswer: Optional[bool] = Field(
None,
description='When set to `true`, DTMF tones will be sent as early media rather than when the call is answered',
examples=[False],
)
TimeLimit: Optional[conint(ge=1)] = Field(
None,
description="Schedules the call's hangup at a given time offset (in seconds) after the call is answered",
examples=[90],
)
To: str = Field(
..., description='Phone number to be called', examples=['15557654321']
)
class Message16(Enum):
GroupCall_Request_Executed = 'GroupCall Request Executed'
Mandatory_Parameters_Missing = 'Mandatory Parameters Missing'
This_Delimiter_is_not_allowed = 'This Delimiter is not allowed'
GroupCall_should_be_used_for_at_least_2_numbers = (
'GroupCall should be used for at least 2 numbers'
)
field_To__parameter_length_does_not_match__Gateways__Length = (
'\'To\' parameter length does not match \'Gateways\' Length'
)
AnswerUrl_is_not_Valid = 'AnswerUrl is not Valid'
HangupUrl_is_not_Valid = 'HangupUrl is not Valid'
RingUrl_is_not_Valid = 'RingUrl is not Valid'
ConfirmSound_is_not_Valid = 'ConfirmSound is not Valid'
Unknown_Core_UUID = 'Unknown Core UUID'
GroupCall_Request_Failed = 'GroupCall Request Failed'
class GroupCallResponse(BaseModel):
Message: Message16 = Field(
..., description='Response message', examples=['GroupCall Request Executed']
)
RequestUUID: str = Field(
...,
description='Unique identifier of the Call request (UUIDv4)',
examples=['fc01f3f4-4895-43ed-b269-5b4a0d474b12'],
)
RestApiServer: str = Field(
...,
description='API server which handled this request (an Eqivo extension)',
examples=['localhost'],
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class HangupAllCallsParameters(RootModel[Any]):
root: Any
class Message17(Enum):
All_Calls_Hungup = 'All Calls Hungup'
Hangup_Call_Failed = 'Hangup Call Failed'
class HangupAllCallsResponse(BaseModel):
Message: Message17 = Field(
..., description='Response message', examples=['All Calls Hungup']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class HangupCallParameters(BaseModel):
CallUUID: Optional[str] = Field(
None,
description='Unique identifier of the call (when established); this parameter is mutually exclusive with RequestUUID',
examples=['b0519011-6987-47c8-9270-a820e0978acd'],
)
RequestUUID: Optional[str] = Field(
None,
description='Unique identifier of the API request (when the call is not established yet); this parameter is mutually exclusive with CallUUID',
examples=['c059b96b-04d8-414b-920c-7b373bff916e'],
)
class Message18(Enum):
Hangup_Call_Executed = 'Hangup Call Executed'
CallUUID_or_RequestUUID_Parameter_must_be_present = (
'CallUUID or RequestUUID Parameter must be present'
)
Both_CallUUID_and_RequestUUID_Parameters_cannot_be_present = (
'Both CallUUID and RequestUUID Parameters cannot be present'
)
Hangup_Call_Failed = 'Hangup Call Failed'
class HangupCallResponse(BaseModel):
Message: Message18 = Field(
..., description='Response message', examples=['Hangup Call Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class Legs(Enum):
aleg = 'aleg'
bleg = 'bleg'
both = 'both'
class PlayParameters(BaseModel):
CallUUID: str = Field(
...,
description='Unique identifier of the call to play media into',
examples=['e69b32da-3243-4ba6-a965-5d2f64a57d48'],
)
Legs_1: Optional[Legs] = Field(
'aleg',
alias='Legs',
description='Call leg(s) for which the media will be played; `aleg` refers to the initial call leg, `bleg` refers to the bridged call leg, if applicable.',
examples=['both'],
)
Length: Optional[conint(ge=1)] = Field(
3600,
description='Maximum amount of time (in seconds) to playback the media',
examples=[90],
)
Loop: Optional[bool] = Field(
False, description='Loops the media file(s) indefinitely', examples=[True]
)
Mix: Optional[bool] = Field(
True,
description="Whether the media should be mixed with the call's audio stream",
examples=[False],
)
Sounds: str = Field(
...,
description='Comma separated list of file paths/URIs to be played',
examples=['/tmp/prompt.wav'],
)
class Message19(Enum):
Play_Executed = 'Play Executed'
CallUUID_Parameter_Missing = 'CallUUID Parameter Missing'
Sounds_Parameter_Missing = 'Sounds Parameter Missing'
Legs_Parameter_is_Invalid = 'Legs Parameter is Invalid'
Length_Parameter_must_be_a_positive_integer = (
'Length Parameter must be a positive integer'
)
Sounds_Parameter_is_Invalid = 'Sounds Parameter is Invalid'
Play_Failed____Call_not_found = 'Play Failed -- Call not found'
Play_Failed = 'Play Failed'
class PlayResponse(BaseModel):
Message: Message19 = Field(
..., description='Response message', examples=['Play Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class PlayStopParameters(BaseModel):
CallUUID: str = Field(
...,
description='Unique identifier of the call',
examples=['441afb63-85bc-49d4-9ac8-8459f9bf5e6b'],
)
class Message20(Enum):
PlayStop_Executed = 'PlayStop Executed'
CallUUID_Parameter_Missing = 'CallUUID Parameter Missing'
PlayStop_Failed____Call_not_found = 'PlayStop Failed -- Call not found'
PlayStop_Failed = 'PlayStop Failed'
class PlayStopResponse(BaseModel):
Message: Message20 = Field(
..., description='Response message', examples=['PlayStop Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class RecordStartParameters(BaseModel):
CallUUID: Optional[str] = Field(
None,
description='Unique identifier of the call to be recorded',
examples=['052d04e4-019a-45ff-a562-f74d4ae99ea2'],
)
FileFormat_1: Optional[FileFormat] = Field(
'mp3',
alias='FileFormat',
description='File format (extension)',
examples=['wav'],
)
FileName: Optional[str] = Field(
'',
description='Recording file name (without extension); if empty, a timestamp based file name will be generated',
examples=['sample_recording'],
)
FilePath: Optional[str] = Field(
'',
description='Directory path/URI where the recording file will be saved',
examples=['/tmp/recordings'],
)
TimeLimit: Optional[conint(ge=1)] = Field(
60, description='Maximum recording length, in seconds', examples=[89]
)
class Message21(Enum):
RecordStart_Executed = 'RecordStart Executed'
CallUUID_Parameter_must_be_present = 'CallUUID Parameter must be present'
FileFormat_Parameter_must_be = 'FileFormat Parameter must be'
RecordStart_Failed__invalid_TimeLimit = 'RecordStart Failed: invalid TimeLimit'
RecordStart_Failed____Call_not_found = 'RecordStart Failed -- Call not found'
RecordStart_Failed = 'RecordStart Failed'
class RecordStartResponse(BaseModel):
Message: Message21 = Field(
..., description='Response message', examples=['RecordStart Executed']
)
RecordFile: str = Field(
...,
description='Directory path/URI where the recording file will be saved',
examples=['/tmp/recordings/sample.wav'],
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class RecordStopParameters(BaseModel):
CallUUID: str = Field(
...,
description='Unique identifier of the call',
examples=['eacfa857-4001-4379-b79a-c7ef6d963bcb'],
)
RecordFile: str = Field(
...,
description='Full path to recording file, as returned by RecordStart; `all` shorthand is also available',
examples=['/tmp/recording/sample.wav'],
)
class Message22(Enum):
RecordStop_Executed = 'RecordStop Executed'
CallUUID_Parameter_must_be_present = 'CallUUID Parameter must be present'
RecordFile_Parameter_must_be_present = 'RecordFile Parameter must be present'
RecordStop_Failed____Call_not_found = 'RecordStop Failed -- Call not found'
RecordStop_Failed = 'RecordStop Failed'
class RecordStopResponse(BaseModel):
Message: Message22 = Field(
..., description='Response message', examples=['RecordStop Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class ScheduleHangupParameters(BaseModel):
CallUUID: str = Field(
...,
description='Unique identifier of the call',
examples=['f84fbadc-5df0-4c02-934b-aac0c1efb8ae'],
)
Time: conint(ge=1) = Field(
...,
description='Time (in seconds) after which the call in question will be hung up',
examples=[59],
)
class Message23(Enum):
ScheduleHangup_Executed = 'ScheduleHangup Executed'
CallUUID_Parameter_must_be_present = 'CallUUID Parameter must be present'
Time_Parameter_must_be_present = 'Time Parameter must be present'
Time_Parameter_must_be___0_ = 'Time Parameter must be > 0!'
ScheduleHangup_Failed____Call_not_found = 'ScheduleHangup Failed -- Call not found'
ScheduleHangup_Failed = 'ScheduleHangup Failed'
class ScheduleHangupResponse(BaseModel):
Message: Message23 = Field(
..., description='Response message', examples=['ScheduleHangup Executed']
)
SchedHangupId: str = Field(
...,
description='Unique identifier of the scheduled hangup request (UUIDv4)',
examples=['21579000-0dca-4a75-bc1f-6eae8215a611'],
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class SchedulePlayParameters(BaseModel):
CallUUID: str = Field(
...,
description='Unique identifier of the call to play media into',
examples=['e69b32da-3243-4ba6-a965-5d2f64a57d48'],
)
Legs_1: Optional[Legs] = Field(
'aleg',
alias='Legs',
description='Call leg(s) for which the media will be played; `aleg` refers to the initial call leg, `bleg` refers to the bridged call leg, if applicable.',
examples=['both'],
)
Length: Optional[conint(ge=1)] = Field(
3600,
description='Maximum amount of time (in seconds) to playback the media',
examples=[90],
)
Loop: Optional[bool] = Field(
False, description='Loops the media file(s) indefinitely', examples=[True]
)
Mix: Optional[bool] = Field(
True,
description="Whether the media should be mixed with the call's audio stream",
examples=[False],
)
Sounds: str = Field(
...,
description='Comma separated list of file paths/URIs to be played',
examples=['/tmp/prompt.wav'],
)
Time: conint(ge=1) = Field(
...,
description='Time (in seconds) after which the media will be playedback',
examples=[29],
)
class Message24(Enum):
Play_Executed = 'Play Executed'
CallUUID_Parameter_Missing = 'CallUUID Parameter Missing'
Sounds_Parameter_Missing = 'Sounds Parameter Missing'
Time_Parameter_Missing = 'Time Parameter Missing'
Time_Parameter_must_be___0 = 'Time Parameter must be > 0'
Legs_Parameter_is_Invalid = 'Legs Parameter is Invalid'
Length_Parameter_must_be_a_positive_integer = (
'Length Parameter must be a positive integer'
)
Sounds_Parameter_is_Invalid = 'Sounds Parameter is Invalid'
Play_Failed____Call_not_found = 'Play Failed -- Call not found'
Play_Failed = 'Play Failed'
class SchedulePlayResponse(BaseModel):
Message: Message24 = Field(
..., description='Response message', examples=['Play Executed']
)
SchedPlayId: str = Field(
...,
description='Unique identifier of the scheduled playback request (UUIDv4)',
examples=['b2d1da90-c364-42e4-818a-2eb90a474729'],
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class Leg(Enum):
aleg = 'aleg'
bleg = 'bleg'
both = 'both'
class SendDigitsParameters(BaseModel):
CallUUID: str = Field(
...,
description='Unique identifier of the call to send DTMF to',
examples=['d4cd08fe-4245-490a-ae39-5b58c6addbe8'],
)
Digits: str = Field(
...,
description='DTMF tones to be sent; each occurrence of `w` implies a 0.5 seconds delay whereas `W` will apply a whole second delay. To alter the tone duration (by default, 2000ms), append `@` and the length in milliseconds at the end of the string',
examples=['1w2w3W#*@1500'],
)
Leg_1: Optional[Leg] = Field(
'aleg',
alias='Leg',
description='Call leg(s) to which DTMFs will be sent; `aleg` refers to the initial call leg, `bleg` refers to the bridged call leg, if applicable.',
examples=['both'],
)
class Message25(Enum):
SendDigits_Executed = 'SendDigits Executed'
CallUUID_Parameter_Missing = 'CallUUID Parameter Missing'
Digits_Parameter_Missing = 'Digits Parameter Missing'
Invalid_Leg_Parameter = 'Invalid Leg Parameter'
SendDigits_Failed____Call_not_found = 'SendDigits Failed -- Call not found'
SendDigits_Failed = 'SendDigits Failed'
class SendDigitsResponse(BaseModel):
Message: Message25 = Field(
..., description='Response message', examples=['SendDigits Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class AudioDirection(Enum):
in_ = 'in'
out = 'out'
class SoundTouchParameters(BaseModel):
AudioDirection_1: Optional[AudioDirection] = Field(
'out',
alias='AudioDirection',
description='Media stream to be altered, incoming or outgoing',
examples=['in'],
)
CallUUID: str = Field(
...,
description='Unique identifier of the call to send DTMF to',
examples=['b7054b68-0620-455a-8ac7-f8f126853b9d'],
)
Pitch: Optional[PositiveFloat] = Field(
1, description='Adjust the pitch', examples=[4]
)
PitchOctaves: Optional[confloat(ge=-1.0, le=1.0)] = Field(
None, description='Adjust the pitch in octaves', examples=[0.5]
)
PitchSemiTones: Optional[confloat(ge=-14.0, le=14.0)] = Field(
None, description='Adjust the pitch in semitones', examples=[2]
)
Rate: Optional[PositiveFloat] = Field(
1, description='Adjust the rate', examples=[3]
)
Tempo: Optional[PositiveFloat] = Field(
1, description='Adjust the tempo', examples=[2]
)
class Message26(Enum):
SoundTouch_Executed = 'SoundTouch Executed'
CallUUID_Parameter_Missing = 'CallUUID Parameter Missing'
AudioDirection_Parameter_Must_be__in__or__out_ = (
'AudioDirection Parameter Must be \'in\' or \'out\''
)
PitchSemiTones_Parameter_must_be_float = 'PitchSemiTones Parameter must be float'
PitchSemiTones_Parameter_must_be_between__14_and_14 = (
'PitchSemiTones Parameter must be between -14 and 14'
)
PitchOctaves_Parameter_must_be_float = 'PitchOctaves Parameter must be float'
PitchOctaves_Parameter_must_be_between__1_and_1 = (
'PitchOctaves Parameter must be between -1 and 1'
)
Pitch_Parameter_must_be_float = 'Pitch Parameter must be float'
Pitch_Parameter_must_be___0 = 'Pitch Parameter must be > 0'
Rate_Parameter_must_be_float = 'Rate Parameter must be float'
Rate_Parameter_must_be___0 = 'Rate Parameter must be > 0'
Tempo_Parameter_must_be_float = 'Tempo Parameter must be float'
Tempo_Parameter_must_be___0 = 'Tempo Parameter must be > 0'
SoundTouch_Failed____Call_not_found = 'SoundTouch Failed -- Call not found'
SoundTouch_Failed = 'SoundTouch Failed'
class SoundTouchResponse(BaseModel):
Message: Message26 = Field(
..., description='Response message', examples=['SoundTouch Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class SoundTouchStopParameters(BaseModel):
CallUUID: str = Field(
...,
description='Unique identifier of the call',
examples=['fe372011-face-4bc2-bbcc-893d045bf67d'],
)
class Message27(Enum):
SoundTouchStop_Executed = 'SoundTouchStop Executed'
CallUUID_Parameter_Missing = 'CallUUID Parameter Missing'
SoundTouchStop_Failed____Call_not_found = 'SoundTouchStop Failed -- Call not found'
SoundTouchStop_Failed = 'SoundTouchStop Failed'
class SoundTouchStopResponse(BaseModel):
Message: Message27 = Field(
..., description='Response message', examples=['SoundTouchStop Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)
class TransferCallParameters(BaseModel):
CallUUID: str = Field(
...,
description='Unique identifier of the call',
examples=['03694cf6-62b3-4f00-b0fc-6831ddcc2693'],
)
Url: str = Field(
...,
description='Absolute URL which will return the updated RestXML flow',
examples=['https://example.org/restxml/endpoint/'],
)
class Message28(Enum):
Transfer_Call_Executed = 'Transfer Call Executed'
CallUUID_Parameter_must_be_present = 'CallUUID Parameter must be present'
Url_Parameter_must_be_present = 'Url Parameter must be present'
Url_is_not_Valid = 'Url is not Valid'
Transfer_Call_Failed____Call_not_found = 'Transfer Call Failed -- Call not found'
Transfer_Call_Failed = 'Transfer Call Failed'
class TransferCallResponse(BaseModel):
Message: Message28 = Field(
..., description='Response message', examples=['Transfer Call Executed']
)
Success: bool = Field(
..., description='Whether the request was successful or not', examples=[True]
)