Evo Voice

<back to all web services

SyncPhoneNumbers

Syncs list of phone numbers with Twilio detecting any newly ported numbers, status changes, etc.

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
POST/phone-numbers/sync


export class NodeParameterMap
{
    [key:string] : NodeParameter;

    public constructor(init?: Partial<NodeParameterMap>) { (Object as any).assign(this, init); }
}


export class EntityInfo
{
    /** @description The ID of the object */
    // @ApiMember(Description="The ID of the object")
    public id: string;

    /** @description The date the object was created */
    // @ApiMember(Description="The date the object was created")
    public dateCreated: string;

    /** @description The date the object was last modified */
    // @ApiMember(Description="The date the object was last modified")
    public dateLastModified: string;

    /** @description The user that created this object */
    // @ApiMember(Description="The user that created this object")
    public createdBy: string;

    /** @description The user that last modified this object */
    // @ApiMember(Description="The user that last modified this object")
    public lastModifiedBy: string;

    public constructor(init?: Partial<EntityInfo>) { (Object as any).assign(this, init); }
}

export class CustomerBreadcrumb
{
    public id: string;
    public name: string;

    public constructor(init?: Partial<CustomerBreadcrumb>) { (Object as any).assign(this, init); }
}

export enum EndpointTypes
{
    PhoneNumber = 'PhoneNumber',
    User = 'User',
    FaxNumber = 'FaxNumber',
    EmailAddress = 'EmailAddress',
    Unused_1 = 'Unused_1',
    Unused_2 = 'Unused_2',
    Unused_3 = 'Unused_3',
    Unused_4 = 'Unused_4',
    Unused_5 = 'Unused_5',
    Team = 'Team',
    Assistant = 'Assistant',
}

export class Value
{
    public boolValue?: boolean;
    public stringValue: string;
    public numberValue?: number;
    public listValue: Struct[];
    public structValue: Struct;

    public constructor(init?: Partial<Value>) { (Object as any).assign(this, init); }
}

export class Struct
{

    public constructor(init?: Partial<Struct>) { (Object as any).assign(this, init); }
}

export enum EndpointFlowSchedules
{
    Always = 'Always',
    Scheduled = 'Scheduled',
    Simple = 'Simple',
}

export enum SimpleSchedulingRuleTypes
{
    Always = 'Always',
    CustomerState = 'CustomerState',
    Time = 'Time',
}

export class ScheduleDay
{
    public offset: number;
    public dayOfWeek: DayOfWeek;

    public constructor(init?: Partial<ScheduleDay>) { (Object as any).assign(this, init); }
}

export enum SchedulingRuleFrequency
{
    None = 'None',
    Secondly = 'Secondly',
    Minutely = 'Minutely',
    Hourly = 'Hourly',
    Daily = 'Daily',
    Weekly = 'Weekly',
    Monthly = 'Monthly',
    Yearly = 'Yearly',
}

export class SchedulingRule
{
    public id: string;
    public name: string;
    public priority: number;
    public state: string;
    public source: string;
    public condition: string;
    public simpleRuleType: SimpleSchedulingRuleTypes;
    public customerState: string;
    public flowId: string;
    public flowParams: Struct;
    public isAllDay: boolean;
    public startDate: string;
    public startTime: string;
    public endTime: string;
    public bySetPosition: number[];
    public byMonth: number[];
    public byWeekNo: number[];
    public byYearDay: number[];
    public byMonthDay: number[];
    public byDay: ScheduleDay[];
    public byHour: number[];
    public byMinute: number[];
    public interval: number;
    public count: number;
    public untilDate: string;
    public frequency: SchedulingRuleFrequency;

    public constructor(init?: Partial<SchedulingRule>) { (Object as any).assign(this, init); }
}

export class Schedule
{
    public timeZoneId: string;
    public inherit: boolean;
    public forceClosed: boolean;
    public rules: SchedulingRule[];
    public defaultState: string;

    public constructor(init?: Partial<Schedule>) { (Object as any).assign(this, init); }
}

export class ScheduledFlow
{
    public stateName: string;
    public flowId: string;
    public flowParams: Struct;

    public constructor(init?: Partial<ScheduledFlow>) { (Object as any).assign(this, init); }
}

