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
{
    /** @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); }
}

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

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

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

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

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

    /** @description 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: team.evovoice.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	accountId: String,
	customerId: String,
	name: String,
	tagIds: 
	[
		String
	],
	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,
	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
}