(* Options: Date: 2025-05-04 23:30:24 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: AppGetFlows.* //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 SortOrders = | Ascend = 0 | Descend = 1 [] type ListRequest() = interface IGet /// ///The page of data to retrieve /// [] member val Page:Int32 = new Int32() with get,set /// ///If you want all objects to be returned. This should be used with care /// [] member val All:Boolean = new Boolean() with get,set /// ///The number per page to retrieve /// [] member val CountPerPage:Int32 = new Int32() with get,set /// ///Specific IDs /// [] member val SpecificIds:ResizeArray = null with get,set /// ///Specify a sort field /// [] member val SortField:String = null with get,set /// ///Specify a sort order /// [] member val SortOrder:SortOrders = new SortOrders() with get,set /// ///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 [] 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 [] type ListResponse() = /// ///The items /// [] member val Items:ResizeArray = null with get,set /// ///The total number of items /// [] member val TotalCount:Int32 = new Int32() with get,set /// ///The total number of pages /// [] member val TotalPages:Int32 = new Int32() with get,set /// ///Are there more pages of items? Used with simplified paging /// [] member val HasMorePages:Boolean = new Boolean() with get,set [] [] type AppGetFlows() = inherit ListRequest() interface IReturn> member val AccountId:String = null with get,set member val CustomerId:String = null with get,set member val NameFilter:String = null with get,set member val Role:Nullable = new Nullable() with get,set