Requires any of the roles: | SystemAdministrator, Manager, Customer |
GET | /flows |
---|
"use strict";
/** @typedef {'Ascend'|'Descend'} */
export var SortOrders;
(function (SortOrders) {
SortOrders["Ascend"] = "Ascend"
SortOrders["Descend"] = "Descend"
})(SortOrders || (SortOrders = {}));
/** @typedef T {any} */
export class ListRequest {
/** @param {{page?:number,all?:boolean,countPerPage?:number,specificIds?:string[],sortField?:string,sortOrder?:SortOrders,simplifiedPaging?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The page of data to retrieve */
page;
/**
* @type {boolean}
* @description If you want all objects to be returned. This should be used with care */
all;
/**
* @type {number}
* @description The number per page to retrieve */
countPerPage;
/**
* @type {string[]}
* @description Specific IDs */
specificIds;
/**
* @type {string}
* @description Specify a sort field */
sortField;
/**
* @type {SortOrders}
* @description Specify a sort order */
sortOrder;
/**
* @type {boolean}
* @description Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array */
simplifiedPaging;
}
export class EntityInfo {
/** @param {{id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The ID of the object */
id;
/**
* @type {string}
* @description The date the object was created */
dateCreated;
/**
* @type {string}
* @description The date the object was last modified */
dateLastModified;
/**
* @type {string}
* @description The user that created this object */
createdBy;
/**
* @type {string}
* @description The user that last modified this object */
lastModifiedBy;
}
/** @typedef {'UI'|'Reference'|'PhoneNumberRouting'|'UserDialOut'|'FaxNumberRouting'} */
export var FlowRoles;
(function (FlowRoles) {
FlowRoles["UI"] = "UI"
FlowRoles["Reference"] = "Reference"
FlowRoles["PhoneNumberRouting"] = "PhoneNumberRouting"
FlowRoles["UserDialOut"] = "UserDialOut"
FlowRoles["FaxNumberRouting"] = "FaxNumberRouting"
})(FlowRoles || (FlowRoles = {}));
export class CustomerBreadcrumb {
/** @param {{id?:string,name?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
name;
}
/** @typedef {'General'|'Voice'|'Logic'|'DateAndTime'|'Audio'|'Messaging'|'Assistant'|'Flows'|'Fax'|'Network'|'Cookies'|'CallCenter'|'Intelligence'} */
export var FlowNodeCategories;
(function (FlowNodeCategories) {
FlowNodeCategories["General"] = "General"
FlowNodeCategories["Voice"] = "Voice"
FlowNodeCategories["Logic"] = "Logic"
FlowNodeCategories["DateAndTime"] = "DateAndTime"
FlowNodeCategories["Audio"] = "Audio"
FlowNodeCategories["Messaging"] = "Messaging"
FlowNodeCategories["Assistant"] = "Assistant"
FlowNodeCategories["Flows"] = "Flows"
FlowNodeCategories["Fax"] = "Fax"
FlowNodeCategories["Network"] = "Network"
FlowNodeCategories["Cookies"] = "Cookies"
FlowNodeCategories["CallCenter"] = "CallCenter"
FlowNodeCategories["Intelligence"] = "Intelligence"
})(FlowNodeCategories || (FlowNodeCategories = {}));
/** @typedef {'NotSpecified'|'String'|'Boolean'|'Number'|'List'|'Struct'|'Transition'|'Custom'|'Date'|'AudioFile'|'TimeZoneId'|'PhoneNumber'|'User'|'Endpoint'|'Time'|'File'|'FaxNumber'|'EmailAccount'|'Customer'|'Flow'|'Team'|'FlowReference'|'Integration'|'Assistant'} */
export var ValueTypes;
(function (ValueTypes) {
ValueTypes["NotSpecified"] = "NotSpecified"
ValueTypes["String"] = "String"
ValueTypes["Boolean"] = "Boolean"
ValueTypes["Number"] = "Number"
ValueTypes["List"] = "List"
ValueTypes["Struct"] = "Struct"
ValueTypes["Transition"] = "Transition"
ValueTypes["Custom"] = "Custom"
ValueTypes["Date"] = "Date"
ValueTypes["AudioFile"] = "AudioFile"
ValueTypes["TimeZoneId"] = "TimeZoneId"
ValueTypes["PhoneNumber"] = "PhoneNumber"
ValueTypes["User"] = "User"
ValueTypes["Endpoint"] = "Endpoint"
ValueTypes["Time"] = "Time"
ValueTypes["File"] = "File"
ValueTypes["FaxNumber"] = "FaxNumber"
ValueTypes["EmailAccount"] = "EmailAccount"
ValueTypes["Customer"] = "Customer"
ValueTypes["Flow"] = "Flow"
ValueTypes["Team"] = "Team"
ValueTypes["FlowReference"] = "FlowReference"
ValueTypes["Integration"] = "Integration"
ValueTypes["Assistant"] = "Assistant"
})(ValueTypes || (ValueTypes = {}));
/** @typedef {'None'|'LargeText'|'InlineForm'|'Password'|'InlineStruct'} */
export var UIHints;
(function (UIHints) {
UIHints["None"] = "None"
UIHints["LargeText"] = "LargeText"
UIHints["InlineForm"] = "InlineForm"
UIHints["Password"] = "Password"
UIHints["InlineStruct"] = "InlineStruct"
})(UIHints || (UIHints = {}));
class Dictionary {}
export class Struct extends Dictionary {
constructor(init) { super(init); Object.assign(this, init) }
}
export class Value {
/** @param {{boolValue?:boolean,stringValue?:string,numberValue?:number,listValue?:Struct[],structValue?:Struct}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?boolean} */
boolValue;
/** @type {string} */
stringValue;
/** @type {?number} */
numberValue;
/** @type {Struct[]} */
listValue;
/** @type {Struct} */
structValue;
}
/** @typedef {'NotUnique'|'Unique'|'UniqueToCustomer'} */
export var DataFieldUniqueness;
(function (DataFieldUniqueness) {
DataFieldUniqueness["NotUnique"] = "NotUnique"
DataFieldUniqueness["Unique"] = "Unique"
DataFieldUniqueness["UniqueToCustomer"] = "UniqueToCustomer"
})(DataFieldUniqueness || (DataFieldUniqueness = {}));
/** @typedef {'Hidden'|'ReadOnly'|'ReadWrite'} */
export var UserDataFieldModes;
(function (UserDataFieldModes) {
UserDataFieldModes["Hidden"] = "Hidden"
UserDataFieldModes["ReadOnly"] = "ReadOnly"
UserDataFieldModes["ReadWrite"] = "ReadWrite"
})(UserDataFieldModes || (UserDataFieldModes = {}));
export class DataField {
/** @param {{id?:string,name?:string,type?:ValueTypes,uiHint?:UIHints,uiTab?:string,isAsync?:boolean,disableBinding?:boolean,structType?:DataType,listType?:DataType,description?:string,possibleValues?:string[],isOutput?:boolean,customFieldValuesUrl?:string,defaultValue?:Value,transitionNameFormat?:string,uniqueness?:DataFieldUniqueness,voiceOnly?:boolean,conditionalVisibilityField?:string,conditionalVisibilityValue?:string,noEvalTemplate?:boolean,userMode?:UserDataFieldModes,anyValueType?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
name;
/** @type {ValueTypes} */
type;
/** @type {UIHints} */
uiHint;
/** @type {string} */
uiTab;
/** @type {boolean} */
isAsync;
/** @type {boolean} */
disableBinding;
/** @type {DataType} */
structType;
/** @type {DataType} */
listType;
/** @type {string} */
description;
/** @type {string[]} */
possibleValues;
/** @type {boolean} */
isOutput;
/** @type {string} */
customFieldValuesUrl;
/** @type {Value} */
defaultValue;
/** @type {string} */
transitionNameFormat;
/** @type {DataFieldUniqueness} */
uniqueness;
/** @type {boolean} */
voiceOnly;
/** @type {string} */
conditionalVisibilityField;
/** @type {string} */
conditionalVisibilityValue;
/** @type {boolean} */
noEvalTemplate;
/** @type {UserDataFieldModes} */
userMode;
/** @type {boolean} */
anyValueType;
}
export class DataType {
/** @param {{typeName?:string,fields?:DataField[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
typeName;
/** @type {DataField[]} */
fields;
}
/** @typedef {'Voice'|'Chat'|'Fax'} */
export var FlowChannels;
(function (FlowChannels) {
FlowChannels["Voice"] = "Voice"
FlowChannels["Chat"] = "Chat"
FlowChannels["Fax"] = "Fax"
})(FlowChannels || (FlowChannels = {}));
export class FlowNodeSpec {
/** @param {{name?:string,description?:string,iconClass?:string,typeName?:string,category?:FlowNodeCategories,url?:string,dataType?:DataType,documentationUrl?:string,restrictToChannels?:FlowChannels[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The name of this node */
name;
/**
* @type {string}
* @description A description of this node */
description;
/**
* @type {string}
* @description Icon class for this node (FontAwesome) */
iconClass;
/**
* @type {string}
* @description The type name for this node */
typeName;
/**
* @type {FlowNodeCategories}
* @description The category this node should be grouped under */
category;
/**
* @type {string}
* @description The URL where this node is located */
url;
/**
* @type {DataType}
* @description The data type for this node */
dataType;
/**
* @type {string}
* @description URL for documentation for this node */
documentationUrl;
/**
* @type {FlowChannels[]}
* @description The channels that this node is restricted to */
restrictToChannels;
}
export class FlowNodeUI {
/** @param {{x?:number,y?:number,notes?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {number}
* @description The X position of the node */
x;
/**
* @type {number}
* @description The Y position of the node */
y;
/**
* @type {string}
* @description Notes for this node */
notes;
}
/** @typedef {'Value'|'Flow'|'System'|'Customer'|'Session'|'Endpoint'|'Expression'|'User'} */
export var ValueSources;
(function (ValueSources) {
ValueSources["Value"] = "Value"
ValueSources["Flow"] = "Flow"
ValueSources["System"] = "System"
ValueSources["Customer"] = "Customer"
ValueSources["Session"] = "Session"
ValueSources["Endpoint"] = "Endpoint"
ValueSources["Expression"] = "Expression"
ValueSources["User"] = "User"
})(ValueSources || (ValueSources = {}));
export class NodeParameter {
/** @param {{id?:string,type?:ValueTypes,source?:ValueSources,isAsync?:boolean,referenceId?:string,value?:Value,noEvalTemplate?:boolean,listParameters?:NodeParameterMap[],structParameters?:NodeParameterMap,isOutput?:boolean,expression?:string,listType?:DataType}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {ValueTypes} */
type;
/** @type {ValueSources} */
source;
/** @type {boolean} */
isAsync;
/** @type {string} */
referenceId;
/** @type {Value} */
value;
/** @type {boolean} */
noEvalTemplate;
/** @type {NodeParameterMap[]} */
listParameters;
/** @type {NodeParameterMap} */
structParameters;
/** @type {boolean} */
isOutput;
/** @type {string} */
expression;
/** @type {DataType} */
listType;
}
export class NodeParameterMap extends Dictionary {
constructor(init) { super(init); Object.assign(this, init) }
}
export class FlowNode {
/** @param {{id?:string,isStartNode?:boolean,name?:string,spec?:FlowNodeSpec,ui?:FlowNodeUI,parameters?:NodeParameterMap}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The ID of this node. Must be unique within the flow but can be anything */
id;
/**
* @type {boolean}
* @description Is this the starting node for the flow. Only one node can have this set */
isStartNode;
/**
* @type {string}
* @description The name of the node, descriptive to be used as a reminder in the GUI */
name;
/**
* @type {FlowNodeSpec}
* @description The specification for the node */
spec;
/**
* @type {FlowNodeUI}
* @description The UI data for the node */
ui;
/**
* @type {NodeParameterMap}
* @description The data for this node. These will be POST'd to the endpoint when it is called. */
parameters;
}
export class FlowParameter extends DataField {
/** @param {{isPublic?:boolean,isKnob?:boolean,id?:string,name?:string,type?:ValueTypes,uiHint?:UIHints,uiTab?:string,isAsync?:boolean,disableBinding?:boolean,structType?:DataType,listType?:DataType,description?:string,possibleValues?:string[],isOutput?:boolean,customFieldValuesUrl?:string,defaultValue?:Value,transitionNameFormat?:string,uniqueness?:DataFieldUniqueness,voiceOnly?:boolean,conditionalVisibilityField?:string,conditionalVisibilityValue?:string,noEvalTemplate?:boolean,userMode?:UserDataFieldModes,anyValueType?:boolean}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {boolean} */
isPublic;
/** @type {boolean} */
isKnob;
}
export class FlowExit {
/** @param {{id?:string,name?:string,ui?:FlowNodeUI}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The unique ID for this exit */
id;
/**
* @type {string}
* @description The name of this exit */
name;
/**
* @type {FlowNodeUI}
* @description The UI for the exit */
ui;
}
export class FlowUI {
/** @param {{selectedNode?:string,canvasX?:number,canvasY?:number,canvasZoom?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
selectedNode;
/** @type {number} */
canvasX;
/** @type {number} */
canvasY;
/** @type {number} */
canvasZoom;
}
/** @typedef {'Magenta'|'Red'|'Volcano'|'Orange'|'Gold'|'Lime'|'Green'|'Cyan'|'Blue'|'GeekBlue'|'Purple'} */
export var TagColors;
(function (TagColors) {
TagColors["Magenta"] = "Magenta"
TagColors["Red"] = "Red"
TagColors["Volcano"] = "Volcano"
TagColors["Orange"] = "Orange"
TagColors["Gold"] = "Gold"
TagColors["Lime"] = "Lime"
TagColors["Green"] = "Green"
TagColors["Cyan"] = "Cyan"
TagColors["Blue"] = "Blue"
TagColors["GeekBlue"] = "GeekBlue"
TagColors["Purple"] = "Purple"
})(TagColors || (TagColors = {}));
export class Tag {
/** @param {{id?:string,name?:string,color?:TagColors}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
name;
/** @type {TagColors} */
color;
}
export class FlowInfo extends EntityInfo {
/** @param {{name?:string,roles?:FlowRoles[],description?:string,notes?:string,accountId?:string,accountName?:string,customerId?:string,customerName?:string,customerBreadcrumb?:CustomerBreadcrumb[],nodes?:FlowNode[],parameters?:FlowParameter[],exits?:FlowExit[],ui?:FlowUI,tags?:Tag[],nodeCount?:number,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {string}
* @description The name of this flow */
name;
/**
* @type {FlowRoles[]}
* @description The roles that this flow has */
roles;
/**
* @type {string}
* @description What this flow does */
description;
/**
* @type {string}
* @description Any notes for this flow */
notes;
/**
* @type {string}
* @description The ID of the account associated with the flow */
accountId;
/**
* @type {string}
* @description The name of the account associated with the flow */
accountName;
/**
* @type {string}
* @description The ID of the customer this flow is associated with */
customerId;
/**
* @type {string}
* @description The name of the customer this flow is associated with */
customerName;
/**
* @type {CustomerBreadcrumb[]}
* @description The breadcrumb to the flow for this endpoint */
customerBreadcrumb;
/**
* @type {FlowNode[]}
* @description The nodes in this flow */
nodes;
/**
* @type {FlowParameter[]}
* @description The flow's parameters */
parameters;
/**
* @type {FlowExit[]}
* @description The flow's exits */
exits;
/**
* @type {FlowUI}
* @description The UI data for the flow */
ui;
/**
* @type {Tag[]}
* @description The list of tags for this flow */
tags;
/**
* @type {number}
* @description The number of nodes in this flow */
nodeCount;
}
export class ListFlows extends ListRequest {
/** @param {{accountIds?:string[],customerIds?:string[],nameFilter?:string,tagIds?:string[],role?:FlowRoles,includeNodes?:boolean,nodeTypeFilter?:string,page?:number,all?:boolean,countPerPage?:number,specificIds?:string[],sortField?:string,sortOrder?:SortOrders,simplifiedPaging?:boolean}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {string[]}
* @description Filter by accounts */
accountIds;
/**
* @type {string[]}
* @description The IDs of the customers whose flows you want to retrieve */
customerIds;
/**
* @type {string}
* @description Filter by name */
nameFilter;
/**
* @type {string[]}
* @description The list of tag IDs to filter by (must contain all) */
tagIds;
/**
* @type {?FlowRoles}
* @description List flows by specific role */
role;
/**
* @type {boolean}
* @description Exclude nodes */
includeNodes;
/**
* @type {string}
* @description Node Type Filter */
nodeTypeFilter;
}
export class BillingItem {
/** @param {{baseCost?:number,rawUnitMultiplier?:number,unitCost?:number,allowance?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
baseCost;
/** @type {number} */
rawUnitMultiplier;
/** @type {number} */
unitCost;
/** @type {number} */
allowance;
}
export class BillingSettings {
/** @param {{base?:BillingItem,localNumbers?:BillingItem,tollFreeNumbers?:BillingItem,inboundVoiceCalls?:BillingItem,outboundVoiceCalls?:BillingItem,inboundFaxes?:BillingItem,outboundFaxes?:BillingItem,inboundSmsMessages?:BillingItem,outboundSmsMessages?:BillingItem,aiInsights?:BillingItem,aiLiveMinutes?:BillingItem}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {BillingItem} */
base;
/** @type {BillingItem} */
localNumbers;
/** @type {BillingItem} */
tollFreeNumbers;
/** @type {BillingItem} */
inboundVoiceCalls;
/** @type {BillingItem} */
outboundVoiceCalls;
/** @type {BillingItem} */
inboundFaxes;
/** @type {BillingItem} */
outboundFaxes;
/** @type {BillingItem} */
inboundSmsMessages;
/** @type {BillingItem} */
outboundSmsMessages;
/** @type {BillingItem} */
aiInsights;
/** @type {BillingItem} */
aiLiveMinutes;
}
export class AccountInfo extends EntityInfo {
/** @param {{name?:string,parentAccountId?:string,twilioAccountSid?:string,ancestorIds?:string[],maxPhoneNumbers?:number,isBYOA?:boolean,trustHubProfileSid?:string,logoId?:string,logoUri?:string,billingSettings?:BillingSettings,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {string}
* @description The name of this account */
name;
/**
* @type {string}
* @description The ID of this account's parent */
parentAccountId;
/**
* @type {string}
* @description The twilio account SID */
twilioAccountSid;
/**
* @type {string[]}
* @description The ancestors of this account. Useful for breadcrumbs */
ancestorIds;
/**
* @type {number}
* @description The max number of phone numbers this account can have */
maxPhoneNumbers;
/**
* @type {boolean}
* @description This account is BYOA */
isBYOA;
/**
* @type {string}
* @description TrustHub Profile Sid */
trustHubProfileSid;
/**
* @type {string}
* @description The ID of the logo file */
logoId;
/**
* @type {string}
* @description The URI of the logo file */
logoUri;
/**
* @type {BillingSettings}
* @description The billing settings for this account */
billingSettings;
}
/** @typedef T {any} */
export class ListResponse {
/** @param {{items?:AccountInfo[],totalCount?:number,totalPages?:number,hasMorePages?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {AccountInfo[]}
* @description The items */
items;
/**
* @type {number}
* @description The total number of items */
totalCount;
/**
* @type {number}
* @description The total number of pages */
totalPages;
/**
* @type {boolean}
* @description Are there more pages of items? Used with simplified paging */
hasMorePages;
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /flows HTTP/1.1 Host: team.evovoice.io Accept: application/xml
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ListResponseOfFlowInfoM153aFo_P xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api"> <HasMorePages>false</HasMorePages> <Items xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Flows"> <d2p1:FlowInfo> <CreatedBy>String</CreatedBy> <DateCreated>String</DateCreated> <DateLastModified>String</DateLastModified> <Id>String</Id> <LastModifiedBy>String</LastModifiedBy> <d2p1:AccountId>String</d2p1:AccountId> <d2p1:AccountName>String</d2p1:AccountName> <d2p1:CustomerBreadcrumb xmlns:d4p1="http://schemas.datacontract.org/2004/07/Voice.Api.Customers"> <d4p1:CustomerBreadcrumb> <d4p1:Id>String</d4p1:Id> <d4p1:Name>String</d4p1:Name> </d4p1:CustomerBreadcrumb> </d2p1:CustomerBreadcrumb> <d2p1:CustomerId>String</d2p1:CustomerId> <d2p1:CustomerName>String</d2p1:CustomerName> <d2p1:Description>String</d2p1:Description> <d2p1:Exits> <d2p1:FlowExit> <d2p1:Id>String</d2p1:Id> <d2p1:Name>String</d2p1:Name> <d2p1:UI> <d2p1:Notes>String</d2p1:Notes> <d2p1:X>0</d2p1:X> <d2p1:Y>0</d2p1:Y> </d2p1:UI> </d2p1:FlowExit> </d2p1:Exits> <d2p1:Name>String</d2p1:Name> <d2p1:NodeCount>0</d2p1:NodeCount> <d2p1:Nodes> <d2p1:FlowNode> <d2p1:Id>String</d2p1:Id> <d2p1:IsStartNode>false</d2p1:IsStartNode> <d2p1:Name>String</d2p1:Name> <d2p1:Parameters xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d6p1:KeyValueOfstringNodeParameteripFhVFNS> <d6p1:Key>String</d6p1:Key> <d6p1:Value i:nil="true" /> </d6p1:KeyValueOfstringNodeParameteripFhVFNS> </d2p1:Parameters> <d2p1:Spec> <d2p1:Category>General</d2p1:Category> <d2p1:DataType xmlns:d7p1="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data" i:nil="true" /> <d2p1:Description>String</d2p1:Description> <d2p1:DocumentationUrl>String</d2p1:DocumentationUrl> <d2p1:IconClass>String</d2p1:IconClass> <d2p1:Name>String</d2p1:Name> <d2p1:RestrictToChannels> <d2p1:FlowChannels>Voice</d2p1:FlowChannels> </d2p1:RestrictToChannels> <d2p1:TypeName>String</d2p1:TypeName> <d2p1:Url>String</d2p1:Url> </d2p1:Spec> <d2p1:UI> <d2p1:Notes>String</d2p1:Notes> <d2p1:X>0</d2p1:X> <d2p1:Y>0</d2p1:Y> </d2p1:UI> </d2p1:FlowNode> </d2p1:Nodes> <d2p1:Notes>String</d2p1:Notes> <d2p1:Parameters> <d2p1:FlowParameter> <AnyValueType xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">false</AnyValueType> <ConditionalVisibilityField xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">String</ConditionalVisibilityField> <ConditionalVisibilityValue xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">String</ConditionalVisibilityValue> <CustomFieldValuesUrl xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">String</CustomFieldValuesUrl> <DefaultValue xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data"> <BoolValue>false</BoolValue> <ListValue xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d7p1:ArrayOfKeyValueOfstringValue8Ahp2kgT i:nil="true" /> </ListValue> <NumberValue>0</NumberValue> <StringValue>String</StringValue> <StructValue xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" /> </DefaultValue> <Description xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">String</Description> <DisableBinding xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">false</DisableBinding> <Id xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">String</Id> <IsAsync xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">false</IsAsync> <IsOutput xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">false</IsOutput> <ListType i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data" /> <Name xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">String</Name> <NoEvalTemplate xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">false</NoEvalTemplate> <PossibleValues xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data"> <d6p1:string>String</d6p1:string> </PossibleValues> <StructType i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data" /> <TransitionNameFormat xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">String</TransitionNameFormat> <Type xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">NotSpecified</Type> <UIHint xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">None</UIHint> <UITab xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">String</UITab> <Uniqueness xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">NotUnique</Uniqueness> <UserMode xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">Hidden</UserMode> <VoiceOnly xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Flows.Data">false</VoiceOnly> <d2p1:IsKnob>false</d2p1:IsKnob> <d2p1:IsPublic>false</d2p1:IsPublic> </d2p1:FlowParameter> </d2p1:Parameters> <d2p1:Roles> <d2p1:FlowRoles>UI</d2p1:FlowRoles> </d2p1:Roles> <d2p1:Tags xmlns:d4p1="http://schemas.datacontract.org/2004/07/Voice.Api.Settings"> <d4p1:Tag> <d4p1:Color>Magenta</d4p1:Color> <d4p1:Id>String</d4p1:Id> <d4p1:Name>String</d4p1:Name> </d4p1:Tag> </d2p1:Tags> <d2p1:UI> <d2p1:CanvasX>0</d2p1:CanvasX> <d2p1:CanvasY>0</d2p1:CanvasY> <d2p1:CanvasZoom>0</d2p1:CanvasZoom> <d2p1:SelectedNode>String</d2p1:SelectedNode> </d2p1:UI> </d2p1:FlowInfo> </Items> <TotalCount>0</TotalCount> <TotalPages>0</TotalPages> </ListResponseOfFlowInfoM153aFo_P>