export enum TwilioSipRegions
{
    NorthAmericaVirginia = 'NorthAmericaVirginia',
    NorthAmericaOregon = 'NorthAmericaOregon',
    EuropeIreland = 'EuropeIreland',
    EuropeFrankfurt = 'EuropeFrankfurt',
    AsiaPacificSingapore = 'AsiaPacificSingapore',
    AsiaPacificTokyo = 'AsiaPacificTokyo',
    AsiaPacificSydney = 'AsiaPacificSydney',
    SouthAmericaSanPaolo = 'SouthAmericaSanPaolo',
}

export enum AgentStates
{
    Unknown = 'Unknown',
    Ready = 'Ready',
    NotReady = 'NotReady',
    LoggedOut = 'LoggedOut',
    WrapUp = 'WrapUp',
    Outgoing = 'Outgoing',
    Other = 'Other',
}

export enum AgentStateReasons
{
    Unknown = 'Unknown',
    SetByUser = 'SetByUser',
    MissedCall = 'MissedCall',
    SetBySystem = 'SetBySystem',
}

export enum UserModes
{
    SoftPhone = 'SoftPhone',
    Sip = 'Sip',
    Flow = 'Flow',
    DataOnly = 'DataOnly',
    ThirdParty = 'ThirdParty',
}

export enum UserManagerRoles
{
    None = 'None',
    Manager = 'Manager',
    VoicemailAndCallHistory = 'VoicemailAndCallHistory',
    Custom = 'Custom',
}

export enum DashboardPermissions
{
    ViewFiles = 'ViewFiles',
    ViewNotifications = 'ViewNotifications',
    ViewSessions = 'ViewSessions',
    ViewEndpoints = 'ViewEndpoints',
    ViewReports = 'ViewReports',
    ViewCustomers = 'ViewCustomers',
    ViewFlows = 'ViewFlows',
}

export enum UserDataFieldModes
{
    Hidden = 'Hidden',
    ReadOnly = 'ReadOnly',
    ReadWrite = 'ReadWrite',
}

export enum TagColors
{
    Magenta = 'Magenta',
    Red = 'Red',
    Volcano = 'Volcano',
    Orange = 'Orange',
    Gold = 'Gold',
    Lime = 'Lime',
    Green = 'Green',
    Cyan = 'Cyan',
    Blue = 'Blue',
    GeekBlue = 'GeekBlue',
    Purple = 'Purple',
}

export class Tag
{
    public id: string;
    public name: string;
    public color: TagColors;

    public constructor(init?: Partial<Tag>) { (Object as any).assign(this, init); }
}

export enum ActionUrlHttpMethods
{
    GET = 'GET',
    POST = 'POST',
}

export class EndpointActionUrl
{
    public id: string;
    public url: string;
    public method: ActionUrlHttpMethods;

    public constructor(init?: Partial<EndpointActionUrl>) { (Object as any).assign(this, init); }
}

export enum CustomerVisibility
{
    None = 'None',
    CurrentCustomer = 'CurrentCustomer',
    CurrentAndChildCustomers = 'CurrentAndChildCustomers',
}

export class EndpointContact
{
    public id: string;
    public displayName: string;
    public address: string;

    public constructor(init?: Partial<EndpointContact>) { (Object as any).assign(this, init); }
}

export class IntegrationData
{
    public thirdPartyId: string;

    public constructor(init?: Partial<IntegrationData>) { (Object as any).assign(this, init); }
}

export class Dictionary<T> { [Key: string]: T; }

export class EntityIntegrationData extends Dictionary<IntegrationData>
{

    public constructor(init?: Partial<EntityIntegrationData>) { super(); (Object as any).assign(this, init); }
}

export enum ThirdPartyPhoneSystemTypes
{
    Demo = 'Demo',
    Sip = 'Sip',
}

export enum TransportTypes
{
    UDP = 'UDP',
    TLS = 'TLS',
    TCP = 'TCP',
    PERS = 'PERS',
}

export enum AudioCodecTypes
{
    PCMU = 0,
    GSM = 3,
    PCMA = 8,
    G722 = 9,
    G729 = 18,
    ILBC = 97,
    AMR = 98,
    AMRWB = 99,
    SPEEX = 100,
    DTMF = 101,
    SPEEXWB = 102,
    ISACWB = 103,
    ISACSWB = 104,
    OPUS = 105,
    G7221 = 121,
    NONE = -1,
}

