(* Options: Date: 2025-05-04 22:44:22 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: GetFlow.* //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 Struct() = inherit Dictionary() [] type Value() = member val BoolValue:Nullable = new Nullable() with get,set member val StringValue:String = null with get,set member val NumberValue:Nullable = new Nullable() with get,set member val ListValue:ResizeArray = null with get,set member val StructValue:Struct = null with get,set type UserDataFieldModes = | Hidden = 0 | ReadOnly = 1 | ReadWrite = 2 type ValueTypes = | NotSpecified = 0 | String = 1 | Boolean = 2 | Number = 3 | List = 4 | Struct = 5 | Transition = 6 | Custom = 7 | Date = 8 | AudioFile = 9 | TimeZoneId = 10 | PhoneNumber = 11 | User = 12 | Endpoint = 13 | Time = 14 | File = 15 | FaxNumber = 16 | EmailAccount = 17 | Customer = 18 | Flow = 19 | Team = 20 | FlowReference = 21 | Integration = 22 | Assistant = 23 type FlowRoles = | UI = 0 | Reference = 1 | PhoneNumberRouting = 2 | UserDialOut = 3 | FaxNumberRouting = 4 type FlowNodeCategories = | General = 0 | Voice = 1 | Logic = 2 | DateAndTime = 3 | Audio = 4 | Messaging = 5 | Assistant = 6 | Flows = 7 | Fax = 8 | Network = 9 | Cookies = 10 | CallCenter = 11 | Intelligence = 12 type UIHints = | None = 0 | LargeText = 1 | InlineForm = 2 | Password = 3 | InlineStruct = 4 type DataFieldUniqueness = | NotUnique = 0 | Unique = 1 | UniqueToCustomer = 2 [] type DataField() = member val Id:String = null with get,set member val Name:String = null with get,set member val Type:ValueTypes = new ValueTypes() with get,set member val UIHint:UIHints = new UIHints() with get,set member val UITab:String = null with get,set member val IsAsync:Boolean = new Boolean() with get,set member val DisableBinding:Boolean = new Boolean() with get,set member val StructType:DataType = null with get,set member val ListType:DataType = null with get,set member val Description:String = null with get,set member val PossibleValues:ResizeArray = null with get,set member val IsOutput:Boolean = new Boolean() with get,set member val CustomFieldValuesUrl:String = null with get,set member val DefaultValue:Value = null with get,set member val TransitionNameFormat:String = null with get,set member val Uniqueness:DataFieldUniqueness = new DataFieldUniqueness() with get,set member val VoiceOnly:Boolean = new Boolean() with get,set member val ConditionalVisibilityField:String = null with get,set member val ConditionalVisibilityValue:String = null with get,set member val NoEvalTemplate:Boolean = new Boolean() with get,set member val UserMode:UserDataFieldModes = new UserDataFieldModes() with get,set member val AnyValueType:Boolean = new Boolean() with get,set [] type DataType() = member val TypeName:String = null with get,set member val Fields:ResizeArray = null with get,set type FlowChannels = | Voice = 0 | Chat = 1 | Fax = 2 [] type FlowNodeSpec() = /// ///The name of this node /// [] member val Name:String = null with get,set /// ///A description of this node /// [] member val Description:String = null with get,set /// ///Icon class for this node (FontAwesome) /// [] member val IconClass:String = null with get,set /// ///The type name for this node /// [] member val TypeName:String = null with get,set /// ///The category this node should be grouped under /// [] member val Category:FlowNodeCategories = new FlowNodeCategories() with get,set /// ///The URL where this node is located /// [] member val Url:String = null with get,set /// ///The data type for this node /// [] member val DataType:DataType = null with get,set /// ///URL for documentation for this node /// [] member val DocumentationUrl:String = null with get,set /// ///The channels that this node is restricted to /// [] member val RestrictToChannels:ResizeArray = null with get,set [] type FlowNodeUI() = /// ///The X position of the node /// [] member val X:Double = new Double() with get,set /// ///The Y position of the node /// [] member val Y:Double = new Double() with get,set /// ///Notes for this node /// [] member val Notes:String = null with get,set [] type FlowNode() = /// ///The ID of this node. Must be unique within the flow but can be anything /// [] member val Id:String = null with get,set /// ///Is this the starting node for the flow. Only one node can have this set /// [] member val IsStartNode:Boolean = new Boolean() with get,set /// ///The name of the node, descriptive to be used as a reminder in the GUI /// [] member val Name:String = null with get,set /// ///The specification for the node /// [] member val Spec:FlowNodeSpec = null with get,set /// ///The UI data for the node /// [] member val UI:FlowNodeUI = null with get,set /// ///The data for this node. These will be POST'd to the endpoint when it is called. /// [] member val Parameters:NodeParameterMap = null with get,set [] type FlowExit() = /// ///The unique ID for this exit /// [] member val Id:String = null with get,set /// ///The name of this exit /// [] member val Name:String = null with get,set /// ///The UI for the exit /// [] member val UI:FlowNodeUI = null with get,set [] type FlowParameter() = inherit DataField() member val IsPublic:Boolean = new Boolean() with get,set member val IsKnob:Boolean = new Boolean() with get,set [] type FlowUI() = member val SelectedNode:String = null with get,set member val CanvasX:Double = new Double() with get,set member val CanvasY:Double = new Double() with get,set member val CanvasZoom:Double = new Double() with get,set type TagColors = | Magenta = 0 | Red = 1 | Volcano = 2 | Orange = 3 | Gold = 4 | Lime = 5 | Green = 6 | Cyan = 7 | Blue = 8 | GeekBlue = 9 | Purple = 10 [] 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 EntityInfo() = /// ///The ID of the object /// [] member val Id:String = null with get,set /// ///The date the object was created /// [] member val DateCreated:String = null with get,set /// ///The date the object was last modified /// [] member val DateLastModified:String = null with get,set /// ///The user that created this object /// [] member val CreatedBy:String = null with get,set /// ///The user that last modified this object /// [] member val LastModifiedBy:String = null with get,set [] type CustomerBreadcrumb() = member val Id:String = null with get,set member val Name:String = null with get,set [] type FlowInfo() = inherit EntityInfo() /// ///The name of this flow /// [] member val Name:String = null with get,set /// ///The roles that this flow has /// [] member val Roles:ResizeArray = null with get,set /// ///What this flow does /// [] member val Description:String = null with get,set /// ///Any notes for this flow /// [] member val Notes:String = null with get,set /// ///The ID of the account associated with the flow /// [] member val AccountId:String = null with get,set /// ///The name of the account associated with the flow /// [] member val AccountName:String = null with get,set /// ///The ID of the customer this flow is associated with /// [] member val CustomerId:String = null with get,set /// ///The name of the customer this flow is associated with /// [] member val CustomerName:String = null with get,set /// ///The breadcrumb to the flow for this endpoint /// [] member val CustomerBreadcrumb:ResizeArray = null with get,set /// ///The nodes in this flow /// [] member val Nodes:ResizeArray = null with get,set /// ///The flow's parameters /// [] member val Parameters:ResizeArray = null with get,set /// ///The flow's exits /// [] member val Exits:ResizeArray = null with get,set /// ///The UI data for the flow /// [] member val UI:FlowUI = null with get,set /// ///The list of tags for this flow /// [] member val Tags:ResizeArray = null with get,set /// ///The number of nodes in this flow /// [] member val NodeCount:Int32 = new Int32() with get,set /// ///Get the specified flow /// [] [] [] type GetFlow() = interface IReturn interface IGet /// ///the ID of the flow to retrieve /// [] member val FlowId:String = null with get,set