| Requires the role: | SystemAdministrator |
| POST | /ai/sessions/{sessionId}/apply |
|---|
namespace Voice.Api
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type EntityInfo() =
///<summary>
///The ID of the object
///</summary>
[<ApiMember(Description="The ID of the object")>]
member val Id:String = null with get,set
///<summary>
///The date the object was created
///</summary>
[<ApiMember(Description="The date the object was created")>]
member val DateCreated:String = null with get,set
///<summary>
///The date the object was last modified
///</summary>
[<ApiMember(Description="The date the object was last modified")>]
member val DateLastModified:String = null with get,set
///<summary>
///The user that created this object
///</summary>
[<ApiMember(Description="The user that created this object")>]
member val CreatedBy:String = null with get,set
///<summary>
///The user that last modified this object
///</summary>
[<ApiMember(Description="The user that last modified this object")>]
member val LastModifiedBy:String = null with get,set
[<AllowNullLiteral>]
type AISessionActionInfo() =
member val Date:String = null with get,set
member val Id:String = null with get,set
member val FunctionName:String = null with get,set
member val Arguments:String = null with get,set
member val Description:String = null with get,set
member val CanBeApplied:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type AISessionInfo() =
inherit EntityInfo()
///<summary>
///The ID of the account associated with this session
///</summary>
[<ApiMember(Description="The ID of the account associated with this session")>]
member val AccountId:String = null with get,set
///<summary>
///The name of the account associated with this customer
///</summary>
[<ApiMember(Description="The name of the account associated with this customer")>]
member val AccountName:String = null with get,set
///<summary>
///The purpose for this AI session
///</summary>
[<ApiMember(Description="The purpose for this AI session")>]
member val Purpose:String = null with get,set
///<summary>
///The actions performed in this session
///</summary>
[<ApiMember(Description="The actions performed in this session")>]
member val Actions:ResizeArray<AISessionActionInfo> = null with get,set
///<summary>
///Applies all changes for the specified session
///</summary>
[<Api(Description="Applies all changes for the specified session")>]
[<AllowNullLiteral>]
type ApplyAISession() =
interface IPost
///<summary>
///The ID of the session to apply
///</summary>
[<ApiMember(Description="The ID of the session to apply")>]
member val SessionId:String = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /ai/sessions/{sessionId}/apply HTTP/1.1
Host: evovoice.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
sessionId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
accountId: String,
accountName: String,
purpose: String,
actions:
[
{
date: String,
id: String,
functionName: String,
arguments: String,
description: String,
canBeApplied: False
}
],
id: String,
dateCreated: String,
dateLastModified: String,
createdBy: String,
lastModifiedBy: String
}