Tracker
Retrieve an end-to-end story corresponding to a conversation
The story represents the whole conversation in end-to-end format. This can be posted to the ‘/test/stories’ endpoint and used as a test.
GET
/
conversations
/
{conversation_id}
/
story
Retrieve an end-to-end story corresponding to a conversation
curl --request GET \
--url 'http://localhost:5005/conversations/{conversation_id}/story?token='import requests
url = "http://localhost:5005/conversations/{conversation_id}/story?token="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:5005/conversations/{conversation_id}/story?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}/story?token=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://localhost:5005/conversations/{conversation_id}/story?token="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://localhost:5005/conversations/{conversation_id}/story?token=")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:5005/conversations/{conversation_id}/story?token=")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body"- story: story_00055028\n steps:\n - user: |\n hello\n intent: greet\n - action: utter_ask_howcanhelp\n - user: |\n I'm looking for a [moderately priced]{\"entity\": \"price\", \"value\": \"moderate\"} [Indian]{\"entity\": \"cuisine\"} restaurant for [two]({\"entity\": \"people\"}) people\n intent: inform\n - action: utter_on_it\n - action: utter_ask_location"{
"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
TokenAuthJWT
A plaintext token to secure your server, specified at startup in the argument --auth-token thisismysecret
Path Parameters
Id of the conversation
Query Parameters
All events previous to the passed timestamp will be replayed. Events that occur exactly at the target time will be included.
Whether to fetch all sessions in a conversation, or only the latest session
true- fetch all conversation sessions.false- [default] fetch only the latest conversation session.
Response
Success
⌘I
Retrieve an end-to-end story corresponding to a conversation
curl --request GET \
--url 'http://localhost:5005/conversations/{conversation_id}/story?token='import requests
url = "http://localhost:5005/conversations/{conversation_id}/story?token="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:5005/conversations/{conversation_id}/story?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}/story?token=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://localhost:5005/conversations/{conversation_id}/story?token="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://localhost:5005/conversations/{conversation_id}/story?token=")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:5005/conversations/{conversation_id}/story?token=")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body"- story: story_00055028\n steps:\n - user: |\n hello\n intent: greet\n - action: utter_ask_howcanhelp\n - user: |\n I'm looking for a [moderately priced]{\"entity\": \"price\", \"value\": \"moderate\"} [Indian]{\"entity\": \"cuisine\"} restaurant for [two]({\"entity\": \"people\"}) people\n intent: inform\n - action: utter_on_it\n - action: utter_ask_location"{
"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
}