export enum DtmfMethods
{
    RFC2833 = 'RFC2833',
    INFO = 'INFO',
}

export class ThirdPartySipAccountSettings
{
    public number: string;
    public agent: string;
    public authName: string;
    public userName: string;
    public displayName: string;
    public password: string;
    public userDomain: string;
    public registrationExpires: number;
    public transportType: TransportTypes;
    public localIP: string;
    public localPort: number;
    public sipServer: string;
    public sipServerPort: number;
    public outboundServer: string;
    public outboundServerPort: number;
    public stunServer: string;
    public stunPort: number;
    public audioPlaybackDeviceName: string;
    public audioRecordingDeviceName: string;
    public audioCodecs: AudioCodecTypes[];
    public dtmfMethod: DtmfMethods;

    public constructor(init?: Partial<ThirdPartySipAccountSettings>) { (Object as any).assign(this, init); }
}

export class ThirdPartySipSettings
{
    public accounts: ThirdPartySipAccountSettings[];

    public constructor(init?: Partial<ThirdPartySipSettings>) { (Object as any).assign(this, init); }
}

export class ThirdPartyDemoSettings
{
    public extension: string;

    public constructor(init?: Partial<ThirdPartyDemoSettings>) { (Object as any).assign(this, init); }
}

export class ThirdPartyPhoneSystemSettings
{
    public type: ThirdPartyPhoneSystemTypes;
    public sipSettings: ThirdPartySipSettings;
    public demoSettings: ThirdPartyDemoSettings;

    public constructor(init?: Partial<ThirdPartyPhoneSystemSettings>) { (Object as any).assign(this, init); }
}

export class AppSettings
{
    public enablePhoneNumberManagement: boolean;
    public enableDeviceManagement: boolean;
    public enableDialer: boolean;
    public enableCallHistory: boolean;
    public enableAssistants: boolean;
    public showFileNameInMessageCenter: boolean;
    public chakraTheme: string;
    public customCss: string;
    public pageTitle: string;
    public stringMappings: string;
    public logoutUrl: string;
    public portMyNumberUrl: string;

    public constructor(init?: Partial<AppSettings>) { (Object as any).assign(this, init); }
}

export enum AssistantTunings
{
    Accuracy = 'Accuracy',
    Speed = 'Speed',
}

export class AssistantWord
{
    public word: string;
    public pronounced: string;

    public constructor(init?: Partial<AssistantWord>) { (Object as any).assign(this, init); }
}

export class AssistantLink
{
    public url: string;
    public description: string;

    public constructor(init?: Partial<AssistantLink>) { (Object as any).assign(this, init); }
}

export enum AssistantTransferTypes
{
    Blind = 'Blind',
    Supervised = 'Supervised',
    MessagesOnly = 'MessagesOnly',
}

export class AssistantTakeMessageField
{
    public name: string;
    public description: string;
    public required: boolean;

    public constructor(init?: Partial<AssistantTakeMessageField>) { (Object as any).assign(this, init); }
}

export class AssistantContact
{
    public name: string;
    public phoneNumber: string;
    public transferType: AssistantTransferTypes;
    public about: string;
    public emailAddress: string;
    public takeMessageFields: AssistantTakeMessageField[];

    public constructor(init?: Partial<AssistantContact>) { (Object as any).assign(this, init); }
}

export class AssistantIntegration
{
    public uri: string;
    public httpMethod: string;
    public authToken: string;

    public constructor(init?: Partial<AssistantIntegration>) { (Object as any).assign(this, init); }
}

export class AssistantSettings
{
    public companyName: string;
    public greeting: string;
    public companyInformation: string;
    public customPrompt: string;
    public voice: string;
    public voiceStyle: string;
    public tuning: AssistantTunings;
    public words: AssistantWord[];
    public links: AssistantLink[];
    public contacts: AssistantContact[];
    public integrations: AssistantIntegration[];

    public constructor(init?: Partial<AssistantSettings>) { (Object as any).assign(this, init); }
}

export class EmbedSettings
{
    public enabled: boolean;
    public allowedHosts: string;

    public constructor(init?: Partial<EmbedSettings>) { (Object as any).assign(this, init); }
}

