sinch.domains.numbers.models.v1.shared package

class sinch.domains.numbers.models.v1.shared.Money(
*,
currencyCode: Annotated[str, Strict(strict=True)] | None,
amount: Annotated[Decimal, None, Interval(gt=None, ge=None, lt=None, le=None), None, _PydanticGeneralMetadata(), None] | None = None,
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

Parameters:
  • currencyCode (Annotated[str, Strict(strict=True)] | None)

  • amount (Annotated[Decimal, None, Interval(gt=None, ge=None, lt=None, le=None), None, _PydanticGeneralMetadata(), None] | None)

  • extra_data (Any)

currency_code: Annotated[str, Strict(strict=True)] | None
amount: Annotated[Decimal, None, Interval(gt=None, ge=None, lt=None, le=None), None, _PydanticGeneralMetadata(), 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].

class sinch.domains.numbers.models.v1.shared.NumberPattern(
*,
pattern: Annotated[str, Strict(strict=True)] | None,
searchPattern: Literal['START', 'CONTAINS', 'END'] | Annotated[str, Strict(strict=True)] | None,
**extra_data: Any,
)[source]

Bases: CamelCaseDumpModel

Parameters:
  • pattern (Annotated[str, Strict(strict=True)] | None)

  • searchPattern (Literal['START', 'CONTAINS', 'END'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • extra_data (Any)

pattern: Annotated[str, Strict(strict=True)] | None
search_pattern: Literal['START', 'CONTAINS', 'END'] | 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].

class sinch.domains.numbers.models.v1.shared.ScheduledSmsProvisioning(
*,
servicePlanId: Annotated[str, Strict(strict=True)] | None = None,
campaignId: Annotated[str, Strict(strict=True)] | None = None,
status: Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | Annotated[str, Strict(strict=True)] | None = None,
lastUpdatedTime: datetime | None = None,
errorCodes: Annotated[list[Literal['ERROR_CODE_UNSPECIFIED', 'INTERNAL_ERROR', 'SMS_PROVISIONING_FAILED', 'CAMPAIGN_PROVISIONING_FAILED', 'CAMPAIGN_NOT_AVAILABLE', 'EXCEEDED_10DLC_LIMIT', 'NUMBER_PROVISIONING_FAILED', 'PARTNER_SERVICE_UNAVAILABLE', 'CAMPAIGN_PENDING_ACCEPTANCE', 'MNO_SHARING_ERROR', 'CAMPAIGN_EXPIRED', 'CAMPAIGN_MNO_REJECTED', 'CAMPAIGN_MNO_SUSPENDED', 'CAMPAIGN_MNO_REVIEW', 'INSUFFICIENT_BALANCE', 'MOCK_CAMPAIGN_NOT_ALLOWED', 'TFN_NOT_ALLOWED', 'INVALID_NNID'] | Annotated[str, Strict(strict=True)]], Len(min_length=0, max_length=None)] | None = None,
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

Parameters:
  • servicePlanId (Annotated[str, Strict(strict=True)] | None)

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

  • status (Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • lastUpdatedTime (datetime | None)

  • errorCodes (Annotated[list[Literal['ERROR_CODE_UNSPECIFIED', 'INTERNAL_ERROR', 'SMS_PROVISIONING_FAILED', 'CAMPAIGN_PROVISIONING_FAILED', 'CAMPAIGN_NOT_AVAILABLE', 'EXCEEDED_10DLC_LIMIT', 'NUMBER_PROVISIONING_FAILED', 'PARTNER_SERVICE_UNAVAILABLE', 'CAMPAIGN_PENDING_ACCEPTANCE', 'MNO_SHARING_ERROR', 'CAMPAIGN_EXPIRED', 'CAMPAIGN_MNO_REJECTED', 'CAMPAIGN_MNO_SUSPENDED', 'CAMPAIGN_MNO_REVIEW', 'INSUFFICIENT_BALANCE', 'MOCK_CAMPAIGN_NOT_ALLOWED', 'TFN_NOT_ALLOWED', 'INVALID_NNID'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)]], ~annotated_types.Len(min_length=0, max_length=None)] | None)

  • extra_data (Any)

service_plan_id: Annotated[str, Strict(strict=True)] | None
campaign_id: Annotated[str, Strict(strict=True)] | None
status: Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | Annotated[str, Strict(strict=True)] | None
last_updated_time: datetime | None
error_codes: Annotated[list[Literal['ERROR_CODE_UNSPECIFIED', 'INTERNAL_ERROR', 'SMS_PROVISIONING_FAILED', 'CAMPAIGN_PROVISIONING_FAILED', 'CAMPAIGN_NOT_AVAILABLE', 'EXCEEDED_10DLC_LIMIT', 'NUMBER_PROVISIONING_FAILED', 'PARTNER_SERVICE_UNAVAILABLE', 'CAMPAIGN_PENDING_ACCEPTANCE', 'MNO_SHARING_ERROR', 'CAMPAIGN_EXPIRED', 'CAMPAIGN_MNO_REJECTED', 'CAMPAIGN_MNO_SUSPENDED', 'CAMPAIGN_MNO_REVIEW', 'INSUFFICIENT_BALANCE', 'MOCK_CAMPAIGN_NOT_ALLOWED', 'TFN_NOT_ALLOWED', 'INVALID_NNID'] | Annotated[str, Strict(strict=True)]], 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].

class sinch.domains.numbers.models.v1.shared.ScheduledVoiceProvisioningCommon(
*,
type: Literal['RTC', 'EST', 'FAX'] | Annotated[str, Strict(strict=True)],
lastUpdatedTime: datetime | None = None,
status: Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | Annotated[str, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

Parameters:
  • type (Literal['RTC', 'EST', 'FAX'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • lastUpdatedTime (datetime | None)

  • status (Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • extra_data (Any)

type: Literal['RTC', 'EST', 'FAX'] | Annotated[str, Strict(strict=True)]
last_updated_time: datetime | None
status: Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | 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].

class sinch.domains.numbers.models.v1.shared.ScheduledVoiceProvisioningCustom(
*,
type: Annotated[str, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

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

  • extra_data (Any)

type: 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].

class sinch.domains.numbers.models.v1.shared.ScheduledVoiceProvisioningEST(
*,
type: Literal['RTC', 'EST', 'FAX'] | Annotated[str, Strict(strict=True)],
lastUpdatedTime: datetime | None = None,
status: Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | Annotated[str, Strict(strict=True)] | None = None,
trunkId: Annotated[str, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: ScheduledVoiceProvisioningCommon

Parameters:
  • type (Literal['RTC', 'EST', 'FAX'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • lastUpdatedTime (datetime | None)

  • status (Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

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

  • extra_data (Any)

trunk_id: 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].

class sinch.domains.numbers.models.v1.shared.ScheduledVoiceProvisioningFAX(
*,
type: Literal['RTC', 'EST', 'FAX'] | Annotated[str, Strict(strict=True)],
lastUpdatedTime: datetime | None = None,
status: Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | Annotated[str, Strict(strict=True)] | None = None,
serviceId: Annotated[str, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: ScheduledVoiceProvisioningCommon

Parameters:
  • type (Literal['RTC', 'EST', 'FAX'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • lastUpdatedTime (datetime | None)

  • status (Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

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

  • extra_data (Any)

service_id: 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].

class sinch.domains.numbers.models.v1.shared.ScheduledVoiceProvisioningRTC(
*,
type: Literal['RTC', 'EST', 'FAX'] | Annotated[str, Strict(strict=True)],
lastUpdatedTime: datetime | None = None,
status: Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | Annotated[str, Strict(strict=True)] | None = None,
appId: Annotated[str, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: ScheduledVoiceProvisioningCommon

Parameters:
  • type (Literal['RTC', 'EST', 'FAX'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • lastUpdatedTime (datetime | None)

  • status (Literal['WAITING', 'IN_PROGRESS', 'FAILED', 'PROVISIONING_STATUS_UNSPECIFIED'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

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

  • extra_data (Any)

app_id: 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].

class sinch.domains.numbers.models.v1.shared.SmsConfiguration(
*,
servicePlanId: Annotated[str, Strict(strict=True)],
campaignId: Annotated[str, Strict(strict=True)] | None = None,
scheduledProvisioning: ScheduledSmsProvisioning | None = None,
**extra_data: Any,
)[source]

Bases: SmsConfigurationBase

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

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

  • scheduledProvisioning (ScheduledSmsProvisioning | None)

  • extra_data (Any)

scheduled_provisioning: ScheduledSmsProvisioning | 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].

class sinch.domains.numbers.models.v1.shared.SmsConfigurationBase(
*,
servicePlanId: Annotated[str, Strict(strict=True)],
campaignId: Annotated[str, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

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

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

  • extra_data (Any)

service_plan_id: Annotated[str, Strict(strict=True)]
campaign_id: 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].

class sinch.domains.numbers.models.v1.shared.VoiceConfigurationEST(
*,
type: Literal['RTC', 'EST', 'FAX'] | Annotated[str, Strict(strict=True)] | None,
lastUpdatedTime: datetime | None = None,
scheduledVoiceProvisioning: ScheduledVoiceProvisioningEST | ScheduledVoiceProvisioningFAX | ScheduledVoiceProvisioningRTC | ScheduledVoiceProvisioningCustom | None = None,
trunkId: Annotated[str, Strict(strict=True)] = None,
**extra_data: Any,
)[source]

Bases: VoiceConfigurationCommon

Parameters:
trunk_id: 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].

class sinch.domains.numbers.models.v1.shared.VoiceConfigurationRTC(
*,
type: Literal['RTC', 'EST', 'FAX'] | Annotated[str, Strict(strict=True)] | None,
lastUpdatedTime: datetime | None = None,
scheduledVoiceProvisioning: ScheduledVoiceProvisioningEST | ScheduledVoiceProvisioningFAX | ScheduledVoiceProvisioningRTC | ScheduledVoiceProvisioningCustom | None = None,
appId: Annotated[str, Strict(strict=True)] = None,
**extra_data: Any,
)[source]

Bases: VoiceConfigurationCommon

Parameters:
app_id: 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].

class sinch.domains.numbers.models.v1.shared.VoiceConfigurationFAX(
*,
type: Literal['RTC', 'EST', 'FAX'] | Annotated[str, Strict(strict=True)] | None,
lastUpdatedTime: datetime | None = None,
scheduledVoiceProvisioning: ScheduledVoiceProvisioningEST | ScheduledVoiceProvisioningFAX | ScheduledVoiceProvisioningRTC | ScheduledVoiceProvisioningCustom | None = None,
serviceId: Annotated[str, Strict(strict=True)] = None,
**extra_data: Any,
)[source]

Bases: VoiceConfigurationCommon

Parameters:
service_id: 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].