Evo Voice

<back to all web services

NewTeamEndpoint

Create a new Team

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
POST/endpoints/team


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

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


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

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

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

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

    /**
    * 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',
}

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 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 class EndpointInfo extends EntityInfo
{
    /**
    * The account ID this endpoint is associated with
    */
    // @ApiMember(Description="The account ID this endpoint is associated with")
    public accountId?: string;

    /**
    * 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;

    /**
    * 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;

    /**
    * 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;

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

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

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

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

    /**
    * 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;

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

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

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

    /**
    * 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;

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

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

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

    /**
    * 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;

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

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

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

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

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

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

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

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

    /**
    * 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;

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

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

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

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

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

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

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

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

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

    /**
    * 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;

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

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

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

    /**
    * 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;

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

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

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

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

    /**
    * 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;

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

    /**
    * 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[];

    /**
    * 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;

    /**
    * 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;

    /**
    * 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;

    /**
    * 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;

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

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

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

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

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

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

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

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

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

    /**
    * 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;

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

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

/**
* Create a new Team
*/
// @Api(Description="Create a new Team")
export class NewTeamEndpoint implements IPost
{
    /**
    * The account to associate with this new endpoint
    */
    // @ApiMember(Description="The account to associate with this new endpoint")
    public accountId?: string;

    /**
    * The Customer this contact is associated with
    */
    // @ApiMember(Description="The Customer this contact is associated with")
    public customerId?: string;

    /**
    * The name for the team
    */
    // @ApiMember(Description="The name for the team")
    public name?: string;

    /**
    * The list of tags to associate with the new endpoint
    */
    // @ApiMember(Description="The list of tags to associate with the new endpoint")
    public tagIds?: string[];

    /**
    * Data values for this endpoint
    */
    // @ApiMember(Description="Data values for this endpoint")
    public data?: Struct;

    /**
    * The ID of the users who are in this team
    */
    // @ApiMember(Description="The ID of the users who are in this team")
    public teamMemberIds?: string[];

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

TypeScript NewTeamEndpoint 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 /endpoints/team HTTP/1.1 
Host: evovoice.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	accountId: String,
	customerId: String,
	name: String,
	tagIds: 
	[
		String
	],
	data: 
	{
		String: 
		{
			boolValue: False,
			stringValue: String,
			numberValue: 0,
			listValue: 
			[
				{
					String: 
					{
						boolValue: False,
						stringValue: String,
						numberValue: 0,
						listValue: 
						[
							{
								String: 
								{
									boolValue: False,
									stringValue: String,
									numberValue: 0,
									listValue: 
									[
										null
									]
								}
							}
						],
						structValue: 
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									null
								]
							}
						}
					}
				}
			],
			structValue: 
			{
				String: 
				{
					boolValue: False,
					stringValue: String,
					numberValue: 0,
					listValue: 
					[
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									null
								]
							}
						}
					],
					structValue: 
					{
						String: 
						{
							boolValue: False,
							stringValue: String,
							numberValue: 0,
							listValue: 
							[
								null
							]
						}
					}
				}
			}
		}
	},
	teamMemberIds: 
	[
		String
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	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,
	flowParams: 
	{
		String: 
		{
			boolValue: False,
			stringValue: String,
			numberValue: 0,
			listValue: 
			[
				{
					String: 
					{
						boolValue: False,
						stringValue: String,
						numberValue: 0,
						listValue: 
						[
							{
								String: 
								{
									boolValue: False,
									stringValue: String,
									numberValue: 0,
									listValue: 
									[
										null
									]
								}
							}
						],
						structValue: 
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									null
								]
							}
						}
					}
				}
			],
			structValue: 
			{
				String: 
				{
					boolValue: False,
					stringValue: String,
					numberValue: 0,
					listValue: 
					[
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									null
								]
							}
						}
					],
					structValue: 
					{
						String: 
						{
							boolValue: False,
							stringValue: String,
							numberValue: 0,
							listValue: 
							[
								null
							]
						}
					}
				}
			}
		}
	},
	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,
				flowParams: 
				{
					String: 
					{
						boolValue: False,
						stringValue: String,
						numberValue: 0,
						listValue: 
						[
							{
								String: 
								{
									boolValue: False,
									stringValue: String,
									numberValue: 0,
									listValue: 
									[
										{
											String: 
											{
												boolValue: False,
												stringValue: String,
												numberValue: 0,
												listValue: 
												[
													null
												]
											}
										}
									],
									structValue: 
									{
										String: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												null
											]
										}
									}
								}
							}
						],
						structValue: 
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									{
										String: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												null
											]
										}
									}
								],
								structValue: 
								{
									String: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											null
										]
									}
								}
							}
						}
					}
				},
				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,
			flowParams: 
			{
				String: 
				{
					boolValue: False,
					stringValue: String,
					numberValue: 0,
					listValue: 
					[
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									{
										String: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												null
											]
										}
									}
								],
								structValue: 
								{
									String: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											null
										]
									}
								}
							}
						}
					],
					structValue: 
					{
						String: 
						{
							boolValue: False,
							stringValue: String,
							numberValue: 0,
							listValue: 
							[
								{
									String: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											null
										]
									}
								}
							],
							structValue: 
							{
								String: 
								{
									boolValue: False,
									stringValue: String,
									numberValue: 0,
									listValue: 
									[
										null
									]
								}
							}
						}
					}
				}
			}
		}
	],
	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,
	data: 
	{
		String: 
		{
			boolValue: False,
			stringValue: String,
			numberValue: 0,
			listValue: 
			[
				{
					String: 
					{
						boolValue: False,
						stringValue: String,
						numberValue: 0,
						listValue: 
						[
							{
								String: 
								{
									boolValue: False,
									stringValue: String,
									numberValue: 0,
									listValue: 
									[
										null
									]
								}
							}
						],
						structValue: 
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									null
								]
							}
						}
					}
				}
			],
			structValue: 
			{
				String: 
				{
					boolValue: False,
					stringValue: String,
					numberValue: 0,
					listValue: 
					[
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									null
								]
							}
						}
					],
					structValue: 
					{
						String: 
						{
							boolValue: False,
							stringValue: String,
							numberValue: 0,
							listValue: 
							[
								null
							]
						}
					}
				}
			}
		}
	},
	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,
		showFileNameInMessageCenter: False,
		chakraTheme: String,
		customCss: String,
		pageTitle: String,
		stringMappings: String,
		logoutUrl: String,
		portMyNumberUrl: String
	},
	id: String,
	dateCreated: String,
	dateLastModified: String,
	createdBy: String,
	lastModifiedBy: String
}