export class EndpointInfo extends EntityInfo
{
    /** @description The account ID this endpoint is associated with */
    // @ApiMember(Description="The account ID this endpoint is associated with")
    public accountId: string;

    /** @description The name of the account this endpoint is associated with */
    // @ApiMember(Description="The name of the account this endpoint is associated with")
    public accountName: string;

    /** @description The ID of the customer this endpoint is associated with */
    // @ApiMember(Description="The ID of the customer this endpoint is associated with")
    public customerId: string;

    /** @description The name of the customer this endpoint is associated with */
    // @ApiMember(Description="The name of the customer this endpoint is associated with")
    public customerName: string;

    /** @description The third party reference ID for the endpoint */
    // @ApiMember(Description="The third party reference ID for the endpoint")
    public referenceId: string;

    /** @description The breadcrumb to the customer for this endpoint */
    // @ApiMember(Description="The breadcrumb to the customer for this endpoint")
    public customerBreadcrumb: CustomerBreadcrumb[];

    /** @description The display name of the endpoint */
    // @ApiMember(Description="The display name of the endpoint")
    public displayName: string;

    /** @description The type of endpoint */
    // @ApiMember(Description="The type of endpoint")
    public type: EndpointTypes;

    /** @description Extra info for this endpoint (typically to show in grid) */
    // @ApiMember(Description="Extra info for this endpoint (typically to show in grid)")
    public extraInformation: string;

    /** @description The ID of the flow to use for voice */
    // @ApiMember(Description="The ID of the flow to use for voice")
    public flowId: string;

    /** @description The name of the flow to use for voice */
    // @ApiMember(Description="The name of the flow to use for voice")
    public flowName: string;

    /** @description The params for the voice flow */
    // @ApiMember(Description="The params for the voice flow")
    public flowParams: Struct;

    /** @description Whether to use a single flow always or use scheduled flow system */
    // @ApiMember(Description="Whether to use a single flow always or use scheduled flow system")
    public flowSchedule: EndpointFlowSchedules;

    /** @description This endpoint's schedule */
    // @ApiMember(Description="This endpoint's schedule")
    public schedule: Schedule;

    /** @description The list of scheduled flows when using scheduling */
    // @ApiMember(Description="The list of scheduled flows when using scheduling")
    public scheduledFlows: ScheduledFlow[];

    /** @description Disable SMS */
    // @ApiMember(Description="Disable SMS")
    public disableSms: boolean;

    /** @description Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number */
    // @ApiMember(Description="Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number")
    public useExternal10DlcCampaign: boolean;

    /** @description Is this a virtual phone number? */
    // @ApiMember(Description="Is this a virtual phone number?")
    public isVirtualPhoneNumber: boolean;

    /** @description Is caller ID verified for this virtual number? */
    // @ApiMember(Description="Is caller ID verified for this virtual number?")
    public isCallerIdVerified: boolean;

    /** @description The verification code for this number */
    // @ApiMember(Description="The verification code for this number")
    public callerIdVerificationCode: string;

    /** @description The phone number */
    // @ApiMember(Description="The phone number")
    public phoneNumber: string;

    /** @description The Sid of the phone number */
    // @ApiMember(Description="The Sid of the phone number")
    public phoneNumberSid: string;

    /** @description The caller ID Name (CNAM) for the phone number */
    // @ApiMember(Description="The caller ID Name (CNAM) for the phone number")
    public callerIdName: string;

    /** @description The address SID associated with the phone number */
    // @ApiMember(Description="The address SID associated with the phone number")
    public addressSid: string;

    /** @description Do not touch this phone number - for BYOA accounts */
    // @ApiMember(Description="Do not touch this phone number - for BYOA accounts")
    public doNotTouchPhoneNumber: boolean;

    /** @description Is this number enrolled in a 10DLC messaging service campaign */
    // @ApiMember(Description="Is this number enrolled in a 10DLC messaging service campaign")
    public isEnrolledIn10DlcService: boolean;

    /** @description Whether we look up caller ID or not */
    // @ApiMember(Description="Whether we look up caller ID or not")
    public enableCallerIdLookup: boolean;

    /** @description The email address of the user */
    // @ApiMember(Description="The email address of the user")
    public userEmailAddress: string;

