(* Options: Date: 2025-05-21 19:18:01 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: DeleteUserAvatar.* //ExcludeTypes: //InitializeCollections: False //AddNamespaces: *) namespace Voice.Api open System open System.IO open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations type ActionUrlHttpMethods = | GET = 0 | POST = 1 [<AllowNullLiteral>] type Struct() = inherit Dictionary<String, Value>() [<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> = null with get,set member val StructValue:Struct = 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 EnableAssistants: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 type UserModes = | SoftPhone = 0 | Sip = 1 | Flow = 2 | DataOnly = 3 | ThirdParty = 4 type EndpointFlowSchedules = | Always = 0 | Scheduled = 1 | Simple = 2 [<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 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 CustomerVisibility = | None = 0 | CurrentCustomer = 1 | CurrentAndChildCustomers = 2 [<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 [<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 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> = null with get,set member val DTMFMethod:DtmfMethods = new DtmfMethods() with get,set [<AllowNullLiteral>] type ThirdPartySipSettings() = member val Accounts:ResizeArray<ThirdPartySipAccountSettings> = null 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 type AssistantTunings = | Accuracy = 0 | Speed = 1 [<AllowNullLiteral>] type AssistantWord() = member val Word:String = null with get,set member val Pronounced:String = null with get,set [<AllowNullLiteral>] type AssistantLink() = member val Url:String = null with get,set member val Description:String = null with get,set type AssistantTransferTypes = | Blind = 0 | Supervised = 1 | MessagesOnly = 2 [<AllowNullLiteral>] type AssistantTakeMessageField() = member val Name:String = null with get,set member val Description:String = null with get,set member val Required:Boolean = new Boolean() with get,set [<AllowNullLiteral>] type AssistantContact() = member val Name:String = null with get,set member val PhoneNumber:String = null with get,set member val TransferType:AssistantTransferTypes = new AssistantTransferTypes() with get,set member val About:String = null with get,set member val EmailAddress:String = null with get,set member val TakeMessageFields:ResizeArray<AssistantTakeMessageField> = null with get,set [<AllowNullLiteral>] type AssistantIntegration() = member val Uri:String = null with get,set member val HttpMethod:String = null with get,set member val AuthToken:String = null with get,set [<AllowNullLiteral>] type AssistantSettings() = member val CompanyName:String = null with get,set member val Greeting:String = null with get,set member val CompanyInformation:String = null with get,set member val CustomPrompt:String = null with get,set member val Voice:String = null with get,set member val VoiceStyle:String = null with get,set member val Tuning:AssistantTunings = new AssistantTunings() with get,set member val Words:ResizeArray<AssistantWord> = null with get,set member val Links:ResizeArray<AssistantLink> = null with get,set member val Contacts:ResizeArray<AssistantContact> = null with get,set member val Integrations:ResizeArray<AssistantIntegration> = null with get,set [<AllowNullLiteral>] type EmbedSettings() = member val Enabled:Boolean = new Boolean() with get,set member val AllowedHosts: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 | Assistant = 10 type AgentStates = | Unknown = 0 | Ready = 1 | NotReady = 2 | LoggedOut = 3 | WrapUp = 4 | Outgoing = 5 | Other = 6 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 [<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 AgentStateReasons = | Unknown = 0 | SetByUser = 1 | MissedCall = 2 | SetBySystem = 3 [<AllowNullLiteral>] type IntegrationData() = member val ThirdPartyId:String = null with get,set [<AllowNullLiteral>] type EntityIntegrationData() = inherit Dictionary<String, IntegrationData>() [<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> = null with get,set member val DefaultState: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> = null 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> = null 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> = null 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> = null with get,set ///<summary> ///The list of action URLs ///</summary> [<ApiMember(Description="The list of action URLs")>] member val ActionUrls:ResizeArray<EndpointActionUrl> = null 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> = null 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> = null 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> ///Configuration for the AI assistant ///</summary> [<ApiMember(Description="Configuration for the AI assistant")>] member val AssistantSettings:AssistantSettings = null with get,set ///<summary> ///Configuration for the embed ///</summary> [<ApiMember(Description="Configuration for the embed")>] member val EmbedSettings:EmbedSettings = null with get,set ///<summary> ///Deletes the avatar for this endpoint. ///</summary> [<Route("/endpoints/{endpointId}/avatar", "DELETE")>] [<Api(Description="Deletes the avatar for this endpoint.")>] [<AllowNullLiteral>] type DeleteUserAvatar() = interface IReturn<EndpointInfo> ///<summary> ///The ID of the endpoint ///</summary> [<ApiMember(Description="The ID of the endpoint")>] member val EndpointId:String = null with get,set