curl --request GET \
--url "https://api-prod.usefini.com/v2/guardrail-policies/runs/public?botId=11111111-1111-4111-8111-111111111111&limit=20" \
--header "Authorization: Bearer $FINI_API_KEY"
const response = await fetch("https://api-prod.usefini.com/v2/guardrail-policies/runs/public?botId=11111111-1111-4111-8111-111111111111&limit=20", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.FINI_API_KEY}` },
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
import os
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/guardrail-policies/runs/public?botId=11111111-1111-4111-8111-111111111111&limit=20",
headers={"Authorization": f"Bearer {os.environ['FINI_API_KEY']}"},
timeout=30,
)
response.raise_for_status()
print(response.json())
[
{
"id": "44444444-4444-4444-8444-444444444444",
"companyId": "33333333-3333-4333-8333-333333333333",
"botId": "11111111-1111-4111-8111-111111111111",
"interactionId": "55555555-5555-4555-8555-555555555555",
"userEventId": "66666666-6666-4666-8666-666666666666",
"action": "rewritten",
"rounds": 2,
"report": [
{
"policyId": "22222222-2222-4222-8222-222222222222",
"checkType": "banned_terms",
"name": "Banned terms",
"verdicts": [
"fail",
"pass"
]
}
],
"originalContent": null,
"rewriteReason": null,
"createdAt": "2026-10-01T08:10:00.000Z"
}
]
Guardrails
List guardrail runs
List guardrail runs through the workspace-scoped public API.
GET
/
v2
/
guardrail-policies
/
runs
/
public
curl --request GET \
--url "https://api-prod.usefini.com/v2/guardrail-policies/runs/public?botId=11111111-1111-4111-8111-111111111111&limit=20" \
--header "Authorization: Bearer $FINI_API_KEY"
const response = await fetch("https://api-prod.usefini.com/v2/guardrail-policies/runs/public?botId=11111111-1111-4111-8111-111111111111&limit=20", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.FINI_API_KEY}` },
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
import os
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/guardrail-policies/runs/public?botId=11111111-1111-4111-8111-111111111111&limit=20",
headers={"Authorization": f"Bearer {os.environ['FINI_API_KEY']}"},
timeout=30,
)
response.raise_for_status()
print(response.json())
[
{
"id": "44444444-4444-4444-8444-444444444444",
"companyId": "33333333-3333-4333-8333-333333333333",
"botId": "11111111-1111-4111-8111-111111111111",
"interactionId": "55555555-5555-4555-8555-555555555555",
"userEventId": "66666666-6666-4666-8666-666666666666",
"action": "rewritten",
"rounds": 2,
"report": [
{
"policyId": "22222222-2222-4222-8222-222222222222",
"checkType": "banned_terms",
"name": "Banned terms",
"verdicts": [
"fail",
"pass"
]
}
],
"originalContent": null,
"rewriteReason": null,
"createdAt": "2026-10-01T08:10:00.000Z"
}
]
Returns recent runs as an array. For workspace API callers,
originalContent and rewriteReason are always null; this endpoint does not expose the original reply text. An empty array means no recorded runs.
See the Guardrails overview for shared schemas and runtime limitations.
Response
Runs with
id, companyId, botId, interactionId, userEventId, action, rounds, report, originalContent, rewriteReason, and createdAt.passed, rewritten, blocked, or error. Inspect individual verdicts even when the action is passed.Per-policy
policyId, checkType, name, and verdicts. Verdicts are pass, fail, or error, in initial-check then recheck order.curl --request GET \
--url "https://api-prod.usefini.com/v2/guardrail-policies/runs/public?botId=11111111-1111-4111-8111-111111111111&limit=20" \
--header "Authorization: Bearer $FINI_API_KEY"
const response = await fetch("https://api-prod.usefini.com/v2/guardrail-policies/runs/public?botId=11111111-1111-4111-8111-111111111111&limit=20", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.FINI_API_KEY}` },
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
import os
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/guardrail-policies/runs/public?botId=11111111-1111-4111-8111-111111111111&limit=20",
headers={"Authorization": f"Bearer {os.environ['FINI_API_KEY']}"},
timeout=30,
)
response.raise_for_status()
print(response.json())
[
{
"id": "44444444-4444-4444-8444-444444444444",
"companyId": "33333333-3333-4333-8333-333333333333",
"botId": "11111111-1111-4111-8111-111111111111",
"interactionId": "55555555-5555-4555-8555-555555555555",
"userEventId": "66666666-6666-4666-8666-666666666666",
"action": "rewritten",
"rounds": 2,
"report": [
{
"policyId": "22222222-2222-4222-8222-222222222222",
"checkType": "banned_terms",
"name": "Banned terms",
"verdicts": [
"fail",
"pass"
]
}
],
"originalContent": null,
"rewriteReason": null,
"createdAt": "2026-10-01T08:10:00.000Z"
}
]
Was this page helpful?