    /** @description The Twilio Region for the SIP endpoint */
    // @ApiMember(Description="The Twilio Region for the SIP endpoint")
    public sipRegion: TwilioSipRegions;

    /** @description The Twilio Sid of the credentials for Sip */
    // @ApiMember(Description="The Twilio Sid of the credentials for Sip")
    public sipCredentialSid: string;

    /** @description The Twilio SIP user name */
    // @ApiMember(Description="The Twilio SIP user name")
    public sipUserName: string;

    /** @description The Twilio SIP password */
    // @ApiMember(Description="The Twilio SIP password")
    public sipPassword: string;

    /** @description The SIP domain */
    // @ApiMember(Description="The SIP domain")
    public sipDomain: string;

    /** @description Is emergency calling enabled on this number? */
    // @ApiMember(Description="Is emergency calling enabled on this number?")
    public enableEmergencyCalling: boolean;

    /** @description The SID of the emergency address for this number */
    // @ApiMember(Description="The SID of the emergency address for this number")
    public emergencyAddressSid: string;

    /** @description The ID of the phone number to use for emergency dialing */
    // @ApiMember(Description="The ID of the phone number to use for emergency dialing")
    public emergencyPhoneNumberId: string;

    /** @description The current agent state of this user endpoint */
    // @ApiMember(Description="The current agent state of this user endpoint")
    public agentState: AgentStates;

    /** @description The current agent state reason of this user endpoint */
    // @ApiMember(Description="The current agent state reason of this user endpoint")
    public agentStateReason: AgentStateReasons;

    /** @description The mode for this user */
    // @ApiMember(Description="The mode for this user")
    public userMode: UserModes;

    /** @description The ID of the file to use for voicemail greeting */
    // @ApiMember(Description="The ID of the file to use for voicemail greeting")
    public voicemailGreetingId: string;

    /** @description The endpoint's data */
    // @ApiMember(Description="The endpoint's data")
    public data: Struct;

    /** @description The email address for email endpoints */
    // @ApiMember(Description="The email address for email endpoints")
    public emailAddress: string;

    /** @description The first name of the user (for user endpoints) */
    // @ApiMember(Description="The first name of the user (for user endpoints)")
    public userFirstName: string;

    /** @description The last name of the user (for user endpoints) */
    // @ApiMember(Description="The last name of the user (for user endpoints)")
    public userLastName: string;

    /** @description The URL of an image for this user's avatar */
    // @ApiMember(Description="The URL of an image for this user's avatar")
    public avatarUrl: string;

    /** @description Does this user have manager role? */
    // @ApiMember(Description="Does this user have manager role?")
    public managerRole: UserManagerRoles;

    /** @description The list of dashboard permissions for when the manager role is custom */
    // @ApiMember(Description="The list of dashboard permissions for when the manager role is custom")
    public dashboardPermissions: DashboardPermissions[];

    /** @description The type of visibility this user has to their own fields */
    // @ApiMember(Description="The type of visibility this user has to their own fields")
    public myFieldPermissions: UserDataFieldModes;

    /** @description The type of visibility this user has to customer fields */
    // @ApiMember(Description="The type of visibility this user has to customer fields")
    public customerFieldPermissions: UserDataFieldModes;

    /** @description The type of visibility this user has to other user fields */
    // @ApiMember(Description="The type of visibility this user has to other user fields")
    public otherUserFieldPermissions: UserDataFieldModes;

    /** @description The type of visibility this user has to other endpoint fields */
    // @ApiMember(Description="The type of visibility this user has to other endpoint fields")
    public otherEndpointFieldPermissions: UserDataFieldModes;

    /** @description The name of this endpoint (for bots etc.) */
    // @ApiMember(Description="The name of this endpoint (for bots etc.)")
    public name: string;

    /** @description The list of tags for this endpoint */
    // @ApiMember(Description="The list of tags for this endpoint")
    public tags: Tag[];

    /** @description The list of action URLs */
    // @ApiMember(Description="The list of action URLs")
    public actionUrls: EndpointActionUrl[];

    /** @description The list of members in this team */
    // @ApiMember(Description="The list of members in this team")
    public teamMemberIds: string[];

    /** @description Visibility of this user/team in contact lists */
    // @ApiMember(Description="Visibility of this user/team in contact lists")
    public contactListVisibility: CustomerVisibility;

