Evo Voice

<back to all web services

ListEndpoints

Lists all endpoints

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


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

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


export enum SortOrders
{
    Ascend = 'Ascend',
    Descend = 'Descend',
}

export class ListRequest<T> implements IGet
{
    /**
    * The page of data to retrieve
    */
    // @ApiMember(Description="The page of data to retrieve")
    public page?: number;

    /**
    * If you want all objects to be returned. This should be used with care
    */
    // @ApiMember(Description="If you want all objects to be returned. This should be used with care")
    public all?: boolean;

    /**
    * The number per page to retrieve
    */
    // @ApiMember(Description="The number per page to retrieve")
    public countPerPage?: number;

    /**
    * Specific IDs
    */
    // @ApiMember(Description="Specific IDs")
    public specificIds?: string[];

    /**
    * Specify a sort field
    */
    // @ApiMember(Description="Specify a sort field")
    public sortField?: string;

    /**
    * Specify a sort order
    */
    // @ApiMember(Description="Specify a sort order")
    public sortOrder?: SortOrders;

    /**
    * Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array
    */
    // @ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array")
    public simplifiedPaging?: boolean;

    public constructor(init?: Partial<ListRequest<T>>) { (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); }
}

/**
* Lists all endpoints
*/
// @Api(Description="Lists all endpoints")
export class ListEndpoints extends ListRequest<EndpointInfo>
{
    /**
    * The IDs of the account whose endpoints you want to retrieve
    */
    // @ApiMember(Description="The IDs of the account whose endpoints you want to retrieve")
    public accountIds?: string[];

    /**
    * The IDs of the customers whose endpoints you want to retrieve
    */
    // @ApiMember(Description="The IDs of the customers whose endpoints you want to retrieve")
    public customerIds?: string[];

    /**
    * The third party IDs of endpoints you want to retrieve
    */
    // @ApiMember(Description="The third party IDs of endpoints you want to retrieve")
    public referenceIds?: string[];

    /**
    * If you want a shall parent customer filter (e.g. no deep children)
    */
    // @ApiMember(Description="If you want a shall parent customer filter (e.g. no deep children)")
    public shallowParent?: boolean;

    /**
    * The IDs of the flows whose endpoints you want to retrieve
    */
    // @ApiMember(Description="The IDs of the flows whose endpoints you want to retrieve")
    public flowIds?: string[];

    /**
    * The state where the specified flow IDs should be
    */
    // @ApiMember(Description="The state where the specified flow IDs should be")
    public flowState?: string;

    /**
    * The list of tag IDs to filter by (must contain all)
    */
    // @ApiMember(Description="The list of tag IDs to filter by (must contain all)")
    public tagIds?: string[];

    /**
    * Filter by name
    */
    // @ApiMember(Description="Filter by name")
    public nameFilter?: string;

    /**
    * Filter by phone number
    */
    // @ApiMember(Description="Filter by phone number")
    public phoneNumberFilter?: string;

    /**
    * Filter by type
    */
    // @ApiMember(Description="Filter by type")
    public type?: EndpointTypes;

    /**
    * Filter by types
    */
    // @ApiMember(Description="Filter by types")
    public types?: EndpointTypes[];

    /**
    * Filter by user mode
    */
    // @ApiMember(Description="Filter by user mode")
    public userMode?: UserModes;

    /**
    * Filters for any endpoint data fields. Format for each entry should be 'FieldName=Value'. We do not support numeric or boolean currently
    */
    // @ApiMember(Description="Filters for any endpoint data fields. Format for each entry should be 'FieldName=Value'. We do not support numeric or boolean currently")
    public dataFilters?: string[];

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

    /**
    * Filter by flow parameters (this must be a JSON struct)
    */
    // @ApiMember(Description="Filter by flow parameters (this must be a JSON struct)")
    public flowParametersFilter?: string;

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

export class BillingItem
{
    public baseCost?: number;
    public rawUnitMultiplier?: number;
    public unitCost?: number;
    public allowance?: number;

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

export class BillingSettings
{
    public base?: BillingItem;
    public localNumbers?: BillingItem;
    public tollFreeNumbers?: BillingItem;
    public inboundVoiceCalls?: BillingItem;
    public outboundVoiceCalls?: BillingItem;
    public inboundFaxes?: BillingItem;
    public outboundFaxes?: BillingItem;
    public inboundSmsMessages?: BillingItem;
    public outboundSmsMessages?: BillingItem;

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

export class AccountInfo extends EntityInfo
{
    /**
    * The name of this account
    */
    // @ApiMember(Description="The name of this account")
    public name?: string;

    /**
    * The ID of this account's parent
    */
    // @ApiMember(Description="The ID of this account's parent")
    public parentAccountId?: string;

    /**
    * The twilio account SID
    */
    // @ApiMember(Description="The twilio account SID")
    public twilioAccountSid?: string;

    /**
    * The ancestors of this account. Useful for breadcrumbs
    */
    // @ApiMember(Description="The ancestors of this account. Useful for breadcrumbs")
    public ancestorIds?: string[];

    /**
    * The max number of phone numbers this account can have
    */
    // @ApiMember(Description="The max number of phone numbers this account can have")
    public maxPhoneNumbers?: number;

    /**
    * This account is BYOA
    */
    // @ApiMember(Description="This account is BYOA")
    public isBYOA?: boolean;

    /**
    * TrustHub Profile Sid
    */
    // @ApiMember(Description="TrustHub Profile Sid")
    public trustHubProfileSid?: string;

    /**
    * The ID of the logo file
    */
    // @ApiMember(Description="The ID of the logo file")
    public logoId?: string;

    /**
    * The URI of the logo file
    */
    // @ApiMember(Description="The URI of the logo file")
    public logoUri?: string;

    /**
    * The billing settings for this account
    */
    // @ApiMember(Description="The billing settings for this account")
    public billingSettings?: BillingSettings;

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

export class ListResponse<AccountInfo>
{
    /**
    * The items
    */
    // @ApiMember(Description="The items")
    public items?: AccountInfo[];

    /**
    * The total number of items
    */
    // @ApiMember(Description="The total number of items")
    public totalCount?: number;

    /**
    * The total number of pages
    */
    // @ApiMember(Description="The total number of pages")
    public totalPages?: number;

    /**
    * Are there more pages of items? Used with simplified paging
    */
    // @ApiMember(Description="Are there more pages of items? Used with simplified paging")
    public hasMorePages?: boolean;

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

TypeScript ListEndpoints DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

GET /endpoints HTTP/1.1 
Host: evovoice.io 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
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","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"}],"totalCount":0,"totalPages":0,"hasMorePages":false}