Send CTR Data
curl --request PUT \
--url https://api.trieve.ai/api/analytics/ctr \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--header 'TR-Dataset: <tr-dataset>' \
--data '
{
"position": 123,
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"clicked_chunk_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"clicked_chunk_tracking_id": "<string>",
"metadata": "<unknown>"
}
'import requests
url = "https://api.trieve.ai/api/analytics/ctr"
payload = {
"position": 123,
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"clicked_chunk_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"clicked_chunk_tracking_id": "<string>",
"metadata": "<unknown>"
}
headers = {
"TR-Dataset": "<tr-dataset>",
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'TR-Dataset': '<tr-dataset>',
Authorization: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
position: 123,
request_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
clicked_chunk_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
clicked_chunk_tracking_id: '<string>',
metadata: '<unknown>'
})
};
fetch('https://api.trieve.ai/api/analytics/ctr', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.trieve.ai/api/analytics/ctr",
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([
'position' => 123,
'request_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'clicked_chunk_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'clicked_chunk_tracking_id' => '<string>',
'metadata' => '<unknown>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json",
"TR-Dataset: <tr-dataset>"
],
]);
$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 := "https://api.trieve.ai/api/analytics/ctr"
payload := strings.NewReader("{\n \"position\": 123,\n \"request_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_tracking_id\": \"<string>\",\n \"metadata\": \"<unknown>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("TR-Dataset", "<tr-dataset>")
req.Header.Add("Authorization", "<api-key>")
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("https://api.trieve.ai/api/analytics/ctr")
.header("TR-Dataset", "<tr-dataset>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"position\": 123,\n \"request_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_tracking_id\": \"<string>\",\n \"metadata\": \"<unknown>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trieve.ai/api/analytics/ctr")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["TR-Dataset"] = '<tr-dataset>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"position\": 123,\n \"request_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_tracking_id\": \"<string>\",\n \"metadata\": \"<unknown>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Bad Request"
}Analytics
Send CTR Data
deprecated
This route allows you to send clickstream data to the system. Clickstream data is used to fine-tune the re-ranking of search results and recommendations.
PUT
/
api
/
analytics
/
ctr
Send CTR Data
curl --request PUT \
--url https://api.trieve.ai/api/analytics/ctr \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--header 'TR-Dataset: <tr-dataset>' \
--data '
{
"position": 123,
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"clicked_chunk_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"clicked_chunk_tracking_id": "<string>",
"metadata": "<unknown>"
}
'import requests
url = "https://api.trieve.ai/api/analytics/ctr"
payload = {
"position": 123,
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"clicked_chunk_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"clicked_chunk_tracking_id": "<string>",
"metadata": "<unknown>"
}
headers = {
"TR-Dataset": "<tr-dataset>",
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'TR-Dataset': '<tr-dataset>',
Authorization: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
position: 123,
request_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
clicked_chunk_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
clicked_chunk_tracking_id: '<string>',
metadata: '<unknown>'
})
};
fetch('https://api.trieve.ai/api/analytics/ctr', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.trieve.ai/api/analytics/ctr",
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([
'position' => 123,
'request_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'clicked_chunk_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'clicked_chunk_tracking_id' => '<string>',
'metadata' => '<unknown>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json",
"TR-Dataset: <tr-dataset>"
],
]);
$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 := "https://api.trieve.ai/api/analytics/ctr"
payload := strings.NewReader("{\n \"position\": 123,\n \"request_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_tracking_id\": \"<string>\",\n \"metadata\": \"<unknown>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("TR-Dataset", "<tr-dataset>")
req.Header.Add("Authorization", "<api-key>")
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("https://api.trieve.ai/api/analytics/ctr")
.header("TR-Dataset", "<tr-dataset>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"position\": 123,\n \"request_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_tracking_id\": \"<string>\",\n \"metadata\": \"<unknown>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trieve.ai/api/analytics/ctr")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["TR-Dataset"] = '<tr-dataset>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"position\": 123,\n \"request_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"clicked_chunk_tracking_id\": \"<string>\",\n \"metadata\": \"<unknown>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Bad Request"
}Authorizations
Headers
The dataset id or tracking_id to use for the request. We assume you intend to use an id if the value is a valid uuid.
Body
application/json
JSON request payload to send CTR data
Available options:
search, rag, recommendation The position of the clicked chunk
The request id for the CTR data
The ID of chunk that was clicked
The tracking ID of the chunk that was clicked
Any metadata you want to include with the event i.e. action, user_id, etc.
Response
The CTR data was successfully sent
Was this page helpful?
⌘I