ChatbotTurnLog
Returns a list of all ChatbotTurnLogs
GET/api/chat/chatbot_turn_log
Query parameters
idstring | , SCOPE_LIST |
chatroomstring | , SCOPE_LIST |
personstring | , SCOPE_LIST |
statusstring | ok | error | skipped - siehe STATUS_* Konstanten. | , SCOPE_LIST |
modelstring | , SCOPE_LIST |
finishReasonstring | stop | max_iterations | timeout | error - so, wie der Dienst es meldet. | , SCOPE_LIST |
createdstring | , SCOPE_LIST |
searchStringstring | text to search for in the list |
orderFieldNamestring | name of the order field |
orderFieldSortstring | sorting modeAllowed: DESCASC |
pageinteger | page of the list |
pageSizeinteger | number of entries for each page |
withMaxPageNumberstring | returns the number of pages available as a header if this is set |
Responses
200Returns a list of all ChatbotTurnLogsarray<ChatbotTurnLog>
Show fields (11)
idintegerPrimary key of the chatbot turn log. Internal ID.
modelstringLanguage model used for the turn.
prompt_tokensintegerNumber of prompt tokens used.
completion_tokensintegerNumber of completion tokens used.
llm_callsintegerNumber of model calls made for the turn.
tool_callsintegerAnzahl der Tool-Aufrufe - die Einzelheiten stehen in ai_meta an der Nachricht, hier zaehlt nur die Menge.
duration_msintegerDuration of the turn in milliseconds.
finish_reasonstringstop | max_iterations | timeout | error - so, wie der Dienst es meldet.
statusstringok | error | skipped - siehe STATUS_* Konstanten.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request GET \
--url https://your-instance.iw-erp.de/api/chat/chatbot_turn_log \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/chat/chatbot_turn_log', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/chat/chatbot_turn_log"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://your-instance.iw-erp.de/api/chat/chatbot_turn_log', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/chat/chatbot_turn_log"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/chat/chatbot_turn_log")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/chat/chatbot_turn_log"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/chatbot_turn_log_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await ChatbotTurnLogController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"model": "string",
"prompt_tokens": 1,
"completion_tokens": 1,
"llm_calls": 1,
"tool_calls": 1,
"duration_ms": 1,
"finish_reason": "string",
"status": "string",
"created": "2026-10-15T09:30:00+02:00"
}
]Returns a single ChatbotTurnLog entry.
GET/api/chat/chatbot_turn_log/{identifier}
Path parameters
identifierrequiredstring |
Responses
200Return single ChatbotTurnLogChatbotTurnLog
Show fields (11)
idintegerPrimary key of the chatbot turn log. Internal ID.
modelstringLanguage model used for the turn.
prompt_tokensintegerNumber of prompt tokens used.
completion_tokensintegerNumber of completion tokens used.
llm_callsintegerNumber of model calls made for the turn.
tool_callsintegerAnzahl der Tool-Aufrufe - die Einzelheiten stehen in ai_meta an der Nachricht, hier zaehlt nur die Menge.
duration_msintegerDuration of the turn in milliseconds.
finish_reasonstringstop | max_iterations | timeout | error - so, wie der Dienst es meldet.
statusstringok | error | skipped - siehe STATUS_* Konstanten.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
curl --request GET \
--url https://your-instance.iw-erp.de/api/chat/chatbot_turn_log/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/chat/chatbot_turn_log/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/chat/chatbot_turn_log/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://your-instance.iw-erp.de/api/chat/chatbot_turn_log/42', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/chat/chatbot_turn_log/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/chat/chatbot_turn_log/42")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/chat/chatbot_turn_log/42"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/chatbot_turn_log_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await ChatbotTurnLogController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"model": "string",
"prompt_tokens": 1,
"completion_tokens": 1,
"llm_calls": 1,
"tool_calls": 1,
"duration_ms": 1,
"finish_reason": "string",
"status": "string",
"created": "2026-10-15T09:30:00+02:00"
}