    /** @description The list of contacts personal to this user */
    // @ApiMember(Description="The list of contacts personal to this user")
    public contacts: EndpointContact[];

    /** @description The documo ID for this number */
    // @ApiMember(Description="The documo ID for this number")
    public documoId: string;

    /** @description Integration data for this endpoint */
    // @ApiMember(Description="Integration data for this endpoint")
    public integrationData: EntityIntegrationData;

    /** @description Settings for third party phone system */
    // @ApiMember(Description="Settings for third party phone system")
    public thirdPartyPhoneSystemSettings: ThirdPartyPhoneSystemSettings;

    /** @description Should this user override the parent customer's app settings */
    // @ApiMember(Description="Should this user override the parent customer's app settings")
    public overrideAppSettings: boolean;

    /** @description App / Portal settings for this user */
    // @ApiMember(Description="App / Portal settings for this user")
    public appSettings: AppSettings;

    /** @description Configuration for the AI assistant */
    // @ApiMember(Description="Configuration for the AI assistant")
    public assistantSettings: AssistantSettings;

    /** @description Configuration for the embed */
    // @ApiMember(Description="Configuration for the embed")
    public embedSettings: EmbedSettings;

    public constructor(init?: Partial<EndpointInfo>) { super(init); (Object as any).assign(this, init); }
}

export class SyncPhoneNumbersResponse
{
    public newPhoneNumbers: EndpointInfo[];
    public updatedPhoneNumbers: EndpointInfo[];

    public constructor(init?: Partial<SyncPhoneNumbersResponse>) { (Object as any).assign(this, init); }
}

/** @description Syncs list of phone numbers with Twilio detecting any newly ported numbers, status changes, etc. */
// @Api(Description="Syncs list of phone numbers with Twilio detecting any newly ported numbers, status changes, etc.")
export class SyncPhoneNumbers implements IPost
{
    /** @description The account ID you want to sync */
    // @ApiMember(Description="The account ID you want to sync")
    public accountId: string;

    public constructor(init?: Partial<SyncPhoneNumbers>) { (Object as any).assign(this, init); }
}

