> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usefini.com/llms.txt
> Use this file to discover all available pages before exploring further.
# List guardrail check types
> List guardrail check types through the workspace-scoped public API.
Returns an array describing available checks, their evaluation kind, repeatability, and configuration fields. The example shows one catalogue entry; the full response contains all six types.
See the [Guardrails overview](/en/api-reference/guardrails) for shared schemas and runtime limitations.
<ParamField header="Authorization" type="string" required>Bearer workspace API key. The key needs `read` scope.</ParamField>
## Response
<ResponseField name="[]" type="array">Descriptors with `type`, `label`, `description`, `evaluation` (`deterministic`, `llm`, or `hybrid`), `repeatable`, and `configFields`. Each field has `key`, `label`, `description`, `kind`, and `required`.</ResponseField>
<RequestExample>
~~~bash cURL theme={null}
curl --request GET \
--url "https://api-prod.usefini.com/v2/guardrail-policies/check-types/public" \
--header "Authorization: Bearer $FINI_API_KEY"
~~~
~~~javascript Node.js theme={null}
const response = await fetch("https://api-prod.usefini.com/v2/guardrail-policies/check-types/public", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.FINI_API_KEY}` },
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
~~~
~~~python Python theme={null}
import os
import requests
response = requests.get(
"https://api-prod.usefini.com/v2/guardrail-policies/check-types/public",
headers={"Authorization": f"Bearer {os.environ['FINI_API_KEY']}"},
timeout=30,
)
response.raise_for_status()
print(response.json())
~~~
</RequestExample>
<ResponseExample>
~~~json 200 theme={null}
[
{
"type": "banned_terms",
"label": "Banned terms",
"description": "Blocks replies that mention listed words, phrases (competitors, forbidden products) or match regular expressions. Case-insensitive, whole-word matching.",
"evaluation": "deterministic",
"repeatable": false,
"configFields": [
{
"key": "terms",
"label": "Terms",
"description": "Words or phrases matched as whole words, case-insensitive.",
"kind": "string_list",
"required": false
},
{
"key": "patterns",
"label": "Regex patterns",
"description": "JavaScript regular expressions (case-insensitive, unicode). Keep them simple; nested repetitions are rejected.",
"kind": "regex_list",
"required": false
}
]
}
]
~~~
</ResponseExample>
## Related topics
- [Overview](/en/api-reference/guardrails.md)
- [Guardrails](/en/configuration/guardrails.md)
- [List guardrail policies](/en/api-reference/list-guardrail-policies.md)
This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.
Guardrails

