Replace a trackers events
Replaces all events of a tracker with the passed list of events. This endpoint should not be used to modify trackers in a production setup, but rather for creating training data.
curl --request PUT \
--url 'http://localhost:5005/conversations/{conversation_id}/tracker/events?token=' \
--header 'Content-Type: application/json' \
--data '
[
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"anonymized_at": "<string>"
}
]
'import requests
url = "http://localhost:5005/conversations/{conversation_id}/tracker/events?token="
payload = [
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"anonymized_at": "<string>"
}
]
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify([
{
event: 'user',
timestamp: 1774447464.622012,
metadata: {
session_id: 'eed351b9-a996-4bb8-83ea-1d18e7cd4905',
model_id: '80687713793f4d07957e8e51f73df866',
assistant_id: 'my-assistant'
},
text: '<string>',
input_channel: '<string>',
message_id: '<string>',
anonymized_at: '<string>'
}
])
};
fetch('http://localhost:5005/conversations/{conversation_id}/tracker/events?token=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "5005",
CURLOPT_URL => "http://localhost:5005/conversations/{conversation_id}/tracker/events?token=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
[
'event' => 'user',
'timestamp' => 1774447464.622012,
'metadata' => [
'session_id' => 'eed351b9-a996-4bb8-83ea-1d18e7cd4905',
'model_id' => '80687713793f4d07957e8e51f73df866',
'assistant_id' => 'my-assistant'
],
'text' => '<string>',
'input_channel' => '<string>',
'message_id' => '<string>',
'anonymized_at' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:5005/conversations/{conversation_id}/tracker/events?token="
payload := strings.NewReader("[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("http://localhost:5005/conversations/{conversation_id}/tracker/events?token=")
.header("Content-Type", "application/json")
.body("[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:5005/conversations/{conversation_id}/tracker/events?token=")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"sender_id": "default",
"user_id": "usr_a1b2c3d4e5f6",
"current_session_id": "4b3c1e2a-91f0-4d8e-b123-abc123def456",
"slots": [
{
"slot_name": "slot_value"
}
],
"latest_message": {
"text": "Hello!",
"entities": [
{
"start": 123,
"end": 123,
"value": "<string>",
"entity": "<string>",
"confidence": 123
}
],
"intent": {
"confidence": 0.6323,
"name": "greet"
},
"intent_ranking": [
{
"confidence": 0.6323,
"name": "greet"
}
],
"message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
"metadata": {},
"commands": [
{
"command": "start flow",
"flow": "transfer_money"
}
],
"flows_from_semantic_search": [
[
"transfer_money"
]
],
"flows_in_prompt": [
"transfer_money"
]
},
"latest_event_time": 1537645578.314389,
"followup_action": "<string>",
"paused": false,
"stack": [
{
"frame_id": "8UJPHH5C",
"flow_id": "transfer_money",
"step_id": "START",
"frame_type": "regular",
"type": "flow"
}
],
"events": [
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"parse_data": {
"text": "Hello!",
"entities": [
{
"start": 123,
"end": 123,
"value": "<string>",
"entity": "<string>",
"confidence": 123
}
],
"intent": {
"confidence": 0.6323,
"name": "greet"
},
"intent_ranking": [
{
"confidence": 0.6323,
"name": "greet"
}
],
"message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
"metadata": {},
"commands": [
{
"command": "start flow",
"flow": "transfer_money"
}
],
"flows_from_semantic_search": [
[
"transfer_money"
]
],
"flows_in_prompt": [
"transfer_money"
]
},
"anonymized_at": "<string>"
}
],
"latest_input_channel": "rest",
"latest_action_name": "action_listen",
"latest_action": {
"action_name": "<string>",
"action_text": "<string>"
},
"active_loop": {
"name": "restaurant_form"
}
}{
"version": "1.0.0",
"status": "failure",
"reason": "BadRequest",
"code": 400
}{
"version": "1.0.0",
"status": "failure",
"reason": "NotAuthenticated",
"message": "User is not authenticated to access resource.",
"code": 401
}{
"version": "1.0.0",
"status": "failure",
"reason": "NotAuthorized",
"message": "User has insufficient permission to access resource.",
"code": 403
}{
"version": "1.0.0",
"status": "failure",
"reason": "Conflict",
"message": "The request conflicts with the currently loaded model.",
"code": 409
}{
"version": "1.0.0",
"status": "ServerError",
"message": "An unexpected error occurred.",
"code": 500
}Authorizations
A plaintext token to secure your server, specified at startup in the argument --auth-token thisismysecret
Path Parameters
Id of the conversation
Query Parameters
Specify which events of the tracker the response should contain.
-
ALL- every logged event. -
APPLIED- only events that contribute to the trackers state. This excludes reverted utterances and actions that got undone. -
AFTER_RESTART- all events since the lastrestartedevent. This includes utterances that got reverted and actions that got undone. -
NONE- no events.
ALL, APPLIED, AFTER_RESTART, NONE Body
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
- Option 18
- Option 19
- Option 20
- Option 21
- Option 22
- Option 23
- Option 24
- Option 25
- Option 26
Event for incoming user message.
Event name
user "user"
Unix timestamp (float) of when the event was applied.
1774447464.622012
Arbitrary metadata attached to the event by the channel or model, e.g. session_id, model_id, assistant_id, model_name.
{ "session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905", "model_id": "80687713793f4d07957e8e51f73df866", "assistant_id": "my-assistant" }
Text of user message.
NLU parser information. If set, message will not be passed through NLU, but instead this parsing information will be used.
Show child attributes
Show child attributes
ISO 8601 timestamp of when PII in this event was anonymized, or null if the event has not been anonymized.
Response
Success
Conversation tracker which stores the conversation state.
ID of the conversation
"default"
Optional identifier of the end user associated with this conversation. Omitted from serialized output when null.
"usr_a1b2c3d4e5f6"
Session ID derived from the metadata of the last stored event. null when the last event is ConversationInactive, indicating no active session.
"4b3c1e2a-91f0-4d8e-b123-abc123def456"
Slot values
Show child attributes
Show child attributes
NLU parser information. If set, message will not be passed through NLU, but instead this parsing information will be used.
Show child attributes
Show child attributes
Most recent event time
1537645578.314389
Deterministic scheduled next action
Bot is paused
false
Event history
Event for incoming user message.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
- Option 18
- Option 19
- Option 20
- Option 21
- Option 22
- Option 23
- Option 24
- Option 25
- Option 26
Show child attributes
Show child attributes
Communication channel
"rest"
Name of last bot action
"action_listen"
Latest bot action.
Show child attributes
Show child attributes
Name of the active loop
Show child attributes
Show child attributes
curl --request PUT \
--url 'http://localhost:5005/conversations/{conversation_id}/tracker/events?token=' \
--header 'Content-Type: application/json' \
--data '
[
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"anonymized_at": "<string>"
}
]
'import requests
url = "http://localhost:5005/conversations/{conversation_id}/tracker/events?token="
payload = [
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"anonymized_at": "<string>"
}
]
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify([
{
event: 'user',
timestamp: 1774447464.622012,
metadata: {
session_id: 'eed351b9-a996-4bb8-83ea-1d18e7cd4905',
model_id: '80687713793f4d07957e8e51f73df866',
assistant_id: 'my-assistant'
},
text: '<string>',
input_channel: '<string>',
message_id: '<string>',
anonymized_at: '<string>'
}
])
};
fetch('http://localhost:5005/conversations/{conversation_id}/tracker/events?token=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "5005",
CURLOPT_URL => "http://localhost:5005/conversations/{conversation_id}/tracker/events?token=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
[
'event' => 'user',
'timestamp' => 1774447464.622012,
'metadata' => [
'session_id' => 'eed351b9-a996-4bb8-83ea-1d18e7cd4905',
'model_id' => '80687713793f4d07957e8e51f73df866',
'assistant_id' => 'my-assistant'
],
'text' => '<string>',
'input_channel' => '<string>',
'message_id' => '<string>',
'anonymized_at' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:5005/conversations/{conversation_id}/tracker/events?token="
payload := strings.NewReader("[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("http://localhost:5005/conversations/{conversation_id}/tracker/events?token=")
.header("Content-Type", "application/json")
.body("[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:5005/conversations/{conversation_id}/tracker/events?token=")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"sender_id": "default",
"user_id": "usr_a1b2c3d4e5f6",
"current_session_id": "4b3c1e2a-91f0-4d8e-b123-abc123def456",
"slots": [
{
"slot_name": "slot_value"
}
],
"latest_message": {
"text": "Hello!",
"entities": [
{
"start": 123,
"end": 123,
"value": "<string>",
"entity": "<string>",
"confidence": 123
}
],
"intent": {
"confidence": 0.6323,
"name": "greet"
},
"intent_ranking": [
{
"confidence": 0.6323,
"name": "greet"
}
],
"message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
"metadata": {},
"commands": [
{
"command": "start flow",
"flow": "transfer_money"
}
],
"flows_from_semantic_search": [
[
"transfer_money"
]
],
"flows_in_prompt": [
"transfer_money"
]
},
"latest_event_time": 1537645578.314389,
"followup_action": "<string>",
"paused": false,
"stack": [
{
"frame_id": "8UJPHH5C",
"flow_id": "transfer_money",
"step_id": "START",
"frame_type": "regular",
"type": "flow"
}
],
"events": [
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"parse_data": {
"text": "Hello!",
"entities": [
{
"start": 123,
"end": 123,
"value": "<string>",
"entity": "<string>",
"confidence": 123
}
],
"intent": {
"confidence": 0.6323,
"name": "greet"
},
"intent_ranking": [
{
"confidence": 0.6323,
"name": "greet"
}
],
"message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
"metadata": {},
"commands": [
{
"command": "start flow",
"flow": "transfer_money"
}
],
"flows_from_semantic_search": [
[
"transfer_money"
]
],
"flows_in_prompt": [
"transfer_money"
]
},
"anonymized_at": "<string>"
}
],
"latest_input_channel": "rest",
"latest_action_name": "action_listen",
"latest_action": {
"action_name": "<string>",
"action_text": "<string>"
},
"active_loop": {
"name": "restaurant_form"
}
}{
"version": "1.0.0",
"status": "failure",
"reason": "BadRequest",
"code": 400
}{
"version": "1.0.0",
"status": "failure",
"reason": "NotAuthenticated",
"message": "User is not authenticated to access resource.",
"code": 401
}{
"version": "1.0.0",
"status": "failure",
"reason": "NotAuthorized",
"message": "User has insufficient permission to access resource.",
"code": 403
}{
"version": "1.0.0",
"status": "failure",
"reason": "Conflict",
"message": "The request conflicts with the currently loaded model.",
"code": 409
}{
"version": "1.0.0",
"status": "ServerError",
"message": "An unexpected error occurred.",
"code": 500
}