TypeScript SDK
import { NinjaChat } from "@ninjachat/sdk";
const client = new NinjaChat({ apiKey: process.env.NINJACHAT_API_KEY! });
const trace = await client.requests.get("request_id");
console.log(trace);import os
from ninjachat import NinjaChat
client = NinjaChat(api_key=os.environ["NINJACHAT_API_KEY"])
trace = client.requests.get("request_id")
print(trace)curl --request GET \
--url https://www.ninjachat.ai/api/v1/requests/{id} \
--header 'Authorization: Bearer <token>'{
"object": "request",
"request_id": "<string>",
"timestamp": "<string>",
"endpoint": "<string>",
"model_requested": "<string>",
"model": "<string>",
"provider": "<string>",
"tokens": {
"input": 123,
"output": 123,
"reasoning": 123,
"cached": 123,
"cache_write": 123
},
"cost_cents": 123,
"metered_cost_cents": 123,
"latency_ms": 123,
"ttfb_ms": 123,
"status_code": 123,
"retries": 123,
"error_code": "<string>",
"routing": {
"requested_models": [
"<string>"
],
"policy": {
"strategy": "balanced",
"data_policy": "default",
"source": "request",
"allow_fallbacks": true,
"require_parameters": true,
"providers": {
"only": [
"<string>"
],
"exclude": [
"<string>"
],
"order": [
"<string>"
]
},
"caching": "auto",
"max_cost_usd": 123
},
"ordering": "breaker",
"considered": [
"<string>"
],
"excluded": [
{
"model": "<string>",
"stage": "<string>",
"reason": "<string>"
}
],
"attempts": [
{
"model": "<string>",
"outcome": "ok",
"error_code": "<string>",
"latency_ms": 1,
"retry_budget_consumed": true
}
],
"served_by": {
"model": "<string>",
"provider": "<string>",
"attempt_index": 1
}
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"param": "<string>"
}
}Operations
Get a request trace
GET
/
requests
/
{id}
TypeScript SDK
import { NinjaChat } from "@ninjachat/sdk";
const client = new NinjaChat({ apiKey: process.env.NINJACHAT_API_KEY! });
const trace = await client.requests.get("request_id");
console.log(trace);import os
from ninjachat import NinjaChat
client = NinjaChat(api_key=os.environ["NINJACHAT_API_KEY"])
trace = client.requests.get("request_id")
print(trace)curl --request GET \
--url https://www.ninjachat.ai/api/v1/requests/{id} \
--header 'Authorization: Bearer <token>'{
"object": "request",
"request_id": "<string>",
"timestamp": "<string>",
"endpoint": "<string>",
"model_requested": "<string>",
"model": "<string>",
"provider": "<string>",
"tokens": {
"input": 123,
"output": 123,
"reasoning": 123,
"cached": 123,
"cache_write": 123
},
"cost_cents": 123,
"metered_cost_cents": 123,
"latency_ms": 123,
"ttfb_ms": 123,
"status_code": 123,
"retries": 123,
"error_code": "<string>",
"routing": {
"requested_models": [
"<string>"
],
"policy": {
"strategy": "balanced",
"data_policy": "default",
"source": "request",
"allow_fallbacks": true,
"require_parameters": true,
"providers": {
"only": [
"<string>"
],
"exclude": [
"<string>"
],
"order": [
"<string>"
]
},
"caching": "auto",
"max_cost_usd": 123
},
"ordering": "breaker",
"considered": [
"<string>"
],
"excluded": [
{
"model": "<string>",
"stage": "<string>",
"reason": "<string>"
}
],
"attempts": [
{
"model": "<string>",
"outcome": "ok",
"error_code": "<string>",
"latency_ms": 1,
"retry_budget_consumed": true
}
],
"served_by": {
"model": "<string>",
"provider": "<string>",
"attempt_index": 1
}
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"param": "<string>"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"param": "<string>"
}
}Authorizations
Use an API key created in the NinjaChat developer console.
Path Parameters
Response
Success.
Available options:
request Show child attributes
Show child attributes
Show child attributes
Show child attributes