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
namespace Voice.Api

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type EntityInfo() = 
        ///<summary>
        ///The ID of the object
        ///</summary>
        [<ApiMember(Description="The ID of the object")>]
        member val Id:String = null with get,set

        ///<summary>
        ///The date the object was created
        ///</summary>
        [<ApiMember(Description="The date the object was created")>]
        member val DateCreated:String = null with get,set

        ///<summary>
        ///The date the object was last modified
        ///</summary>
        [<ApiMember(Description="The date the object was last modified")>]
        member val DateLastModified:String = null with get,set

        ///<summary>
        ///The user that created this object
        ///</summary>
        [<ApiMember(Description="The user that created this object")>]
        member val CreatedBy:String = null with get,set

        ///<summary>
        ///The user that last modified this object
        ///</summary>
        [<ApiMember(Description="The user that last modified this object")>]
        member val LastModifiedBy:String = null with get,set

    [<AllowNullLiteral>]
    type CustomerBreadcrumb() = 
        member val Id:String = null with get,set
        member val Name:String = null with get,set

    type EndpointTypes =
        | PhoneNumber = 0
        | User = 1
        | FaxNumber = 2
        | EmailAddress = 3
        | Unused_1 = 4
        | Unused_2 = 5
        | Unused_3 = 6
        | Unused_4 = 7
        | Unused_5 = 8
        | Team = 9

    [<AllowNullLiteral>]
    type Value() = 
        member val BoolValue:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val StringValue:String = null with get,set
        member val NumberValue:Nullable<Double> = new Nullable<Double>() with get,set
        member val ListValue:ResizeArray<Struct> = new ResizeArray<Struct>() with get,set
        member val StructValue:Struct = null with get,set

    [<AllowNullLiteral>]
    type Struct() = 
        inherit Dictionary<String, Value>()

    type EndpointFlowSchedules =
        | Always = 0
        | Scheduled = 1
        | Simple = 2

    type SimpleSchedulingRuleTypes =
        | Always = 0
        | CustomerState = 1
        | Time = 2

    [<AllowNullLiteral>]
    type ScheduleDay() = 
        member val Offset:Int32 = new Int32() with get,set
        member val DayOfWeek:DayOfWeek = new DayOfWeek() with get,set

    type SchedulingRuleFrequency =
        | None = 0
        | Secondly = 1
        | Minutely = 2
        | Hourly = 3
        | Daily = 4
        | Weekly = 5
        | Monthly = 6
        | Yearly = 7

    [<AllowNullLiteral>]
    type SchedulingRule() = 
        member val Id:String = null with get,set
        member val Name:String = null with get,set
        member val Priority:Int32 = new Int32() with get,set
        member val State:String = null with get,set
        member val Source:String = null with get,set
        member val Condition:String = null with get,set
        member val SimpleRuleType:SimpleSchedulingRuleTypes = new SimpleSchedulingRuleTypes() with get,set
        member val CustomerState:String = null with get,set
        member val FlowId:String = null with get,set
        member val FlowParams:Struct = null with get,set
        member val IsAllDay:Boolean = new Boolean() with get,set
        member val StartDate:String = null with get,set
        member val StartTime:String = null with get,set
        member val EndTime:String = null with get,set
        member val BySetPosition:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val ByMonth:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val ByWeekNo:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val ByYearDay:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val ByMonthDay:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val ByDay:ResizeArray<ScheduleDay> = new ResizeArray<ScheduleDay>() with get,set
        member val ByHour:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val ByMinute:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val Interval:Int32 = new Int32() with get,set
        member val Count:Int32 = new Int32() with get,set
        member val UntilDate:String = null with get,set
        member val Frequency:SchedulingRuleFrequency = new SchedulingRuleFrequency() with get,set

    [<AllowNullLiteral>]
    type Schedule() = 
        member val TimeZoneId:String = null with get,set
        member val Inherit:Boolean = new Boolean() with get,set
        member val ForceClosed:Boolean = new Boolean() with get,set
        member val Rules:ResizeArray<SchedulingRule> = new ResizeArray<SchedulingRule>() with get,set
        member val DefaultState:String = null with get,set

    [<AllowNullLiteral>]
    type ScheduledFlow() = 
        member val StateName:String = null with get,set
        member val FlowId:String = null with get,set
        member val FlowParams:Struct = null with get,set

    type TwilioSipRegions =
        | NorthAmericaVirginia = 0
        | NorthAmericaOregon = 1
        | EuropeIreland = 2
        | EuropeFrankfurt = 3
        | AsiaPacificSingapore = 4
        | AsiaPacificTokyo = 5
        | AsiaPacificSydney = 6
        | SouthAmericaSanPaolo = 7

    type AgentStates =
        | Unknown = 0
        | Ready = 1
        | NotReady = 2
        | LoggedOut = 3
        | WrapUp = 4
        | Outgoing = 5
        | Other = 6

    type AgentStateReasons =
        | Unknown = 0
        | SetByUser = 1
        | MissedCall = 2
        | SetBySystem = 3

    type UserModes =
        | SoftPhone = 0
        | Sip = 1
        | Flow = 2
        | DataOnly = 3
        | ThirdParty = 4

    type UserManagerRoles =
        | None = 0
        | Manager = 1
        | VoicemailAndCallHistory = 2
        | Custom = 3

    type DashboardPermissions =
        | ViewFiles = 0
        | ViewNotifications = 1
        | ViewSessions = 2
        | ViewEndpoints = 3
        | ViewReports = 4
        | ViewCustomers = 5
        | ViewFlows = 6

    type UserDataFieldModes =
        | Hidden = 0
        | ReadOnly = 1
        | ReadWrite = 2

    type TagColors =
        | Magenta = 0
        | Red = 1
        | Volcano = 2
        | Orange = 3
        | Gold = 4
        | Lime = 5
        | Green = 6
        | Cyan = 7
        | Blue = 8
        | GeekBlue = 9
        | Purple = 10

    [<AllowNullLiteral>]
    type Tag() = 
        member val Id:String = null with get,set
        member val Name:String = null with get,set
        member val Color:TagColors = new TagColors() with get,set

    type ActionUrlHttpMethods =
        | GET = 0
        | POST = 1

    [<AllowNullLiteral>]
    type EndpointActionUrl() = 
        member val Id:String = null with get,set
        member val Url:String = null with get,set
        member val Method:ActionUrlHttpMethods = new ActionUrlHttpMethods() with get,set

    type CustomerVisibility =
        | None = 0
        | CurrentCustomer = 1
        | CurrentAndChildCustomers = 2

    [<AllowNullLiteral>]
    type EndpointContact() = 
        member val Id:String = null with get,set
        member val DisplayName:String = null with get,set
        member val Address:String = null with get,set

    [<AllowNullLiteral>]
    type IntegrationData() = 
        member val ThirdPartyId:String = null with get,set

    [<AllowNullLiteral>]
    type EntityIntegrationData() = 
        inherit Dictionary<String, IntegrationData>()

    type ThirdPartyPhoneSystemTypes =
        | Demo = 0
        | Sip = 1

    type TransportTypes =
        | UDP = 0
        | TLS = 1
        | TCP = 2
        | PERS = 3

    type 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

    type DtmfMethods =
        | RFC2833 = 0
        | INFO = 1

    [<AllowNullLiteral>]
    type ThirdPartySipAccountSettings() = 
        member val Number:String = null with get,set
        member val Agent:String = null with get,set
        member val AuthName:String = null with get,set
        member val UserName:String = null with get,set
        member val DisplayName:String = null with get,set
        member val Password:String = null with get,set
        member val UserDomain:String = null with get,set
        member val RegistrationExpires:Int32 = new Int32() with get,set
        member val TransportType:TransportTypes = new TransportTypes() with get,set
        member val LocalIP:String = null with get,set
        member val LocalPort:Int32 = new Int32() with get,set
        member val SipServer:String = null with get,set
        member val SipServerPort:Int32 = new Int32() with get,set
        member val OutboundServer:String = null with get,set
        member val OutboundServerPort:Int32 = new Int32() with get,set
        member val StunServer:String = null with get,set
        member val StunPort:Int32 = new Int32() with get,set
        member val AudioPlaybackDeviceName:String = null with get,set
        member val AudioRecordingDeviceName:String = null with get,set
        member val AudioCodecs:ResizeArray<AudioCodecTypes> = new ResizeArray<AudioCodecTypes>() with get,set
        member val DTMFMethod:DtmfMethods = new DtmfMethods() with get,set

    [<AllowNullLiteral>]
    type ThirdPartySipSettings() = 
        member val Accounts:ResizeArray<ThirdPartySipAccountSettings> = new ResizeArray<ThirdPartySipAccountSettings>() with get,set

    [<AllowNullLiteral>]
    type ThirdPartyDemoSettings() = 
        member val Extension:String = null with get,set

    [<AllowNullLiteral>]
    type ThirdPartyPhoneSystemSettings() = 
        member val Type:ThirdPartyPhoneSystemTypes = new ThirdPartyPhoneSystemTypes() with get,set
        member val SipSettings:ThirdPartySipSettings = null with get,set
        member val DemoSettings:ThirdPartyDemoSettings = null with get,set

    [<AllowNullLiteral>]
    type AppSettings() = 
        member val EnablePhoneNumberManagement:Boolean = new Boolean() with get,set
        member val EnableDeviceManagement:Boolean = new Boolean() with get,set
        member val EnableDialer:Boolean = new Boolean() with get,set
        member val EnableCallHistory:Boolean = new Boolean() with get,set
        member val ShowFileNameInMessageCenter:Boolean = new Boolean() with get,set
        member val ChakraTheme:String = null with get,set
        member val CustomCss:String = null with get,set
        member val PageTitle:String = null with get,set
        member val StringMappings:String = null with get,set
        member val LogoutUrl:String = null with get,set
        member val PortMyNumberUrl:String = null with get,set

    [<AllowNullLiteral>]
    type EndpointInfo() = 
        inherit EntityInfo()
        ///<summary>
        ///The account ID this endpoint is associated with
        ///</summary>
        [<ApiMember(Description="The account ID this endpoint is associated with")>]
        member val AccountId:String = null with get,set

        ///<summary>
        ///The name of the account this endpoint is associated with
        ///</summary>
        [<ApiMember(Description="The name of the account this endpoint is associated with")>]
        member val AccountName:String = null with get,set

        ///<summary>
        ///The ID of the customer this endpoint is associated with
        ///</summary>
        [<ApiMember(Description="The ID of the customer this endpoint is associated with")>]
        member val CustomerId:String = null with get,set

        ///<summary>
        ///The name of the customer this endpoint is associated with
        ///</summary>
        [<ApiMember(Description="The name of the customer this endpoint is associated with")>]
        member val CustomerName:String = null with get,set

        ///<summary>
        ///The third party reference ID for the endpoint
        ///</summary>
        [<ApiMember(Description="The third party reference ID for the endpoint")>]
        member val ReferenceId:String = null with get,set

        ///<summary>
        ///The breadcrumb to the customer for this endpoint
        ///</summary>
        [<ApiMember(Description="The breadcrumb to the customer for this endpoint")>]
        member val CustomerBreadcrumb:ResizeArray<CustomerBreadcrumb> = new ResizeArray<CustomerBreadcrumb>() with get,set

        ///<summary>
        ///The display name of the endpoint
        ///</summary>
        [<ApiMember(Description="The display name of the endpoint")>]
        member val DisplayName:String = null with get,set

        ///<summary>
        ///The type of endpoint
        ///</summary>
        [<ApiMember(Description="The type of endpoint")>]
        member val Type:EndpointTypes = new EndpointTypes() with get,set

        ///<summary>
        ///Extra info for this endpoint (typically to show in grid)
        ///</summary>
        [<ApiMember(Description="Extra info for this endpoint (typically to show in grid)")>]
        member val ExtraInformation:String = null with get,set

        ///<summary>
        ///The ID of the flow to use for voice
        ///</summary>
        [<ApiMember(Description="The ID of the flow to use for voice")>]
        member val FlowId:String = null with get,set

        ///<summary>
        ///The name of the flow to use for voice
        ///</summary>
        [<ApiMember(Description="The name of the flow to use for voice")>]
        member val FlowName:String = null with get,set

        ///<summary>
        ///The params for the voice flow
        ///</summary>
        [<ApiMember(Description="The params for the voice flow")>]
        member val FlowParams:Struct = null with get,set

        ///<summary>
        ///Whether to use a single flow always or use scheduled flow system
        ///</summary>
        [<ApiMember(Description="Whether to use a single flow always or use scheduled flow system")>]
        member val FlowSchedule:EndpointFlowSchedules = new EndpointFlowSchedules() with get,set

        ///<summary>
        ///This endpoint's schedule
        ///</summary>
        [<ApiMember(Description="This endpoint's schedule")>]
        member val Schedule:Schedule = null with get,set

        ///<summary>
        ///The list of scheduled flows when using scheduling
        ///</summary>
        [<ApiMember(Description="The list of scheduled flows when using scheduling")>]
        member val ScheduledFlows:ResizeArray<ScheduledFlow> = new ResizeArray<ScheduledFlow>() with get,set

        ///<summary>
        ///Disable SMS
        ///</summary>
        [<ApiMember(Description="Disable SMS")>]
        member val DisableSms:Boolean = new Boolean() with get,set

        ///<summary>
        ///Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number
        ///</summary>
        [<ApiMember(Description="Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number")>]
        member val UseExternal10DlcCampaign:Boolean = new Boolean() with get,set

        ///<summary>
        ///Is this a virtual phone number?
        ///</summary>
        [<ApiMember(Description="Is this a virtual phone number?")>]
        member val IsVirtualPhoneNumber:Boolean = new Boolean() with get,set

        ///<summary>
        ///Is caller ID verified for this virtual number?
        ///</summary>
        [<ApiMember(Description="Is caller ID verified for this virtual number?")>]
        member val IsCallerIdVerified:Boolean = new Boolean() with get,set

        ///<summary>
        ///The verification code for this number
        ///</summary>
        [<ApiMember(Description="The verification code for this number")>]
        member val CallerIdVerificationCode:String = null with get,set

        ///<summary>
        ///The phone number
        ///</summary>
        [<ApiMember(Description="The phone number")>]
        member val PhoneNumber:String = null with get,set

        ///<summary>
        ///The Sid of the phone number
        ///</summary>
        [<ApiMember(Description="The Sid of the phone number")>]
        member val PhoneNumberSid:String = null with get,set

        ///<summary>
        ///The caller ID Name (CNAM) for the phone number
        ///</summary>
        [<ApiMember(Description="The caller ID Name (CNAM) for the phone number")>]
        member val CallerIdName:String = null with get,set

        ///<summary>
        ///The address SID associated with the phone number
        ///</summary>
        [<ApiMember(Description="The address SID associated with the phone number")>]
        member val AddressSid:String = null with get,set

        ///<summary>
        ///Do not touch this phone number - for BYOA accounts
        ///</summary>
        [<ApiMember(Description="Do not touch this phone number - for BYOA accounts")>]
        member val DoNotTouchPhoneNumber:Boolean = new Boolean() with get,set

        ///<summary>
        ///Is this number enrolled in a 10DLC messaging service campaign
        ///</summary>
        [<ApiMember(Description="Is this number enrolled in a 10DLC messaging service campaign")>]
        member val IsEnrolledIn10DlcService:Boolean = new Boolean() with get,set

        ///<summary>
        ///Whether we look up caller ID or not
        ///</summary>
        [<ApiMember(Description="Whether we look up caller ID or not")>]
        member val EnableCallerIdLookup:Boolean = new Boolean() with get,set

        ///<summary>
        ///The email address of the user
        ///</summary>
        [<ApiMember(Description="The email address of the user")>]
        member val UserEmailAddress:String = null with get,set

        ///<summary>
        ///The Twilio Region for the SIP endpoint
        ///</summary>
        [<ApiMember(Description="The Twilio Region for the SIP endpoint")>]
        member val SipRegion:TwilioSipRegions = new TwilioSipRegions() with get,set

        ///<summary>
        ///The Twilio Sid of the credentials for Sip
        ///</summary>
        [<ApiMember(Description="The Twilio Sid of the credentials for Sip")>]
        member val SipCredentialSid:String = null with get,set

        ///<summary>
        ///The Twilio SIP user name
        ///</summary>
        [<ApiMember(Description="The Twilio SIP user name")>]
        member val SipUserName:String = null with get,set

        ///<summary>
        ///The Twilio SIP password
        ///</summary>
        [<ApiMember(Description="The Twilio SIP password")>]
        member val SipPassword:String = null with get,set

        ///<summary>
        ///The SIP domain
        ///</summary>
        [<ApiMember(Description="The SIP domain")>]
        member val SipDomain:String = null with get,set

        ///<summary>
        ///Is emergency calling enabled on this number?
        ///</summary>
        [<ApiMember(Description="Is emergency calling enabled on this number?")>]
        member val EnableEmergencyCalling:Boolean = new Boolean() with get,set

        ///<summary>
        ///The SID of the emergency address for this number
        ///</summary>
        [<ApiMember(Description="The SID of the emergency address for this number")>]
        member val EmergencyAddressSid:String = null with get,set

        ///<summary>
        ///The ID of the phone number to use for emergency dialing
        ///</summary>
        [<ApiMember(Description="The ID of the phone number to use for emergency dialing")>]
        member val EmergencyPhoneNumberId:String = null with get,set

        ///<summary>
        ///The current agent state of this user endpoint
        ///</summary>
        [<ApiMember(Description="The current agent state of this user endpoint")>]
        member val AgentState:AgentStates = new AgentStates() with get,set

        ///<summary>
        ///The current agent state reason of this user endpoint
        ///</summary>
        [<ApiMember(Description="The current agent state reason of this user endpoint")>]
        member val AgentStateReason:AgentStateReasons = new AgentStateReasons() with get,set

        ///<summary>
        ///The mode for this user
        ///</summary>
        [<ApiMember(Description="The mode for this user")>]
        member val UserMode:UserModes = new UserModes() with get,set

        ///<summary>
        ///The ID of the file to use for voicemail greeting
        ///</summary>
        [<ApiMember(Description="The ID of the file to use for voicemail greeting")>]
        member val VoicemailGreetingId:String = null with get,set

        ///<summary>
        ///The endpoint's data
        ///</summary>
        [<ApiMember(Description="The endpoint's data")>]
        member val Data:Struct = null with get,set

        ///<summary>
        ///The email address for email endpoints
        ///</summary>
        [<ApiMember(Description="The email address for email endpoints")>]
        member val EmailAddress:String = null with get,set

        ///<summary>
        ///The first name of the user (for user endpoints)
        ///</summary>
        [<ApiMember(Description="The first name of the user (for user endpoints)")>]
        member val UserFirstName:String = null with get,set

        ///<summary>
        ///The last name of the user (for user endpoints)
        ///</summary>
        [<ApiMember(Description="The last name of the user (for user endpoints)")>]
        member val UserLastName:String = null with get,set

        ///<summary>
        ///The URL of an image for this user's avatar
        ///</summary>
        [<ApiMember(Description="The URL of an image for this user's avatar")>]
        member val AvatarUrl:String = null with get,set

        ///<summary>
        ///Does this user have manager role?
        ///</summary>
        [<ApiMember(Description="Does this user have manager role?")>]
        member val ManagerRole:UserManagerRoles = new UserManagerRoles() with get,set

        ///<summary>
        ///The list of dashboard permissions for when the manager role is custom
        ///</summary>
        [<ApiMember(Description="The list of dashboard permissions for when the manager role is custom")>]
        member val DashboardPermissions:ResizeArray<DashboardPermissions> = new ResizeArray<DashboardPermissions>() with get,set

        ///<summary>
        ///The type of visibility this user has to their own fields
        ///</summary>
        [<ApiMember(Description="The type of visibility this user has to their own fields")>]
        member val MyFieldPermissions:UserDataFieldModes = new UserDataFieldModes() with get,set

        ///<summary>
        ///The type of visibility this user has to customer fields
        ///</summary>
        [<ApiMember(Description="The type of visibility this user has to customer fields")>]
        member val CustomerFieldPermissions:UserDataFieldModes = new UserDataFieldModes() with get,set

        ///<summary>
        ///The type of visibility this user has to other user fields
        ///</summary>
        [<ApiMember(Description="The type of visibility this user has to other user fields")>]
        member val OtherUserFieldPermissions:UserDataFieldModes = new UserDataFieldModes() with get,set

        ///<summary>
        ///The type of visibility this user has to other endpoint fields
        ///</summary>
        [<ApiMember(Description="The type of visibility this user has to other endpoint fields")>]
        member val OtherEndpointFieldPermissions:UserDataFieldModes = new UserDataFieldModes() with get,set

        ///<summary>
        ///The name of this endpoint (for bots etc.)
        ///</summary>
        [<ApiMember(Description="The name of this endpoint (for bots etc.)")>]
        member val Name:String = null with get,set

        ///<summary>
        ///The list of tags for this endpoint
        ///</summary>
        [<ApiMember(Description="The list of tags for this endpoint")>]
        member val Tags:ResizeArray<Tag> = new ResizeArray<Tag>() with get,set

        ///<summary>
        ///The list of action URLs
        ///</summary>
        [<ApiMember(Description="The list of action URLs")>]
        member val ActionUrls:ResizeArray<EndpointActionUrl> = new ResizeArray<EndpointActionUrl>() with get,set

        ///<summary>
        ///The list of members in this team
        ///</summary>
        [<ApiMember(Description="The list of members in this team")>]
        member val TeamMemberIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///Visibility of this user/team in contact lists
        ///</summary>
        [<ApiMember(Description="Visibility of this user/team in contact lists")>]
        member val ContactListVisibility:CustomerVisibility = new CustomerVisibility() with get,set

        ///<summary>
        ///The list of contacts personal to this user
        ///</summary>
        [<ApiMember(Description="The list of contacts personal to this user")>]
        member val Contacts:ResizeArray<EndpointContact> = new ResizeArray<EndpointContact>() with get,set

        ///<summary>
        ///The documo ID for this number
        ///</summary>
        [<ApiMember(Description="The documo ID for this number")>]
        member val DocumoId:String = null with get,set

        ///<summary>
        ///Integration data for this endpoint
        ///</summary>
        [<ApiMember(Description="Integration data for this endpoint")>]
        member val IntegrationData:EntityIntegrationData = null with get,set

        ///<summary>
        ///Settings for third party phone system
        ///</summary>
        [<ApiMember(Description="Settings for third party phone system")>]
        member val ThirdPartyPhoneSystemSettings:ThirdPartyPhoneSystemSettings = null with get,set

        ///<summary>
        ///Should this user override the parent customer's app settings
        ///</summary>
        [<ApiMember(Description="Should this user override the parent customer's app settings")>]
        member val OverrideAppSettings:Boolean = new Boolean() with get,set

        ///<summary>
        ///App / Portal settings for this user
        ///</summary>
        [<ApiMember(Description="App / Portal settings for this user")>]
        member val AppSettings:AppSettings = null with get,set

    ///<summary>
    ///Lists all endpoints
    ///</summary>
    [<Api(Description="Lists all endpoints")>]
    [<AllowNullLiteral>]
    type ListEndpoints() = 
        inherit ListRequest<EndpointInfo>()
        ///<summary>
        ///The IDs of the account whose endpoints you want to retrieve
        ///</summary>
        [<ApiMember(Description="The IDs of the account whose endpoints you want to retrieve")>]
        member val AccountIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///The IDs of the customers whose endpoints you want to retrieve
        ///</summary>
        [<ApiMember(Description="The IDs of the customers whose endpoints you want to retrieve")>]
        member val CustomerIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///The third party IDs of endpoints you want to retrieve
        ///</summary>
        [<ApiMember(Description="The third party IDs of endpoints you want to retrieve")>]
        member val ReferenceIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///If you want a shall parent customer filter (e.g. no deep children)
        ///</summary>
        [<ApiMember(Description="If you want a shall parent customer filter (e.g. no deep children)")>]
        member val ShallowParent:Boolean = new Boolean() with get,set

        ///<summary>
        ///The IDs of the flows whose endpoints you want to retrieve
        ///</summary>
        [<ApiMember(Description="The IDs of the flows whose endpoints you want to retrieve")>]
        member val FlowIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///The state where the specified flow IDs should be
        ///</summary>
        [<ApiMember(Description="The state where the specified flow IDs should be")>]
        member val FlowState:String = null with get,set

        ///<summary>
        ///The list of tag IDs to filter by (must contain all)
        ///</summary>
        [<ApiMember(Description="The list of tag IDs to filter by (must contain all)")>]
        member val TagIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///Filter by name
        ///</summary>
        [<ApiMember(Description="Filter by name")>]
        member val NameFilter:String = null with get,set

        ///<summary>
        ///Filter by phone number
        ///</summary>
        [<ApiMember(Description="Filter by phone number")>]
        member val PhoneNumberFilter:String = null with get,set

        ///<summary>
        ///Filter by type
        ///</summary>
        [<ApiMember(Description="Filter by type")>]
        member val Type:Nullable<EndpointTypes> = new Nullable<EndpointTypes>() with get,set

        ///<summary>
        ///Filter by types
        ///</summary>
        [<ApiMember(Description="Filter by types")>]
        member val Types:ResizeArray<EndpointTypes> = new ResizeArray<EndpointTypes>() with get,set

        ///<summary>
        ///Filter by user mode
        ///</summary>
        [<ApiMember(Description="Filter by user mode")>]
        member val UserMode:Nullable<UserModes> = new Nullable<UserModes>() with get,set

        ///<summary>
        ///Filters for any endpoint data fields. Format for each entry should be 'FieldName=Value'. We do not support numeric or boolean currently
        ///</summary>
        [<ApiMember(Description="Filters for any endpoint data fields. Format for each entry should be 'FieldName=Value'. We do not support numeric or boolean currently")>]
        member val DataFilters:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///Filter by SIP user name
        ///</summary>
        [<ApiMember(Description="Filter by SIP user name")>]
        member val SipUserName:String = null with get,set

        ///<summary>
        ///Filter by flow parameters (this must be a JSON struct)
        ///</summary>
        [<ApiMember(Description="Filter by flow parameters (this must be a JSON struct)")>]
        member val FlowParametersFilter:String = null with get,set

    type SortOrders =
        | Ascend = 0
        | Descend = 1

    [<AllowNullLiteral>]
    type ListRequest<'T>() = 
        interface IGet
        ///<summary>
        ///The page of data to retrieve
        ///</summary>
        [<ApiMember(Description="The page of data to retrieve")>]
        member val Page:Int32 = new Int32() with get,set

        ///<summary>
        ///If you want all objects to be returned. This should be used with care
        ///</summary>
        [<ApiMember(Description="If you want all objects to be returned. This should be used with care")>]
        member val All:Boolean = new Boolean() with get,set

        ///<summary>
        ///The number per page to retrieve
        ///</summary>
        [<ApiMember(Description="The number per page to retrieve")>]
        member val CountPerPage:Int32 = new Int32() with get,set

        ///<summary>
        ///Specific IDs
        ///</summary>
        [<ApiMember(Description="Specific IDs")>]
        member val SpecificIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///Specify a sort field
        ///</summary>
        [<ApiMember(Description="Specify a sort field")>]
        member val SortField:String = null with get,set

        ///<summary>
        ///Specify a sort order
        ///</summary>
        [<ApiMember(Description="Specify a sort order")>]
        member val SortOrder:SortOrders = new SortOrders() with get,set

        ///<summary>
        ///Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array
        ///</summary>
        [<ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array")>]
        member val SimplifiedPaging:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type BillingItem() = 
        member val BaseCost:Double = new Double() with get,set
        member val RawUnitMultiplier:Double = new Double() with get,set
        member val UnitCost:Double = new Double() with get,set
        member val Allowance:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BillingSettings() = 
        member val Base:BillingItem = null with get,set
        member val LocalNumbers:BillingItem = null with get,set
        member val TollFreeNumbers:BillingItem = null with get,set
        member val InboundVoiceCalls:BillingItem = null with get,set
        member val OutboundVoiceCalls:BillingItem = null with get,set
        member val InboundFaxes:BillingItem = null with get,set
        member val OutboundFaxes:BillingItem = null with get,set
        member val InboundSmsMessages:BillingItem = null with get,set
        member val OutboundSmsMessages:BillingItem = null with get,set

    [<AllowNullLiteral>]
    type AccountInfo() = 
        inherit EntityInfo()
        ///<summary>
        ///The name of this account
        ///</summary>
        [<ApiMember(Description="The name of this account")>]
        member val Name:String = null with get,set

        ///<summary>
        ///The ID of this account's parent
        ///</summary>
        [<ApiMember(Description="The ID of this account's parent")>]
        member val ParentAccountId:String = null with get,set

        ///<summary>
        ///The twilio account SID
        ///</summary>
        [<ApiMember(Description="The twilio account SID")>]
        member val TwilioAccountSid:String = null with get,set

        ///<summary>
        ///The ancestors of this account. Useful for breadcrumbs
        ///</summary>
        [<ApiMember(Description="The ancestors of this account. Useful for breadcrumbs")>]
        member val AncestorIds:ResizeArray<String> = new ResizeArray<String>() with get,set

        ///<summary>
        ///The max number of phone numbers this account can have
        ///</summary>
        [<ApiMember(Description="The max number of phone numbers this account can have")>]
        member val MaxPhoneNumbers:Int32 = new Int32() with get,set

        ///<summary>
        ///This account is BYOA
        ///</summary>
        [<ApiMember(Description="This account is BYOA")>]
        member val IsBYOA:Boolean = new Boolean() with get,set

        ///<summary>
        ///TrustHub Profile Sid
        ///</summary>
        [<ApiMember(Description="TrustHub Profile Sid")>]
        member val TrustHubProfileSid:String = null with get,set

        ///<summary>
        ///The ID of the logo file
        ///</summary>
        [<ApiMember(Description="The ID of the logo file")>]
        member val LogoId:String = null with get,set

        ///<summary>
        ///The URI of the logo file
        ///</summary>
        [<ApiMember(Description="The URI of the logo file")>]
        member val LogoUri:String = null with get,set

        ///<summary>
        ///The billing settings for this account
        ///</summary>
        [<ApiMember(Description="The billing settings for this account")>]
        member val BillingSettings:BillingSettings = null with get,set

    [<AllowNullLiteral>]
    type ListResponse<AccountInfo>() = 
        ///<summary>
        ///The items
        ///</summary>
        [<ApiMember(Description="The items")>]
        member val Items:ResizeArray<AccountInfo> = new ResizeArray<AccountInfo>() with get,set

        ///<summary>
        ///The total number of items
        ///</summary>
        [<ApiMember(Description="The total number of items")>]
        member val TotalCount:Int32 = new Int32() with get,set

        ///<summary>
        ///The total number of pages
        ///</summary>
        [<ApiMember(Description="The total number of pages")>]
        member val TotalPages:Int32 = new Int32() with get,set

        ///<summary>
        ///Are there more pages of items? Used with simplified paging
        ///</summary>
        [<ApiMember(Description="Are there more pages of items? Used with simplified paging")>]
        member val HasMorePages:Boolean = new Boolean() with get,set

F# 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}