/* Options: Date: 2025-05-04 22:17:41 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetFlow.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* /** * Get the specified flow */ @Route(Path="/flows/{flowId}", Verbs="GET") @Api(Description="Get the specified flow") open class GetFlow : IReturn, IGet { /** * the ID of the flow to retrieve */ @ApiMember(Description="the ID of the flow to retrieve") open var flowId:String? = null companion object { private val responseType = FlowInfo::class.java } override fun getResponseType(): Any? = GetFlow.responseType } open class FlowInfo : EntityInfo() { /** * The name of this flow */ @ApiMember(Description="The name of this flow") open var name:String? = null /** * The roles that this flow has */ @ApiMember(Description="The roles that this flow has") open var roles:ArrayList? = null /** * What this flow does */ @ApiMember(Description="What this flow does") open var description:String? = null /** * Any notes for this flow */ @ApiMember(Description="Any notes for this flow") open var notes:String? = null /** * The ID of the account associated with the flow */ @ApiMember(Description="The ID of the account associated with the flow") open var accountId:String? = null /** * The name of the account associated with the flow */ @ApiMember(Description="The name of the account associated with the flow") open var accountName:String? = null /** * The ID of the customer this flow is associated with */ @ApiMember(Description="The ID of the customer this flow is associated with") open var customerId:String? = null /** * The name of the customer this flow is associated with */ @ApiMember(Description="The name of the customer this flow is associated with") open var customerName:String? = null /** * The breadcrumb to the flow for this endpoint */ @ApiMember(Description="The breadcrumb to the flow for this endpoint") open var customerBreadcrumb:ArrayList? = null /** * The nodes in this flow */ @ApiMember(Description="The nodes in this flow") open var nodes:ArrayList? = null /** * The flow's parameters */ @ApiMember(Description="The flow's parameters") open var parameters:ArrayList? = null /** * The flow's exits */ @ApiMember(Description="The flow's exits") open var exits:ArrayList? = null /** * The UI data for the flow */ @ApiMember(Description="The UI data for the flow") open var ui:FlowUI? = null /** * The list of tags for this flow */ @ApiMember(Description="The list of tags for this flow") open var tags:ArrayList? = null /** * The number of nodes in this flow */ @ApiMember(Description="The number of nodes in this flow") open var nodeCount:Int? = null } open class Struct : HashMap() { } enum class UserDataFieldModes { Hidden, ReadOnly, ReadWrite, } enum class ValueTypes { NotSpecified, String, Boolean, Number, List, Struct, Transition, Custom, Date, AudioFile, TimeZoneId, PhoneNumber, User, Endpoint, Time, File, FaxNumber, EmailAccount, Customer, Flow, Team, FlowReference, Integration, Assistant, } enum class FlowRoles { Ui, Reference, PhoneNumberRouting, UserDialOut, FaxNumberRouting, } open class FlowNode { /** * The ID of this node. Must be unique within the flow but can be anything */ @ApiMember(Description="The ID of this node. Must be unique within the flow but can be anything") open var id:String? = null /** * Is this the starting node for the flow. Only one node can have this set */ @ApiMember(Description="Is this the starting node for the flow. Only one node can have this set") open var isStartNode:Boolean? = null /** * The name of the node, descriptive to be used as a reminder in the GUI */ @ApiMember(Description="The name of the node, descriptive to be used as a reminder in the GUI") open var name:String? = null /** * The specification for the node */ @ApiMember(Description="The specification for the node") open var spec:FlowNodeSpec? = null /** * The UI data for the node */ @ApiMember(Description="The UI data for the node") open var ui:FlowNodeUI? = null /** * The data for this node. These will be POST'd to the endpoint when it is called. */ @ApiMember(Description="The data for this node. These will be POST'd to the endpoint when it is called.") open var parameters:NodeParameterMap? = null } open class FlowExit { /** * The unique ID for this exit */ @ApiMember(Description="The unique ID for this exit") open var id:String? = null /** * The name of this exit */ @ApiMember(Description="The name of this exit") open var name:String? = null /** * The UI for the exit */ @ApiMember(Description="The UI for the exit") open var ui:FlowNodeUI? = null } open class FlowParameter : DataField() { open var isPublic:Boolean? = null open var isKnob:Boolean? = null } open class FlowUI { open var selectedNode:String? = null open var canvasX:Double? = null open var canvasY:Double? = null open var canvasZoom:Double? = null } enum class FlowChannels { Voice, Chat, Fax, } open class Tag { open var id:String? = null open var name:String? = null open var color:TagColors? = null } open class EntityInfo { /** * The ID of the object */ @ApiMember(Description="The ID of the object") open var id:String? = null /** * The date the object was created */ @ApiMember(Description="The date the object was created") open var dateCreated:String? = null /** * The date the object was last modified */ @ApiMember(Description="The date the object was last modified") open var dateLastModified:String? = null /** * The user that created this object */ @ApiMember(Description="The user that created this object") open var createdBy:String? = null /** * The user that last modified this object */ @ApiMember(Description="The user that last modified this object") open var lastModifiedBy:String? = null } open class CustomerBreadcrumb { open var id:String? = null open var name:String? = null } open class FlowNodeSpec { /** * The name of this node */ @ApiMember(Description="The name of this node") open var name:String? = null /** * A description of this node */ @ApiMember(Description="A description of this node") open var description:String? = null /** * Icon class for this node (FontAwesome) */ @ApiMember(Description="Icon class for this node (FontAwesome)") open var iconClass:String? = null /** * The type name for this node */ @ApiMember(Description="The type name for this node") open var typeName:String? = null /** * The category this node should be grouped under */ @ApiMember(Description="The category this node should be grouped under") open var category:FlowNodeCategories? = null /** * The URL where this node is located */ @ApiMember(Description="The URL where this node is located") open var url:String? = null /** * The data type for this node */ @ApiMember(Description="The data type for this node") open var dataType:DataType? = null /** * URL for documentation for this node */ @ApiMember(Description="URL for documentation for this node") open var documentationUrl:String? = null /** * The channels that this node is restricted to */ @ApiMember(Description="The channels that this node is restricted to") open var restrictToChannels:ArrayList? = null } open class DataType { open var typeName:String? = null open var fields:ArrayList? = null } open class Value { open var boolValue:Boolean? = null open var stringValue:String? = null open var numberValue:Double? = null open var listValue:ArrayList? = null open var structValue:Struct? = null } open class FlowNodeUI { /** * The X position of the node */ @ApiMember(Description="The X position of the node") open var x:Double? = null /** * The Y position of the node */ @ApiMember(Description="The Y position of the node") open var y:Double? = null /** * Notes for this node */ @ApiMember(Description="Notes for this node") open var notes:String? = null } enum class UIHints { None, LargeText, InlineForm, Password, InlineStruct, } enum class DataFieldUniqueness { NotUnique, Unique, UniqueToCustomer, } open class DataField { open var id:String? = null open var name:String? = null @SerializedName("type") open var Type:ValueTypes? = null open var uiHint:UIHints? = null open var uiTab:String? = null open var isAsync:Boolean? = null open var disableBinding:Boolean? = null open var structType:DataType? = null open var listType:DataType? = null open var description:String? = null open var possibleValues:ArrayList? = null open var isOutput:Boolean? = null open var customFieldValuesUrl:String? = null open var defaultValue:Value? = null open var transitionNameFormat:String? = null open var uniqueness:DataFieldUniqueness? = null open var voiceOnly:Boolean? = null open var conditionalVisibilityField:String? = null open var conditionalVisibilityValue:String? = null open var noEvalTemplate:Boolean? = null open var userMode:UserDataFieldModes? = null open var anyValueType:Boolean? = null } enum class TagColors { Magenta, Red, Volcano, Orange, Gold, Lime, Green, Cyan, Blue, GeekBlue, Purple, } enum class FlowNodeCategories { General, Voice, Logic, DateAndTime, Audio, Messaging, Assistant, Flows, Fax, Network, Cookies, CallCenter, Intelligence, }