Evo Voice

<back to all web services

AppGetAssistants

Requires Authentication
The following routes are available for this service:
GET/portal/assistants
"use strict";
/** @typedef {'Ascend'|'Descend'} */
export var SortOrders;
(function (SortOrders) {
    SortOrders["Ascend"] = "Ascend"
    SortOrders["Descend"] = "Descend"
})(SortOrders || (SortOrders = {}));
/** @typedef T {any} */
export class ListRequest {
    /** @param {{page?:number,all?:boolean,countPerPage?:number,specificIds?:string[],sortField?:string,sortOrder?:SortOrders,simplifiedPaging?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description The page of data to retrieve */
    page;
    /**
     * @type {boolean}
     * @description If you want all objects to be returned. This should be used with care */
    all;
    /**
     * @type {number}
     * @description The number per page to retrieve */
    countPerPage;
    /**
     * @type {string[]}
     * @description Specific IDs */
    specificIds;
    /**
     * @type {string}
     * @description Specify a sort field */
    sortField;
    /**
     * @type {SortOrders}
     * @description Specify a sort order */
    sortOrder;
    /**
     * @type {boolean}
     * @description Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array */
    simplifiedPaging;
}
export class EntityInfo {
    /** @param {{id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The ID of the object */
    id;
    /**
     * @type {string}
     * @description The date the object was created */
    dateCreated;
    /**
     * @type {string}
     * @description The date the object was last modified */
    dateLastModified;
    /**
     * @type {string}
     * @description The user that created this object */
    createdBy;
    /**
     * @type {string}
     * @description The user that last modified this object */
    lastModifiedBy;
}
export class CustomerBreadcrumb {
    /** @param {{id?:string,name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    name;
}
/** @typedef {'PhoneNumber'|'User'|'FaxNumber'|'EmailAddress'|'Unused_1'|'Unused_2'|'Unused_3'|'Unused_4'|'Unused_5'|'Team'|'Assistant'} */
export var EndpointTypes;
(function (EndpointTypes) {
    EndpointTypes["PhoneNumber"] = "PhoneNumber"
    EndpointTypes["User"] = "User"
    EndpointTypes["FaxNumber"] = "FaxNumber"
    EndpointTypes["EmailAddress"] = "EmailAddress"
    EndpointTypes["Unused_1"] = "Unused_1"
    EndpointTypes["Unused_2"] = "Unused_2"
    EndpointTypes["Unused_3"] = "Unused_3"
    EndpointTypes["Unused_4"] = "Unused_4"
    EndpointTypes["Unused_5"] = "Unused_5"
    EndpointTypes["Team"] = "Team"
    EndpointTypes["Assistant"] = "Assistant"
})(EndpointTypes || (EndpointTypes = {}));
export class Value {
    /** @param {{boolValue?:boolean,stringValue?:string,numberValue?:number,listValue?:Struct[],structValue?:Struct}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?boolean} */
    boolValue;
    /** @type {string} */
    stringValue;
    /** @type {?number} */
    numberValue;
    /** @type {Struct[]} */
    listValue;
    /** @type {Struct} */
    structValue;
}
class Dictionary {}
export class Struct extends Dictionary {
    constructor(init) { super(init); Object.assign(this, init) }
}
/** @typedef {'Always'|'Scheduled'|'Simple'} */
export var EndpointFlowSchedules;
(function (EndpointFlowSchedules) {
    EndpointFlowSchedules["Always"] = "Always"
    EndpointFlowSchedules["Scheduled"] = "Scheduled"
    EndpointFlowSchedules["Simple"] = "Simple"
})(EndpointFlowSchedules || (EndpointFlowSchedules = {}));
/** @typedef {'Always'|'CustomerState'|'Time'} */
export var SimpleSchedulingRuleTypes;
(function (SimpleSchedulingRuleTypes) {
    SimpleSchedulingRuleTypes["Always"] = "Always"
    SimpleSchedulingRuleTypes["CustomerState"] = "CustomerState"
    SimpleSchedulingRuleTypes["Time"] = "Time"
})(SimpleSchedulingRuleTypes || (SimpleSchedulingRuleTypes = {}));
export class ScheduleDay {
    /** @param {{offset?:number,dayOfWeek?:DayOfWeek}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    offset;
    /** @type {DayOfWeek} */
    dayOfWeek;
}
/** @typedef {'None'|'Secondly'|'Minutely'|'Hourly'|'Daily'|'Weekly'|'Monthly'|'Yearly'} */
export var SchedulingRuleFrequency;
(function (SchedulingRuleFrequency) {
    SchedulingRuleFrequency["None"] = "None"
    SchedulingRuleFrequency["Secondly"] = "Secondly"
    SchedulingRuleFrequency["Minutely"] = "Minutely"
    SchedulingRuleFrequency["Hourly"] = "Hourly"
    SchedulingRuleFrequency["Daily"] = "Daily"
    SchedulingRuleFrequency["Weekly"] = "Weekly"
    SchedulingRuleFrequency["Monthly"] = "Monthly"
    SchedulingRuleFrequency["Yearly"] = "Yearly"
})(SchedulingRuleFrequency || (SchedulingRuleFrequency = {}));
export class SchedulingRule {
    /** @param {{id?:string,name?:string,priority?:number,state?:string,source?:string,condition?:string,simpleRuleType?:SimpleSchedulingRuleTypes,customerState?:string,flowId?:string,flowParams?:Struct,isAllDay?:boolean,startDate?:string,startTime?:string,endTime?:string,bySetPosition?:number[],byMonth?:number[],byWeekNo?:number[],byYearDay?:number[],byMonthDay?:number[],byDay?:ScheduleDay[],byHour?:number[],byMinute?:number[],interval?:number,count?:number,untilDate?:string,frequency?:SchedulingRuleFrequency}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    name;
    /** @type {number} */
    priority;
    /** @type {string} */
    state;
    /** @type {string} */
    source;
    /** @type {string} */
    condition;
    /** @type {SimpleSchedulingRuleTypes} */
    simpleRuleType;
    /** @type {string} */
    customerState;
    /** @type {string} */
    flowId;
    /** @type {Struct} */
    flowParams;
    /** @type {boolean} */
    isAllDay;
    /** @type {string} */
    startDate;
    /** @type {string} */
    startTime;
    /** @type {string} */
    endTime;
    /** @type {number[]} */
    bySetPosition;
    /** @type {number[]} */
    byMonth;
    /** @type {number[]} */
    byWeekNo;
    /** @type {number[]} */
    byYearDay;
    /** @type {number[]} */
    byMonthDay;
    /** @type {ScheduleDay[]} */
    byDay;
    /** @type {number[]} */
    byHour;
    /** @type {number[]} */
    byMinute;
    /** @type {number} */
    interval;
    /** @type {number} */
    count;
    /** @type {string} */
    untilDate;
    /** @type {SchedulingRuleFrequency} */
    frequency;
}
export class Schedule {
    /** @param {{timeZoneId?:string,inherit?:boolean,forceClosed?:boolean,rules?:SchedulingRule[],defaultState?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    timeZoneId;
    /** @type {boolean} */
    inherit;
    /** @type {boolean} */
    forceClosed;
    /** @type {SchedulingRule[]} */
    rules;
    /** @type {string} */
    defaultState;
}
export class ScheduledFlow {
    /** @param {{stateName?:string,flowId?:string,flowParams?:Struct}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    stateName;
    /** @type {string} */
    flowId;
    /** @type {Struct} */
    flowParams;
}
/** @typedef {'NorthAmericaVirginia'|'NorthAmericaOregon'|'EuropeIreland'|'EuropeFrankfurt'|'AsiaPacificSingapore'|'AsiaPacificTokyo'|'AsiaPacificSydney'|'SouthAmericaSanPaolo'} */
export var TwilioSipRegions;
(function (TwilioSipRegions) {
    TwilioSipRegions["NorthAmericaVirginia"] = "NorthAmericaVirginia"
    TwilioSipRegions["NorthAmericaOregon"] = "NorthAmericaOregon"
    TwilioSipRegions["EuropeIreland"] = "EuropeIreland"
    TwilioSipRegions["EuropeFrankfurt"] = "EuropeFrankfurt"
    TwilioSipRegions["AsiaPacificSingapore"] = "AsiaPacificSingapore"
    TwilioSipRegions["AsiaPacificTokyo"] = "AsiaPacificTokyo"
    TwilioSipRegions["AsiaPacificSydney"] = "AsiaPacificSydney"
    TwilioSipRegions["SouthAmericaSanPaolo"] = "SouthAmericaSanPaolo"
})(TwilioSipRegions || (TwilioSipRegions = {}));
/** @typedef {'Unknown'|'Ready'|'NotReady'|'LoggedOut'|'WrapUp'|'Outgoing'|'Other'} */
export var AgentStates;
(function (AgentStates) {
    AgentStates["Unknown"] = "Unknown"
    AgentStates["Ready"] = "Ready"
    AgentStates["NotReady"] = "NotReady"
    AgentStates["LoggedOut"] = "LoggedOut"
    AgentStates["WrapUp"] = "WrapUp"
    AgentStates["Outgoing"] = "Outgoing"
    AgentStates["Other"] = "Other"
})(AgentStates || (AgentStates = {}));
/** @typedef {'Unknown'|'SetByUser'|'MissedCall'|'SetBySystem'} */
export var AgentStateReasons;
(function (AgentStateReasons) {
    AgentStateReasons["Unknown"] = "Unknown"
    AgentStateReasons["SetByUser"] = "SetByUser"
    AgentStateReasons["MissedCall"] = "MissedCall"
    AgentStateReasons["SetBySystem"] = "SetBySystem"
})(AgentStateReasons || (AgentStateReasons = {}));
/** @typedef {'SoftPhone'|'Sip'|'Flow'|'DataOnly'|'ThirdParty'} */
export var UserModes;
(function (UserModes) {
    UserModes["SoftPhone"] = "SoftPhone"
    UserModes["Sip"] = "Sip"
    UserModes["Flow"] = "Flow"
    UserModes["DataOnly"] = "DataOnly"
    UserModes["ThirdParty"] = "ThirdParty"
})(UserModes || (UserModes = {}));
/** @typedef {'None'|'Manager'|'VoicemailAndCallHistory'|'Custom'} */
export var UserManagerRoles;
(function (UserManagerRoles) {
    UserManagerRoles["None"] = "None"
    UserManagerRoles["Manager"] = "Manager"
    UserManagerRoles["VoicemailAndCallHistory"] = "VoicemailAndCallHistory"
    UserManagerRoles["Custom"] = "Custom"
})(UserManagerRoles || (UserManagerRoles = {}));
/** @typedef {'ViewFiles'|'ViewNotifications'|'ViewSessions'|'ViewEndpoints'|'ViewReports'|'ViewCustomers'|'ViewFlows'} */
export var DashboardPermissions;
(function (DashboardPermissions) {
    DashboardPermissions["ViewFiles"] = "ViewFiles"
    DashboardPermissions["ViewNotifications"] = "ViewNotifications"
    DashboardPermissions["ViewSessions"] = "ViewSessions"
    DashboardPermissions["ViewEndpoints"] = "ViewEndpoints"
    DashboardPermissions["ViewReports"] = "ViewReports"
    DashboardPermissions["ViewCustomers"] = "ViewCustomers"
    DashboardPermissions["ViewFlows"] = "ViewFlows"
})(DashboardPermissions || (DashboardPermissions = {}));
/** @typedef {'Hidden'|'ReadOnly'|'ReadWrite'} */
export var UserDataFieldModes;
(function (UserDataFieldModes) {
    UserDataFieldModes["Hidden"] = "Hidden"
    UserDataFieldModes["ReadOnly"] = "ReadOnly"
    UserDataFieldModes["ReadWrite"] = "ReadWrite"
})(UserDataFieldModes || (UserDataFieldModes = {}));
/** @typedef {'Magenta'|'Red'|'Volcano'|'Orange'|'Gold'|'Lime'|'Green'|'Cyan'|'Blue'|'GeekBlue'|'Purple'} */
export var TagColors;
(function (TagColors) {
    TagColors["Magenta"] = "Magenta"
    TagColors["Red"] = "Red"
    TagColors["Volcano"] = "Volcano"
    TagColors["Orange"] = "Orange"
    TagColors["Gold"] = "Gold"
    TagColors["Lime"] = "Lime"
    TagColors["Green"] = "Green"
    TagColors["Cyan"] = "Cyan"
    TagColors["Blue"] = "Blue"
    TagColors["GeekBlue"] = "GeekBlue"
    TagColors["Purple"] = "Purple"
})(TagColors || (TagColors = {}));
export class Tag {
    /** @param {{id?:string,name?:string,color?:TagColors}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    name;
    /** @type {TagColors} */
    color;
}
/** @typedef {'GET'|'POST'} */
export var ActionUrlHttpMethods;
(function (ActionUrlHttpMethods) {
    ActionUrlHttpMethods["GET"] = "GET"
    ActionUrlHttpMethods["POST"] = "POST"
})(ActionUrlHttpMethods || (ActionUrlHttpMethods = {}));
export class EndpointActionUrl {
    /** @param {{id?:string,url?:string,method?:ActionUrlHttpMethods}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    url;
    /** @type {ActionUrlHttpMethods} */
    method;
}
/** @typedef {'None'|'CurrentCustomer'|'CurrentAndChildCustomers'} */
export var CustomerVisibility;
(function (CustomerVisibility) {
    CustomerVisibility["None"] = "None"
    CustomerVisibility["CurrentCustomer"] = "CurrentCustomer"
    CustomerVisibility["CurrentAndChildCustomers"] = "CurrentAndChildCustomers"
})(CustomerVisibility || (CustomerVisibility = {}));
export class EndpointContact {
    /** @param {{id?:string,displayName?:string,address?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    displayName;
    /** @type {string} */
    address;
}
export class IntegrationData {
    /** @param {{thirdPartyId?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    thirdPartyId;
}
export class EntityIntegrationData extends Dictionary {
    constructor(init) { super(init); Object.assign(this, init) }
}
/** @typedef {'Demo'|'Sip'} */
export var ThirdPartyPhoneSystemTypes;
(function (ThirdPartyPhoneSystemTypes) {
    ThirdPartyPhoneSystemTypes["Demo"] = "Demo"
    ThirdPartyPhoneSystemTypes["Sip"] = "Sip"
})(ThirdPartyPhoneSystemTypes || (ThirdPartyPhoneSystemTypes = {}));
/** @typedef {'UDP'|'TLS'|'TCP'|'PERS'} */
export var TransportTypes;
(function (TransportTypes) {
    TransportTypes["UDP"] = "UDP"
    TransportTypes["TLS"] = "TLS"
    TransportTypes["TCP"] = "TCP"
    TransportTypes["PERS"] = "PERS"
})(TransportTypes || (TransportTypes = {}));
/** @typedef {number} */
export var AudioCodecTypes;
(function (AudioCodecTypes) {
    AudioCodecTypes[AudioCodecTypes["PCMU"] = 0] = "PCMU"
    AudioCodecTypes[AudioCodecTypes["GSM"] = 3] = "GSM"
    AudioCodecTypes[AudioCodecTypes["PCMA"] = 8] = "PCMA"
    AudioCodecTypes[AudioCodecTypes["G722"] = 9] = "G722"
    AudioCodecTypes[AudioCodecTypes["G729"] = 18] = "G729"
    AudioCodecTypes[AudioCodecTypes["ILBC"] = 97] = "ILBC"
    AudioCodecTypes[AudioCodecTypes["AMR"] = 98] = "AMR"
    AudioCodecTypes[AudioCodecTypes["AMRWB"] = 99] = "AMRWB"
    AudioCodecTypes[AudioCodecTypes["SPEEX"] = 100] = "SPEEX"
    AudioCodecTypes[AudioCodecTypes["DTMF"] = 101] = "DTMF"
    AudioCodecTypes[AudioCodecTypes["SPEEXWB"] = 102] = "SPEEXWB"
    AudioCodecTypes[AudioCodecTypes["ISACWB"] = 103] = "ISACWB"
    AudioCodecTypes[AudioCodecTypes["ISACSWB"] = 104] = "ISACSWB"
    AudioCodecTypes[AudioCodecTypes["OPUS"] = 105] = "OPUS"
    AudioCodecTypes[AudioCodecTypes["G7221"] = 121] = "G7221"
    AudioCodecTypes[AudioCodecTypes["NONE"] = -1] = "NONE"
})(AudioCodecTypes || (AudioCodecTypes = {}));
/** @typedef {'RFC2833'|'INFO'} */
export var DtmfMethods;
(function (DtmfMethods) {
    DtmfMethods["RFC2833"] = "RFC2833"
    DtmfMethods["INFO"] = "INFO"
})(DtmfMethods || (DtmfMethods = {}));
export class ThirdPartySipAccountSettings {
    /** @param {{number?:string,agent?:string,authName?:string,userName?:string,displayName?:string,password?:string,userDomain?:string,registrationExpires?:number,transportType?:TransportTypes,localIP?:string,localPort?:number,sipServer?:string,sipServerPort?:number,outboundServer?:string,outboundServerPort?:number,stunServer?:string,stunPort?:number,audioPlaybackDeviceName?:string,audioRecordingDeviceName?:string,audioCodecs?:AudioCodecTypes[],dtmfMethod?:DtmfMethods}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    number;
    /** @type {string} */
    agent;
    /** @type {string} */
    authName;
    /** @type {string} */
    userName;
    /** @type {string} */
    displayName;
    /** @type {string} */
    password;
    /** @type {string} */
    userDomain;
    /** @type {number} */
    registrationExpires;
    /** @type {TransportTypes} */
    transportType;
    /** @type {string} */
    localIP;
    /** @type {number} */
    localPort;
    /** @type {string} */
    sipServer;
    /** @type {number} */
    sipServerPort;
    /** @type {string} */
    outboundServer;
    /** @type {number} */
    outboundServerPort;
    /** @type {string} */
    stunServer;
    /** @type {number} */
    stunPort;
    /** @type {string} */
    audioPlaybackDeviceName;
    /** @type {string} */
    audioRecordingDeviceName;
    /** @type {AudioCodecTypes[]} */
    audioCodecs;
    /** @type {DtmfMethods} */
    dtmfMethod;
}
export class ThirdPartySipSettings {
    /** @param {{accounts?:ThirdPartySipAccountSettings[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ThirdPartySipAccountSettings[]} */
    accounts;
}
export class ThirdPartyDemoSettings {
    /** @param {{extension?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    extension;
}
export class ThirdPartyPhoneSystemSettings {
    /** @param {{type?:ThirdPartyPhoneSystemTypes,sipSettings?:ThirdPartySipSettings,demoSettings?:ThirdPartyDemoSettings}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ThirdPartyPhoneSystemTypes} */
    type;
    /** @type {ThirdPartySipSettings} */
    sipSettings;
    /** @type {ThirdPartyDemoSettings} */
    demoSettings;
}
export class AppSettings {
    /** @param {{enablePhoneNumberManagement?:boolean,enableDeviceManagement?:boolean,enableDialer?:boolean,enableCallHistory?:boolean,enableAssistants?:boolean,showFileNameInMessageCenter?:boolean,chakraTheme?:string,customCss?:string,pageTitle?:string,stringMappings?:string,logoutUrl?:string,portMyNumberUrl?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    enablePhoneNumberManagement;
    /** @type {boolean} */
    enableDeviceManagement;
    /** @type {boolean} */
    enableDialer;
    /** @type {boolean} */
    enableCallHistory;
    /** @type {boolean} */
    enableAssistants;
    /** @type {boolean} */
    showFileNameInMessageCenter;
    /** @type {string} */
    chakraTheme;
    /** @type {string} */
    customCss;
    /** @type {string} */
    pageTitle;
    /** @type {string} */
    stringMappings;
    /** @type {string} */
    logoutUrl;
    /** @type {string} */
    portMyNumberUrl;
}
/** @typedef {'Accuracy'|'Speed'} */
export var AssistantTunings;
(function (AssistantTunings) {
    AssistantTunings["Accuracy"] = "Accuracy"
    AssistantTunings["Speed"] = "Speed"
})(AssistantTunings || (AssistantTunings = {}));
export class AssistantWord {
    /** @param {{word?:string,pronounced?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    word;
    /** @type {string} */
    pronounced;
}
export class AssistantLink {
    /** @param {{url?:string,description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    url;
    /** @type {string} */
    description;
}
/** @typedef {'Blind'|'Supervised'|'MessagesOnly'} */
export var AssistantTransferTypes;
(function (AssistantTransferTypes) {
    AssistantTransferTypes["Blind"] = "Blind"
    AssistantTransferTypes["Supervised"] = "Supervised"
    AssistantTransferTypes["MessagesOnly"] = "MessagesOnly"
})(AssistantTransferTypes || (AssistantTransferTypes = {}));
export class AssistantTakeMessageField {
    /** @param {{name?:string,description?:string,required?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
    /** @type {string} */
    description;
    /** @type {boolean} */
    required;
}
export class AssistantContact {
    /** @param {{name?:string,phoneNumber?:string,transferType?:AssistantTransferTypes,about?:string,emailAddress?:string,takeMessageFields?:AssistantTakeMessageField[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    name;
    /** @type {string} */
    phoneNumber;
    /** @type {AssistantTransferTypes} */
    transferType;
    /** @type {string} */
    about;
    /** @type {string} */
    emailAddress;
    /** @type {AssistantTakeMessageField[]} */
    takeMessageFields;
}
export class AssistantIntegration {
    /** @param {{uri?:string,httpMethod?:string,authToken?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    uri;
    /** @type {string} */
    httpMethod;
    /** @type {string} */
    authToken;
}
export class AssistantSettings {
    /** @param {{companyName?:string,greeting?:string,companyInformation?:string,customPrompt?:string,voice?:string,voiceStyle?:string,tuning?:AssistantTunings,words?:AssistantWord[],links?:AssistantLink[],contacts?:AssistantContact[],integrations?:AssistantIntegration[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    companyName;
    /** @type {string} */
    greeting;
    /** @type {string} */
    companyInformation;
    /** @type {string} */
    customPrompt;
    /** @type {string} */
    voice;
    /** @type {string} */
    voiceStyle;
    /** @type {AssistantTunings} */
    tuning;
    /** @type {AssistantWord[]} */
    words;
    /** @type {AssistantLink[]} */
    links;
    /** @type {AssistantContact[]} */
    contacts;
    /** @type {AssistantIntegration[]} */
    integrations;
}
export class EmbedSettings {
    /** @param {{enabled?:boolean,allowedHosts?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    enabled;
    /** @type {string} */
    allowedHosts;
}
export class EndpointInfo extends EntityInfo {
    /** @param {{accountId?:string,accountName?:string,customerId?:string,customerName?:string,referenceId?:string,customerBreadcrumb?:CustomerBreadcrumb[],displayName?:string,type?:EndpointTypes,extraInformation?:string,flowId?:string,flowName?:string,flowParams?:Struct,flowSchedule?:EndpointFlowSchedules,schedule?:Schedule,scheduledFlows?:ScheduledFlow[],disableSms?:boolean,useExternal10DlcCampaign?:boolean,isVirtualPhoneNumber?:boolean,isCallerIdVerified?:boolean,callerIdVerificationCode?:string,phoneNumber?:string,phoneNumberSid?:string,callerIdName?:string,addressSid?:string,doNotTouchPhoneNumber?:boolean,isEnrolledIn10DlcService?:boolean,enableCallerIdLookup?:boolean,userEmailAddress?:string,sipRegion?:TwilioSipRegions,sipCredentialSid?:string,sipUserName?:string,sipPassword?:string,sipDomain?:string,enableEmergencyCalling?:boolean,emergencyAddressSid?:string,emergencyPhoneNumberId?:string,agentState?:AgentStates,agentStateReason?:AgentStateReasons,userMode?:UserModes,voicemailGreetingId?:string,data?:Struct,emailAddress?:string,userFirstName?:string,userLastName?:string,avatarUrl?:string,managerRole?:UserManagerRoles,dashboardPermissions?:DashboardPermissions[],myFieldPermissions?:UserDataFieldModes,customerFieldPermissions?:UserDataFieldModes,otherUserFieldPermissions?:UserDataFieldModes,otherEndpointFieldPermissions?:UserDataFieldModes,name?:string,tags?:Tag[],actionUrls?:EndpointActionUrl[],teamMemberIds?:string[],contactListVisibility?:CustomerVisibility,contacts?:EndpointContact[],documoId?:string,integrationData?:EntityIntegrationData,thirdPartyPhoneSystemSettings?:ThirdPartyPhoneSystemSettings,overrideAppSettings?:boolean,appSettings?:AppSettings,assistantSettings?:AssistantSettings,embedSettings?:EmbedSettings,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {string}
     * @description The account ID this endpoint is associated with */
    accountId;
    /**
     * @type {string}
     * @description The name of the account this endpoint is associated with */
    accountName;
    /**
     * @type {string}
     * @description The ID of the customer this endpoint is associated with */
    customerId;
    /**
     * @type {string}
     * @description The name of the customer this endpoint is associated with */
    customerName;
    /**
     * @type {string}
     * @description The third party reference ID for the endpoint */
    referenceId;
    /**
     * @type {CustomerBreadcrumb[]}
     * @description The breadcrumb to the customer for this endpoint */
    customerBreadcrumb;
    /**
     * @type {string}
     * @description The display name of the endpoint */
    displayName;
    /**
     * @type {EndpointTypes}
     * @description The type of endpoint */
    type;
    /**
     * @type {string}
     * @description Extra info for this endpoint (typically to show in grid) */
    extraInformation;
    /**
     * @type {string}
     * @description The ID of the flow to use for voice */
    flowId;
    /**
     * @type {string}
     * @description The name of the flow to use for voice */
    flowName;
    /**
     * @type {Struct}
     * @description The params for the voice flow */
    flowParams;
    /**
     * @type {EndpointFlowSchedules}
     * @description Whether to use a single flow always or use scheduled flow system */
    flowSchedule;
    /**
     * @type {Schedule}
     * @description This endpoint's schedule */
    schedule;
    /**
     * @type {ScheduledFlow[]}
     * @description The list of scheduled flows when using scheduling */
    scheduledFlows;
    /**
     * @type {boolean}
     * @description Disable SMS */
    disableSms;
    /**
     * @type {boolean}
     * @description Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number */
    useExternal10DlcCampaign;
    /**
     * @type {boolean}
     * @description Is this a virtual phone number? */
    isVirtualPhoneNumber;
    /**
     * @type {boolean}
     * @description Is caller ID verified for this virtual number? */
    isCallerIdVerified;
    /**
     * @type {string}
     * @description The verification code for this number */
    callerIdVerificationCode;
    /**
     * @type {string}
     * @description The phone number */
    phoneNumber;
    /**
     * @type {string}
     * @description The Sid of the phone number */
    phoneNumberSid;
    /**
     * @type {string}
     * @description The caller ID Name (CNAM) for the phone number */
    callerIdName;
    /**
     * @type {string}
     * @description The address SID associated with the phone number */
    addressSid;
    /**
     * @type {boolean}
     * @description Do not touch this phone number - for BYOA accounts */
    doNotTouchPhoneNumber;
    /**
     * @type {boolean}
     * @description Is this number enrolled in a 10DLC messaging service campaign */
    isEnrolledIn10DlcService;
    /**
     * @type {boolean}
     * @description Whether we look up caller ID or not */
    enableCallerIdLookup;
    /**
     * @type {string}
     * @description The email address of the user */
    userEmailAddress;
    /**
     * @type {TwilioSipRegions}
     * @description The Twilio Region for the SIP endpoint */
    sipRegion;
    /**
     * @type {string}
     * @description The Twilio Sid of the credentials for Sip */
    sipCredentialSid;
    /**
     * @type {string}
     * @description The Twilio SIP user name */
    sipUserName;
    /**
     * @type {string}
     * @description The Twilio SIP password */
    sipPassword;
    /**
     * @type {string}
     * @description The SIP domain */
    sipDomain;
    /**
     * @type {boolean}
     * @description Is emergency calling enabled on this number? */
    enableEmergencyCalling;
    /**
     * @type {string}
     * @description The SID of the emergency address for this number */
    emergencyAddressSid;
    /**
     * @type {string}
     * @description The ID of the phone number to use for emergency dialing */
    emergencyPhoneNumberId;
    /**
     * @type {AgentStates}
     * @description The current agent state of this user endpoint */
    agentState;
    /**
     * @type {AgentStateReasons}
     * @description The current agent state reason of this user endpoint */
    agentStateReason;
    /**
     * @type {UserModes}
     * @description The mode for this user */
    userMode;
    /**
     * @type {string}
     * @description The ID of the file to use for voicemail greeting */
    voicemailGreetingId;
    /**
     * @type {Struct}
     * @description The endpoint's data */
    data;
    /**
     * @type {string}
     * @description The email address for email endpoints */
    emailAddress;
    /**
     * @type {string}
     * @description The first name of the user (for user endpoints) */
    userFirstName;
    /**
     * @type {string}
     * @description The last name of the user (for user endpoints) */
    userLastName;
    /**
     * @type {string}
     * @description The URL of an image for this user's avatar */
    avatarUrl;
    /**
     * @type {UserManagerRoles}
     * @description Does this user have manager role? */
    managerRole;
    /**
     * @type {DashboardPermissions[]}
     * @description The list of dashboard permissions for when the manager role is custom */
    dashboardPermissions;
    /**
     * @type {UserDataFieldModes}
     * @description The type of visibility this user has to their own fields */
    myFieldPermissions;
    /**
     * @type {UserDataFieldModes}
     * @description The type of visibility this user has to customer fields */
    customerFieldPermissions;
    /**
     * @type {UserDataFieldModes}
     * @description The type of visibility this user has to other user fields */
    otherUserFieldPermissions;
    /**
     * @type {UserDataFieldModes}
     * @description The type of visibility this user has to other endpoint fields */
    otherEndpointFieldPermissions;
    /**
     * @type {string}
     * @description The name of this endpoint (for bots etc.) */
    name;
    /**
     * @type {Tag[]}
     * @description The list of tags for this endpoint */
    tags;
    /**
     * @type {EndpointActionUrl[]}
     * @description The list of action URLs */
    actionUrls;
    /**
     * @type {string[]}
     * @description The list of members in this team */
    teamMemberIds;
    /**
     * @type {CustomerVisibility}
     * @description Visibility of this user/team in contact lists */
    contactListVisibility;
    /**
     * @type {EndpointContact[]}
     * @description The list of contacts personal to this user */
    contacts;
    /**
     * @type {string}
     * @description The documo ID for this number */
    documoId;
    /**
     * @type {EntityIntegrationData}
     * @description Integration data for this endpoint */
    integrationData;
    /**
     * @type {ThirdPartyPhoneSystemSettings}
     * @description Settings for third party phone system */
    thirdPartyPhoneSystemSettings;
    /**
     * @type {boolean}
     * @description Should this user override the parent customer's app settings */
    overrideAppSettings;
    /**
     * @type {AppSettings}
     * @description App / Portal settings for this user */
    appSettings;
    /**
     * @type {AssistantSettings}
     * @description Configuration for the AI assistant */
    assistantSettings;
    /**
     * @type {EmbedSettings}
     * @description Configuration for the embed */
    embedSettings;
}
export class AppGetAssistants extends ListRequest {
    /** @param {{accountId?:string,customerId?:string,nameFilter?:string,page?:number,all?:boolean,countPerPage?:number,specificIds?:string[],sortField?:string,sortOrder?:SortOrders,simplifiedPaging?:boolean}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    accountId;
    /** @type {string} */
    customerId;
    /** @type {string} */
    nameFilter;
}
export class BillingItem {
    /** @param {{baseCost?:number,rawUnitMultiplier?:number,unitCost?:number,allowance?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    baseCost;
    /** @type {number} */
    rawUnitMultiplier;
    /** @type {number} */
    unitCost;
    /** @type {number} */
    allowance;
}
export class BillingSettings {
    /** @param {{base?:BillingItem,localNumbers?:BillingItem,tollFreeNumbers?:BillingItem,inboundVoiceCalls?:BillingItem,outboundVoiceCalls?:BillingItem,inboundFaxes?:BillingItem,outboundFaxes?:BillingItem,inboundSmsMessages?:BillingItem,outboundSmsMessages?:BillingItem,aiInsights?:BillingItem,aiLiveMinutes?:BillingItem}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {BillingItem} */
    base;
    /** @type {BillingItem} */
    localNumbers;
    /** @type {BillingItem} */
    tollFreeNumbers;
    /** @type {BillingItem} */
    inboundVoiceCalls;
    /** @type {BillingItem} */
    outboundVoiceCalls;
    /** @type {BillingItem} */
    inboundFaxes;
    /** @type {BillingItem} */
    outboundFaxes;
    /** @type {BillingItem} */
    inboundSmsMessages;
    /** @type {BillingItem} */
    outboundSmsMessages;
    /** @type {BillingItem} */
    aiInsights;
    /** @type {BillingItem} */
    aiLiveMinutes;
}
export class AccountInfo extends EntityInfo {
    /** @param {{name?:string,parentAccountId?:string,twilioAccountSid?:string,ancestorIds?:string[],maxPhoneNumbers?:number,isBYOA?:boolean,trustHubProfileSid?:string,logoId?:string,logoUri?:string,billingSettings?:BillingSettings,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {string}
     * @description The name of this account */
    name;
    /**
     * @type {string}
     * @description The ID of this account's parent */
    parentAccountId;
    /**
     * @type {string}
     * @description The twilio account SID */
    twilioAccountSid;
    /**
     * @type {string[]}
     * @description The ancestors of this account. Useful for breadcrumbs */
    ancestorIds;
    /**
     * @type {number}
     * @description The max number of phone numbers this account can have */
    maxPhoneNumbers;
    /**
     * @type {boolean}
     * @description This account is BYOA */
    isBYOA;
    /**
     * @type {string}
     * @description TrustHub Profile Sid */
    trustHubProfileSid;
    /**
     * @type {string}
     * @description The ID of the logo file */
    logoId;
    /**
     * @type {string}
     * @description The URI of the logo file */
    logoUri;
    /**
     * @type {BillingSettings}
     * @description The billing settings for this account */
    billingSettings;
}
/** @typedef T {any} */
export class ListResponse {
    /** @param {{items?:AccountInfo[],totalCount?:number,totalPages?:number,hasMorePages?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {AccountInfo[]}
     * @description The items */
    items;
    /**
     * @type {number}
     * @description The total number of items */
    totalCount;
    /**
     * @type {number}
     * @description The total number of pages */
    totalPages;
    /**
     * @type {boolean}
     * @description Are there more pages of items? Used with simplified paging */
    hasMorePages;
}

JavaScript AppGetAssistants 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.

GET /portal/assistants HTTP/1.1 
Host: team.evovoice.io 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	items: 
	[
		{
			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
		}
	],
	totalCount: 0,
	totalPages: 0,
	hasMorePages: False
}