TypeScript SyncPhoneNumbers DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /phone-numbers/sync HTTP/1.1 
Host: team.evovoice.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	accountId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	newPhoneNumbers: 
	[
		{
			accountId: String,
			accountName: String,
			customerId: String,
			customerName: String,
			referenceId: String,
			customerBreadcrumb: 
			[
				{
					id: String,
					name: String
				}
			],
			displayName: String,
			type: PhoneNumber,
			extraInformation: String,
			flowId: String,
			flowName: String,
			flowSchedule: Always,
			schedule: 
			{
				timeZoneId: String,
				inherit: False,
				forceClosed: False,
				rules: 
				[
					{
						id: String,
						name: String,
						priority: 0,
						state: String,
						source: String,
						condition: String,
						simpleRuleType: Always,
						customerState: String,
						flowId: String,
						isAllDay: False,
						startDate: String,
						startTime: String,
						endTime: String,
						bySetPosition: 
						[
							0
						],
						byMonth: 
						[
							0
						],
						byWeekNo: 
						[
							0
						],
						byYearDay: 
						[
							0
						],
						byMonthDay: 
						[
							0
						],
						byDay: 
						[
							{
								offset: 0,
								dayOfWeek: Sunday
							}
						],
						byHour: 
						[
							0
						],
						byMinute: 
						[
							0
						],
						interval: 0,
						count: 0,
						untilDate: String,
						frequency: None
					}
				],
				defaultState: String
			},
			scheduledFlows: 
			[
				{
					stateName: String,
					flowId: String
				}
			],
			disableSms: False,
			useExternal10DlcCampaign: False,
			isVirtualPhoneNumber: False,
			isCallerIdVerified: False,
			callerIdVerificationCode: String,
			phoneNumber: String,
			phoneNumberSid: String,
			callerIdName: String,
			addressSid: String,
			doNotTouchPhoneNumber: False,
			isEnrolledIn10DlcService: False,
			enableCallerIdLookup: False,
			userEmailAddress: String,
			sipRegion: NorthAmericaVirginia,
			sipCredentialSid: String,
			sipUserName: String,
			sipPassword: String,
			sipDomain: String,
			enableEmergencyCalling: False,
			emergencyAddressSid: String,
			emergencyPhoneNumberId: String,
			agentState: Unknown,
			agentStateReason: Unknown,
			userMode: SoftPhone,
			voicemailGreetingId: String,
			emailAddress: String,
			userFirstName: String,
			userLastName: String,
			avatarUrl: String,
			managerRole: None,
			dashboardPermissions: 
			[
				ViewFiles
			],
			myFieldPermissions: Hidden,
			customerFieldPermissions: Hidden,
			otherUserFieldPermissions: Hidden,
			otherEndpointFieldPermissions: Hidden,
			name: String,
			tags: 
			[
				{
					id: String,
					name: String,
					color: Magenta
				}
			],
			actionUrls: 
			[
				{
					id: String,
					url: String,
					method: GET
				}
			],
			teamMemberIds: 
			[
				String
			],
			contactListVisibility: None,
			contacts: 
			[
				{
					id: String,
					displayName: String,
					address: String
				}
			],
			documoId: String,
			integrationData: 
			{
				String: 
				{
					thirdPartyId: String
				}
			},
			thirdPartyPhoneSystemSettings: 
			{
				type: Demo,
				sipSettings: 
				{
					accounts: 
					[
						{
							number: String,
							agent: String,
							authName: String,
							userName: String,
							displayName: String,
							password: String,
							userDomain: String,
							registrationExpires: 0,
							transportType: UDP,
							localIP: String,
							localPort: 0,
							sipServer: String,
							sipServerPort: 0,
							outboundServer: String,
							outboundServerPort: 0,
							stunServer: String,
							stunPort: 0,
							audioPlaybackDeviceName: String,
							audioRecordingDeviceName: String,
							audioCodecs: 
							[
								PCMU
							],
							dtmfMethod: RFC2833
						}
					]
				},
				demoSettings: 
				{
					extension: String
				}
			},
			overrideAppSettings: False,
			appSettings: 
			{
				enablePhoneNumberManagement: False,
				enableDeviceManagement: False,
				enableDialer: False,
				enableCallHistory: False,
				enableAssistants: False,
				showFileNameInMessageCenter: False,
				chakraTheme: String,
				customCss: String,
				pageTitle: String,
				stringMappings: String,
				logoutUrl: String,
				portMyNumberUrl: String
			},
			assistantSettings: 
			{
				companyName: String,
				greeting: String,
				companyInformation: String,
				customPrompt: String,
				voice: String,
				voiceStyle: String,
				tuning: Accuracy,
				words: 
				[
					{
						word: String,
						pronounced: String
					}
				],
				links: 
				[
					{
						url: String,
						description: String
					}
				],
				contacts: 
				[
					{
						name: String,
						phoneNumber: String,
						transferType: Blind,
						about: String,
						emailAddress: String,
						takeMessageFields: 
						[
							{
								name: String,
								description: String,
								required: False
							}
						]
					}
				],
				integrations: 
				[
					{
						uri: String,
						httpMethod: String,
						authToken: String
					}
				]
			},
			embedSettings: 
			{
				enabled: False,
				allowedHosts: String
			},
			id: String,
			dateCreated: String,
			dateLastModified: String,
			createdBy: String,
			lastModifiedBy: String
		}
	],
	updatedPhoneNumbers: 
	[
		{
			accountId: String,
			accountName: String,
			customerId: String,
			customerName: String,
			referenceId: String,
			customerBreadcrumb: 
			[
				{
					id: String,
					name: String
				}
			],
			displayName: String,
			type: PhoneNumber,
			extraInformation: String,
			flowId: String,
			flowName: String,
			flowSchedule: Always,
			schedule: 
			{
				timeZoneId: String,
				inherit: False,
				forceClosed: False,
				rules: 
				[
					{
						id: String,
						name: String,
						priority: 0,
						state: String,
						source: String,
						condition: String,
						simpleRuleType: Always,
						customerState: String,
						flowId: String,
						isAllDay: False,
						startDate: String,
						startTime: String,
						endTime: String,
						bySetPosition: 
						[
							0
						],
						byMonth: 
						[
							0
						],
						byWeekNo: 
						[
							0
						],
						byYearDay: 
						[
							0
						],
						byMonthDay: 
						[
							0
						],
						byDay: 
						[
							{
								offset: 0,
								dayOfWeek: Sunday
							}
						],
						byHour: 
						[
							0
						],
						byMinute: 
						[
							0
						],
						interval: 0,
						count: 0,
						untilDate: String,
						frequency: None
					}
				],
				defaultState: String
			},
			scheduledFlows: 
			[
				{
					stateName: String,
					flowId: String
				}
			],
			disableSms: False,
			useExternal10DlcCampaign: False,
			isVirtualPhoneNumber: False,
			isCallerIdVerified: False,
			callerIdVerificationCode: String,
			phoneNumber: String,
			phoneNumberSid: String,
			callerIdName: String,
			addressSid: String,
			doNotTouchPhoneNumber: False,
			isEnrolledIn10DlcService: False,
			enableCallerIdLookup: False,
			userEmailAddress: String,
			sipRegion: NorthAmericaVirginia,
			sipCredentialSid: String,
			sipUserName: String,
			sipPassword: String,
			sipDomain: String,
			enableEmergencyCalling: False,
			emergencyAddressSid: String,
			emergencyPhoneNumberId: String,
			agentState: Unknown,
			agentStateReason: Unknown,
			userMode: SoftPhone,
			voicemailGreetingId: String,
			emailAddress: String,
			userFirstName: String,
			userLastName: String,
			avatarUrl: String,
			managerRole: None,
			dashboardPermissions: 
			[
				ViewFiles
			],
			myFieldPermissions: Hidden,
			customerFieldPermissions: Hidden,
			otherUserFieldPermissions: Hidden,
			otherEndpointFieldPermissions: Hidden,
			name: String,
			tags: 
			[
				{
					id: String,
					name: String,
					color: Magenta
				}
			],
			actionUrls: 
			[
				{
					id: String,
					url: String,
					method: GET
				}
			],
			teamMemberIds: 
			[
				String
			],
			contactListVisibility: None,
			contacts: 
			[
				{
					id: String,
					displayName: String,
					address: String
				}
			],
			documoId: String,
			integrationData: 
			{
				String: 
				{
					thirdPartyId: String
				}
			},
			thirdPartyPhoneSystemSettings: 
			{
				type: Demo,
				sipSettings: 
				{
					accounts: 
					[
						{
							number: String,
							agent: String,
							authName: String,
							userName: String,
							displayName: String,
							password: String,
							userDomain: String,
							registrationExpires: 0,
							transportType: UDP,
							localIP: String,
							localPort: 0,
							sipServer: String,
							sipServerPort: 0,
							outboundServer: String,
							outboundServerPort: 0,
							stunServer: String,
							stunPort: 0,
							audioPlaybackDeviceName: String,
							audioRecordingDeviceName: String,
							audioCodecs: 
							[
								PCMU
							],
							dtmfMethod: RFC2833
						}
					]
				},
				demoSettings: 
				{
					extension: String
				}
			},
			overrideAppSettings: False,
			appSettings: 
			{
				enablePhoneNumberManagement: False,
				enableDeviceManagement: False,
				enableDialer: False,
				enableCallHistory: False,
				enableAssistants: False,
				showFileNameInMessageCenter: False,
				chakraTheme: String,
				customCss: String,
				pageTitle: String,
				stringMappings: String,
				logoutUrl: String,
				portMyNumberUrl: String
			},
			assistantSettings: 
			{
				companyName: String,
				greeting: String,
				companyInformation: String,
				customPrompt: String,
				voice: String,
				voiceStyle: String,
				tuning: Accuracy,
				words: 
				[
					{
						word: String,
						pronounced: String
					}
				],
				links: 
				[
					{
						url: String,
						description: String
					}
				],
				contacts: 
				[
					{
						name: String,
						phoneNumber: String,
						transferType: Blind,
						about: String,
						emailAddress: String,
						takeMessageFields: 
						[
							{
								name: String,
								description: String,
								required: False
							}
						]
					}
				],
				integrations: 
				[
					{
						uri: String,
						httpMethod: String,
						authToken: String
					}
				]
			},
			embedSettings: 
			{
				enabled: False,
				allowedHosts: String
			},
			id: String,
			dateCreated: String,
			dateLastModified: String,
			createdBy: String,
			lastModifiedBy: String
		}
	]
}