Evo Voice

<back to all web services

ListSettingsObjects

Get all configurable settings objects for the authenticated user

Requires Authentication
Required role:User
The following routes are available for this service:
GET/app/settings-objects
namespace Voice.Api.App

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type SettingsObjectTypes =
        | Endpoint = 0
        | Customer = 1

    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

    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

    [<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> = new ResizeArray<Struct>() with get,set
        member val StructValue:Struct = null with get,set

    [<AllowNullLiteral>]
    type SettingsPossibleValue() = 
        member val DisplayName:String = null with get,set
        member val Value:Value = null with get,set

    type UIHints =
        | None = 0
        | LargeText = 1
        | InlineForm = 2
        | Password = 3
        | InlineStruct = 4

    [<AllowNullLiteral>]
    type DataType() = 
        member val TypeName:String = null with get,set
        member val Fields:ResizeArray<DataField> = new ResizeArray<DataField>() with get,set

    type DataFieldUniqueness =
        | NotUnique = 0
        | Unique = 1
        | UniqueToCustomer = 2

    type UserDataFieldModes =
        | Hidden = 0
        | ReadOnly = 1
        | ReadWrite = 2

    [<AllowNullLiteral>]
    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<String> = new ResizeArray<String>() 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

    [<AllowNullLiteral>]
    type SettingsField() = 
        member val Name:String = null with get,set
        member val DisplayName:String = null with get,set
        member val Type:ValueTypes = new ValueTypes() with get,set
        member val Value:Value = null with get,set
        member val ReadOnly:Boolean = new Boolean() with get,set
        member val PossibleValues:ResizeArray<SettingsPossibleValue> = new ResizeArray<SettingsPossibleValue>() with get,set
        member val DataField:DataField = null with get,set

    [<AllowNullLiteral>]
    type SettingsObject() = 
        member val Id:String = null with get,set
        member val Name:String = null with get,set
        member val Description:String = null with get,set
        member val ReadOnly:Boolean = new Boolean() with get,set
        member val Type:SettingsObjectTypes = new SettingsObjectTypes() with get,set
        member val EndpointType:Nullable<EndpointTypes> = new Nullable<EndpointTypes>() with get,set
        member val Fields:ResizeArray<SettingsField> = new ResizeArray<SettingsField>() with get,set

    [<AllowNullLiteral>]
    type ListSettingsObjectsResponse() = 
        member val SettingsObjects:ResizeArray<SettingsObject> = new ResizeArray<SettingsObject>() with get,set

    ///<summary>
    ///Get all configurable settings objects for the authenticated user
    ///</summary>
    [<Api(Description="Get all configurable settings objects for the authenticated user")>]
    [<AllowNullLiteral>]
    type ListSettingsObjects() = 
        interface IGet

F# ListSettingsObjects DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /app/settings-objects HTTP/1.1 
Host: evovoice.io 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	settingsObjects: 
	[
		{
			id: String,
			name: String,
			description: String,
			readOnly: False,
			type: Endpoint,
			endpointType: PhoneNumber,
			fields: 
			[
				{
					name: String,
					displayName: String,
					type: NotSpecified,
					value: 
					{
						boolValue: False,
						stringValue: String,
						numberValue: 0,
						listValue: 
						[
							{
								String: 
								{
									boolValue: False,
									stringValue: String,
									numberValue: 0,
									listValue: 
									[
										{
											String: 
											{
												boolValue: False,
												stringValue: String,
												numberValue: 0,
												listValue: 
												[
													{
														
													}
												],
												structValue: {}
											}
										}
									],
									structValue: 
									{
										String: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													
												}
											],
											structValue: {}
										}
									}
								}
							}
						],
						structValue: 
						{
							String: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									{
										String: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													
												}
											],
											structValue: {}
										}
									}
								],
								structValue: 
								{
									String: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											{
												
											}
										],
										structValue: {}
									}
								}
							}
						}
					},
					readOnly: False,
					possibleValues: 
					[
						{
							displayName: String,
							value: 
							{
								boolValue: False,
								stringValue: String,
								numberValue: 0,
								listValue: 
								[
									{
										String: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													String: 
													{
														boolValue: False,
														stringValue: String,
														numberValue: 0,
														listValue: 
														[
															{
																
															}
														],
														structValue: {}
													}
												}
											],
											structValue: 
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															
														}
													],
													structValue: {}
												}
											}
										}
									}
								],
								structValue: 
								{
									String: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															
														}
													],
													structValue: {}
												}
											}
										],
										structValue: 
										{
											String: 
											{
												boolValue: False,
												stringValue: String,
												numberValue: 0,
												listValue: 
												[
													{
														
													}
												],
												structValue: {}
											}
										}
									}
								}
							}
						}
					],
					dataField: 
					{
						id: String,
						name: String,
						type: NotSpecified,
						uiHint: None,
						uiTab: String,
						isAsync: False,
						disableBinding: False,
						structType: 
						{
							typeName: String,
							fields: 
							[
								{
									id: String,
									name: String,
									type: NotSpecified,
									uiHint: None,
									uiTab: String,
									isAsync: False,
									disableBinding: False,
									structType: 
									{
										typeName: String,
										fields: 
										[
											{
												id: String,
												name: String,
												type: NotSpecified,
												uiHint: None,
												uiTab: String,
												isAsync: False,
												disableBinding: False,
												structType: 
												{
													typeName: String,
													fields: 
													[
														{
															
														}
													]
												},
												listType: 
												{
													typeName: String,
													fields: 
													[
														{
															
														}
													]
												},
												description: String,
												possibleValues: 
												[
													String
												],
												isOutput: False,
												customFieldValuesUrl: String,
												defaultValue: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		String: 
																		{
																			boolValue: False,
																			stringValue: String,
																			numberValue: 0,
																			listValue: 
																			[
																				{
																					
																				}
																			],
																			structValue: {}
																		}
																	}
																],
																structValue: 
																{
																	String: 
																	{
																		boolValue: False,
																		stringValue: String,
																		numberValue: 0,
																		listValue: 
																		[
																			{
																				
																			}
																		],
																		structValue: {}
																	}
																}
															}
														}
													],
													structValue: 
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	String: 
																	{
																		boolValue: False,
																		stringValue: String,
																		numberValue: 0,
																		listValue: 
																		[
																			{
																				
																			}
																		],
																		structValue: {}
																	}
																}
															],
															structValue: 
															{
																String: 
																{
																	boolValue: False,
																	stringValue: String,
																	numberValue: 0,
																	listValue: 
																	[
																		{
																			
																		}
																	],
																	structValue: {}
																}
															}
														}
													}
												},
												transitionNameFormat: String,
												uniqueness: NotUnique,
												voiceOnly: False,
												conditionalVisibilityField: String,
												conditionalVisibilityValue: String,
												noEvalTemplate: False,
												userMode: Hidden,
												anyValueType: False
											}
										]
									},
									listType: 
									{
										typeName: String,
										fields: 
										[
											{
												id: String,
												name: String,
												type: NotSpecified,
												uiHint: None,
												uiTab: String,
												isAsync: False,
												disableBinding: False,
												structType: 
												{
													typeName: String,
													fields: 
													[
														{
															
														}
													]
												},
												listType: 
												{
													typeName: String,
													fields: 
													[
														{
															
														}
													]
												},
												description: String,
												possibleValues: 
												[
													String
												],
												isOutput: False,
												customFieldValuesUrl: String,
												defaultValue: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		String: 
																		{
																			boolValue: False,
																			stringValue: String,
																			numberValue: 0,
																			listValue: 
																			[
																				{
																					
																				}
																			],
																			structValue: {}
																		}
																	}
																],
																structValue: 
																{
																	String: 
																	{
																		boolValue: False,
																		stringValue: String,
																		numberValue: 0,
																		listValue: 
																		[
																			{
																				
																			}
																		],
																		structValue: {}
																	}
																}
															}
														}
													],
													structValue: 
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	String: 
																	{
																		boolValue: False,
																		stringValue: String,
																		numberValue: 0,
																		listValue: 
																		[
																			{
																				
																			}
																		],
																		structValue: {}
																	}
																}
															],
															structValue: 
															{
																String: 
																{
																	boolValue: False,
																	stringValue: String,
																	numberValue: 0,
																	listValue: 
																	[
																		{
																			
																		}
																	],
																	structValue: {}
																}
															}
														}
													}
												},
												transitionNameFormat: String,
												uniqueness: NotUnique,
												voiceOnly: False,
												conditionalVisibilityField: String,
												conditionalVisibilityValue: String,
												noEvalTemplate: False,
												userMode: Hidden,
												anyValueType: False
											}
										]
									},
									description: String,
									possibleValues: 
									[
										String
									],
									isOutput: False,
									customFieldValuesUrl: String,
									defaultValue: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		
																	}
																],
																structValue: {}
															}
														}
													],
													structValue: 
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	
																}
															],
															structValue: {}
														}
													}
												}
											}
										],
										structValue: 
										{
											String: 
											{
												boolValue: False,
												stringValue: String,
												numberValue: 0,
												listValue: 
												[
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	
																}
															],
															structValue: {}
														}
													}
												],
												structValue: 
												{
													String: 
													{
														boolValue: False,
														stringValue: String,
														numberValue: 0,
														listValue: 
														[
															{
																
															}
														],
														structValue: {}
													}
												}
											}
										}
									},
									transitionNameFormat: String,
									uniqueness: NotUnique,
									voiceOnly: False,
									conditionalVisibilityField: String,
									conditionalVisibilityValue: String,
									noEvalTemplate: False,
									userMode: Hidden,
									anyValueType: False
								}
							]
						},
						listType: 
						{
							typeName: String,
							fields: 
							[
								{
									id: String,
									name: String,
									type: NotSpecified,
									uiHint: None,
									uiTab: String,
									isAsync: False,
									disableBinding: False,
									structType: 
									{
										typeName: String,
										fields: 
										[
											{
												id: String,
												name: String,
												type: NotSpecified,
												uiHint: None,
												uiTab: String,
												isAsync: False,
												disableBinding: False,
												structType: 
												{
													typeName: String,
													fields: 
													[
														{
															
														}
													]
												},
												listType: 
												{
													typeName: String,
													fields: 
													[
														{
															
														}
													]
												},
												description: String,
												possibleValues: 
												[
													String
												],
												isOutput: False,
												customFieldValuesUrl: String,
												defaultValue: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		String: 
																		{
																			boolValue: False,
																			stringValue: String,
																			numberValue: 0,
																			listValue: 
																			[
																				{
																					
																				}
																			],
																			structValue: {}
																		}
																	}
																],
																structValue: 
																{
																	String: 
																	{
																		boolValue: False,
																		stringValue: String,
																		numberValue: 0,
																		listValue: 
																		[
																			{
																				
																			}
																		],
																		structValue: {}
																	}
																}
															}
														}
													],
													structValue: 
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	String: 
																	{
																		boolValue: False,
																		stringValue: String,
																		numberValue: 0,
																		listValue: 
																		[
																			{
																				
																			}
																		],
																		structValue: {}
																	}
																}
															],
															structValue: 
															{
																String: 
																{
																	boolValue: False,
																	stringValue: String,
																	numberValue: 0,
																	listValue: 
																	[
																		{
																			
																		}
																	],
																	structValue: {}
																}
															}
														}
													}
												},
												transitionNameFormat: String,
												uniqueness: NotUnique,
												voiceOnly: False,
												conditionalVisibilityField: String,
												conditionalVisibilityValue: String,
												noEvalTemplate: False,
												userMode: Hidden,
												anyValueType: False
											}
										]
									},
									listType: 
									{
										typeName: String,
										fields: 
										[
											{
												id: String,
												name: String,
												type: NotSpecified,
												uiHint: None,
												uiTab: String,
												isAsync: False,
												disableBinding: False,
												structType: 
												{
													typeName: String,
													fields: 
													[
														{
															
														}
													]
												},
												listType: 
												{
													typeName: String,
													fields: 
													[
														{
															
														}
													]
												},
												description: String,
												possibleValues: 
												[
													String
												],
												isOutput: False,
												customFieldValuesUrl: String,
												defaultValue: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		String: 
																		{
																			boolValue: False,
																			stringValue: String,
																			numberValue: 0,
																			listValue: 
																			[
																				{
																					
																				}
																			],
																			structValue: {}
																		}
																	}
																],
																structValue: 
																{
																	String: 
																	{
																		boolValue: False,
																		stringValue: String,
																		numberValue: 0,
																		listValue: 
																		[
																			{
																				
																			}
																		],
																		structValue: {}
																	}
																}
															}
														}
													],
													structValue: 
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	String: 
																	{
																		boolValue: False,
																		stringValue: String,
																		numberValue: 0,
																		listValue: 
																		[
																			{
																				
																			}
																		],
																		structValue: {}
																	}
																}
															],
															structValue: 
															{
																String: 
																{
																	boolValue: False,
																	stringValue: String,
																	numberValue: 0,
																	listValue: 
																	[
																		{
																			
																		}
																	],
																	structValue: {}
																}
															}
														}
													}
												},
												transitionNameFormat: String,
												uniqueness: NotUnique,
												voiceOnly: False,
												conditionalVisibilityField: String,
												conditionalVisibilityValue: String,
												noEvalTemplate: False,
												userMode: Hidden,
												anyValueType: False
											}
										]
									},
									description: String,
									possibleValues: 
									[
										String
									],
									isOutput: False,
									customFieldValuesUrl: String,
									defaultValue: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															String: 
															{
																boolValue: False,
																stringValue: String,
																numberValue: 0,
																listValue: 
																[
																	{
																		
																	}
																],
																structValue: {}
															}
														}
													],
													structValue: 
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	
																}
															],
															structValue: {}
														}
													}
												}
											}
										],
										structValue: 
										{
											String: 
											{
												boolValue: False,
												stringValue: String,
												numberValue: 0,
												listValue: 
												[
													{
														String: 
														{
															boolValue: False,
															stringValue: String,
															numberValue: 0,
															listValue: 
															[
																{
																	
																}
															],
															structValue: {}
														}
													}
												],
												structValue: 
												{
													String: 
													{
														boolValue: False,
														stringValue: String,
														numberValue: 0,
														listValue: 
														[
															{
																
															}
														],
														structValue: {}
													}
												}
											}
										}
									},
									transitionNameFormat: String,
									uniqueness: NotUnique,
									voiceOnly: False,
									conditionalVisibilityField: String,
									conditionalVisibilityValue: String,
									noEvalTemplate: False,
									userMode: Hidden,
									anyValueType: False
								}
							]
						},
						description: String,
						possibleValues: 
						[
							String
						],
						isOutput: False,
						customFieldValuesUrl: String,
						defaultValue: 
						{
							boolValue: False,
							stringValue: String,
							numberValue: 0,
							listValue: 
							[
								{
									String: 
									{
										boolValue: False,
										stringValue: String,
										numberValue: 0,
										listValue: 
										[
											{
												String: 
												{
													boolValue: False,
													stringValue: String,
													numberValue: 0,
													listValue: 
													[
														{
															
														}
													],
													structValue: {}
												}
											}
										],
										structValue: 
										{
											String: 
											{
												boolValue: False,
												stringValue: String,
												numberValue: 0,
												listValue: 
												[
													{
														
													}
												],
												structValue: {}
											}
										}
									}
								}
							],
							structValue: 
							{
								String: 
								{
									boolValue: False,
									stringValue: String,
									numberValue: 0,
									listValue: 
									[
										{
											String: 
											{
												boolValue: False,
												stringValue: String,
												numberValue: 0,
												listValue: 
												[
													{
														
													}
												],
												structValue: {}
											}
										}
									],
									structValue: 
									{
										String: 
										{
											boolValue: False,
											stringValue: String,
											numberValue: 0,
											listValue: 
											[
												{
													
												}
											],
											structValue: {}
										}
									}
								}
							}
						},
						transitionNameFormat: String,
						uniqueness: NotUnique,
						voiceOnly: False,
						conditionalVisibilityField: String,
						conditionalVisibilityValue: String,
						noEvalTemplate: False,
						userMode: Hidden,
						anyValueType: False
					}
				}
			]
		}
	]
}