sinch.domains.voice.models.v2.svaml.shared package

class sinch.domains.voice.models.v2.svaml.shared.AmdCommand(**extra_data: Any)[source]

Bases: BaseConfigModel

Parameters:

extra_data (Any)

command: Literal['amd']
events: AmdEvents | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.AmdEvents(
*,
onHuman: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
onMachine: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
onBeep: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
onUnknown: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
on_human: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
on_machine: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
on_beep: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
on_unknown: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.AnswerCommand(
*,
command: Literal['answer'] = 'answer',
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • command (Literal['answer'])

  • extra_data (Any)

command: Literal['answer']
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.BridgeCallCommand(
*,
command: Literal['bridgeCall'] = 'bridgeCall',
bridgeName: Annotated[str, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • command (Literal['bridgeCall'])

  • bridgeName (Annotated[str, Strict(strict=True)])

  • extra_data (Any)

command: Literal['bridgeCall']
bridge_name: Annotated[str, Strict(strict=True)]
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.CallEvents(
*,
onAnswer: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
onBusy: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
onReject: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
onTimeout: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
onHangup: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
onFailure: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
on_answer: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
on_busy: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
on_reject: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
on_timeout: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
on_hangup: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
on_failure: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.CustomEventCommand(
*,
command: Literal['customEvent'] = 'customEvent',
webhookName: Annotated[str, Strict(strict=True)],
url: Annotated[str, Strict(strict=True)],
fallbackUrl: Annotated[str, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • command (Literal['customEvent'])

  • webhookName (Annotated[str, Strict(strict=True)])

  • url (Annotated[str, Strict(strict=True)])

  • fallbackUrl (Annotated[str, Strict(strict=True)] | None)

  • extra_data (Any)

command: Literal['customEvent']
custom_event_name: Annotated[str, Strict(strict=True)]
url: Annotated[str, Strict(strict=True)]
fallback_url: Annotated[str, Strict(strict=True)] | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.DialCommand(**extra_data: Any)[source]

Bases: BaseConfigModel

Parameters:

extra_data (Any)

command: Literal['dial']
call_name: Annotated[str, Strict(strict=True)] | None
from_: Annotated[Phone | SipFrom, FieldInfo(annotation=NoneType, required=True, discriminator='type')] | None
to: Annotated[Phone | Sip | Stream | VoiceRelay, FieldInfo(annotation=NoneType, required=True, discriminator='type')]
dial_timeout_duration_seconds: Annotated[int, Strict(strict=True)] | None
max_call_duration_seconds: Annotated[int, Strict(strict=True)] | None
events: CallEvents | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.GotoMenuCommand(
*,
command: Literal['gotoMenu'] = 'gotoMenu',
menuName: Annotated[str, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • command (Literal['gotoMenu'])

  • menuName (Annotated[str, Strict(strict=True)])

  • extra_data (Any)

command: Literal['gotoMenu']
menu_name: Annotated[str, Strict(strict=True)]
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.HangupCommand(
*,
command: Literal['hangup'] = 'hangup',
callName: Annotated[str, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • command (Literal['hangup'])

  • callName (Annotated[str, Strict(strict=True)] | None)

  • extra_data (Any)

command: Literal['hangup']
call_name: Annotated[str, Strict(strict=True)] | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.MenuCommand(**extra_data: Any)[source]

Bases: BaseConfigModel

Parameters:

extra_data (Any)

command: Literal['menu']
start_menu: Annotated[str, Strict(strict=True)]
menus: Dict[Annotated[str, Strict(strict=True)], MenuItem]
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.MenuItem(
*,
prompt: MenuPrompt | None = None,
repeatPrompt: MenuPrompt | None = None,
inputTimeoutDurationSeconds: Annotated[int, Strict(strict=True)] | None = None,
repeatCount: Annotated[int, Strict(strict=True)] | None = None,
minimumInputLength: Annotated[int, Strict(strict=True)] | None = None,
maximumInputLength: Annotated[int, Strict(strict=True)] | None = None,
terminatingSequence: Annotated[str, Strict(strict=True)] | None = None,
inputMethods: Annotated[list[Literal['DTMF'] | Annotated[str, Strict(strict=True)]], Len(min_length=0, max_length=None)] | None = None,
matches: Dict[Annotated[str, Strict(strict=True)], Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)]] | None = None,
onFail: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
prompt: MenuPrompt | None
repeat_prompt: MenuPrompt | None
input_timeout_duration_seconds: Annotated[int, Strict(strict=True)] | None
repeat_count: Annotated[int, Strict(strict=True)] | None
minimum_input_length: Annotated[int, Strict(strict=True)] | None
maximum_input_length: Annotated[int, Strict(strict=True)] | None
terminating_sequence: Annotated[str, Strict(strict=True)] | None
input_methods: Annotated[list[Literal['DTMF'] | Annotated[str, Strict(strict=True)]], Len(min_length=0, max_length=None)] | None
matches: Dict[Annotated[str, Strict(strict=True)], Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)]] | None
on_fail: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.MenuPrompt(
*,
allowBargeIn: Annotated[bool, Strict(strict=True)] | None = None,
messages: Annotated[list[Annotated[SayMessage | PlayMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], Len(min_length=0, max_length=None)],
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • allowBargeIn (Annotated[bool, Strict(strict=True)] | None)

  • messages (Annotated[list[Annotated[SayMessage | PlayMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], Len(min_length=0, max_length=None)])

  • extra_data (Any)

allow_barge_in: Annotated[bool, Strict(strict=True)] | None
messages: Annotated[list[Annotated[SayMessage | PlayMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], Len(min_length=0, max_length=None)]
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.MessageEvents(
*,
onFinish: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
on_finish: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.MessagesCommand(**extra_data: Any)[source]

Bases: BaseConfigModel

Parameters:

extra_data (Any)

command: Literal['messages']
messages_name: Annotated[str, Strict(strict=True)] | None
messages: Annotated[list[Annotated[SayMessage | PlayMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], Len(min_length=0, max_length=None)]
events: MessageEvents | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.PauseCommand(
*,
command: Literal['pause'] = 'pause',
durationMilliseconds: Annotated[int, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • command (Literal['pause'])

  • durationMilliseconds (Annotated[int, Strict(strict=True)])

  • extra_data (Any)

command: Literal['pause']
duration_milliseconds: Annotated[int, Strict(strict=True)]
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.Play(
*,
url: Annotated[str, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • url (Annotated[str, Strict(strict=True)])

  • extra_data (Any)

url: Annotated[str, Strict(strict=True)]
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.PlayMessage(
*,
type: Literal['PLAY'] = 'PLAY',
play: Play,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • type (Literal['PLAY'])

  • play (Play)

  • extra_data (Any)

type: Literal['PLAY']
play: Play
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.RecordingEvents(
*,
onFinish: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
onFailure: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)] | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
on_finish: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
on_failure: Annotated[list[SvamlCommand], Len(min_length=0, max_length=None)] | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.RecordingOptions(
*,
format: Literal['MP3', 'WAV'] | Annotated[str, Strict(strict=True)] | None = None,
recordingType: Literal['COMBINED', 'INBOUND', 'OUTBOUND'] | Annotated[str, Strict(strict=True)] | None = None,
destination: Literal['AWS', 'GCP', 'AZURE'] | Annotated[str, Strict(strict=True)],
destinationUrl: Annotated[str, Strict(strict=True)],
credentials: Annotated[str, Strict(strict=True)],
transcriptionOptions: TranscriptionOptions | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • format (Literal['MP3', 'WAV'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • recordingType (Literal['COMBINED', 'INBOUND', 'OUTBOUND'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • destination (Literal['AWS', 'GCP', 'AZURE'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • destinationUrl (Annotated[str, Strict(strict=True)])

  • credentials (Annotated[str, Strict(strict=True)])

  • transcriptionOptions (TranscriptionOptions | None)

  • extra_data (Any)

format: Literal['MP3', 'WAV'] | Annotated[str, Strict(strict=True)] | None
recording_type: Literal['COMBINED', 'INBOUND', 'OUTBOUND'] | Annotated[str, Strict(strict=True)] | None
destination: Literal['AWS', 'GCP', 'AZURE'] | Annotated[str, Strict(strict=True)]
destination_url: Annotated[str, Strict(strict=True)]
credentials: Annotated[str, Strict(strict=True)]
transcription_options: TranscriptionOptions | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.Say(
*,
text: Annotated[str, Strict(strict=True)],
format: Literal['TEXT', 'SSML'] | Annotated[str, Strict(strict=True)] | None = None,
voiceName: Annotated[str, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • text (Annotated[str, Strict(strict=True)])

  • format (Literal['TEXT', 'SSML'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • voiceName (Annotated[str, Strict(strict=True)])

  • extra_data (Any)

text: Annotated[str, Strict(strict=True)]
format: Literal['TEXT', 'SSML'] | Annotated[str, Strict(strict=True)] | None
voice_name: Annotated[str, Strict(strict=True)]
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.SayMessage(
*,
type: Literal['SAY'] = 'SAY',
say: Say,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • type (Literal['SAY'])

  • say (Say)

  • extra_data (Any)

type: Literal['SAY']
say: Say
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.StartRecordingCommand(**extra_data: Any)[source]

Bases: BaseConfigModel

Parameters:

extra_data (Any)

command: Literal['startRecording']
recording_name: Annotated[str, Strict(strict=True)] | None
recording_options: RecordingOptions
events: RecordingEvents | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.StopMessagesCommand(
*,
command: Literal['stopMessages'] = 'stopMessages',
messagesName: Annotated[str, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • command (Literal['stopMessages'])

  • messagesName (Annotated[str, Strict(strict=True)])

  • extra_data (Any)

command: Literal['stopMessages']
messages_name: Annotated[str, Strict(strict=True)]
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.StopRecordingCommand(
*,
command: Literal['stopRecording'] = 'stopRecording',
recordingName: Annotated[str, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • command (Literal['stopRecording'])

  • recordingName (Annotated[str, Strict(strict=True)])

  • extra_data (Any)

command: Literal['stopRecording']
recording_name: Annotated[str, Strict(strict=True)]
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.SvamlInput(
*,
commands: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)],
callName: Annotated[str, Strict(strict=True)] | None = None,
events: IncomingCallResponseEvents | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
commands: Annotated[list[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]], Len(min_length=0, max_length=None)]
call_name: Annotated[str, Strict(strict=True)] | None
events: IncomingCallResponseEvents | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.TranscriptionOptions(
*,
isEnabled: Annotated[bool, Strict(strict=True)],
locale: Annotated[str, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
  • isEnabled (Annotated[bool, Strict(strict=True)])

  • locale (Annotated[str, Strict(strict=True)] | None)

  • extra_data (Any)

is_enabled: Annotated[bool, Strict(strict=True)]
locale: Annotated[str, Strict(strict=True)] | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_BaseConfigModel__context: Any) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None

class sinch.domains.voice.models.v2.svaml.shared.IncomingCallResponseEvents(
*,
onHangup: List[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]] | None = None,
**extra_data: Any,
)[source]

Bases: BaseConfigModel

Parameters:
on_hangup: List[Annotated[AmdCommand | DialCommand | MessagesCommand | StopMessagesCommand | CustomEventCommand | HangupCommand | AnswerCommand | PauseCommand | StartRecordingCommand | StopRecordingCommand | BridgeCallCommand | MenuCommand | GotoMenuCommand, FieldInfo(annotation=NoneType, required=True, discriminator='command')]] | None
model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(
_BaseConfigModel__context: Any,
) None

Marks applied non-None defaults as set.

Parameters:

_BaseConfigModel__context (Any)

Return type:

None