Core - Configure guardrail rule
curl --request PATCH \
--url 'https://api.orq.ai/v2/guardrail-rules/grl_01HZXW2K7Y8Q9M0N1P2R3S4T5V' \
--header 'Authorization: Bearer $ORQ_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"enabled": true,
"expression": {"cel": "model == '\''openai/gpt-5'\''"},
"guardrails": [{
"id": "orq_pii_detection",
"execute_on": "output",
"sample_rate": 1,
"is_guardrail": true
}]
}'
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
display_name: '<string>',
description: '<string>',
enabled: true,
expression: {config: {}, cel: '<string>'},
guardrails: [
{
id: '<string>',
execute_on: '<string>',
sample_rate: 123,
is_guardrail: true,
options: {}
}
],
plugins: [
{
id: '<string>',
language: '<string>',
entities: ['<string>'],
on_failure: '<string>',
threshold: 123
}
]
})
};
fetch('https://api.orq.ai/v2/guardrail-rules/{guardrail_rule_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.orq.ai/v2/guardrail-rules/{guardrail_rule_id}"
payload = {
"display_name": "<string>",
"description": "<string>",
"enabled": True,
"expression": {
"config": {},
"cel": "<string>"
},
"guardrails": [
{
"id": "<string>",
"execute_on": "<string>",
"sample_rate": 123,
"is_guardrail": True,
"options": {}
}
],
"plugins": [
{
"id": "<string>",
"language": "<string>",
"entities": ["<string>"],
"on_failure": "<string>",
"threshold": 123
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"guardrail_rule": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by_id": "<string>",
"updated_by_id": "<string>",
"project_id": "<string>",
"display_name": "<string>",
"description": "<string>",
"enabled": true,
"guardrails": [
{
"id": "<string>",
"execute_on": "<string>",
"sample_rate": 123,
"is_guardrail": true,
"options": {}
}
],
"plugins": [
{
"id": "<string>",
"language": "<string>",
"entities": [
"<string>"
],
"on_failure": "<string>",
"threshold": 123
}
],
"expression": {
"config": {},
"cel": "<string>"
}
}
}Guardrail Rules
Update a guardrail rule
Partially updates guardrail-rule metadata or configuration. Project scope is immutable.
PATCH
/
v2
/
guardrail-rules
/
{guardrail_rule_id}
Core - Configure guardrail rule
curl --request PATCH \
--url 'https://api.orq.ai/v2/guardrail-rules/grl_01HZXW2K7Y8Q9M0N1P2R3S4T5V' \
--header 'Authorization: Bearer $ORQ_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"enabled": true,
"expression": {"cel": "model == '\''openai/gpt-5'\''"},
"guardrails": [{
"id": "orq_pii_detection",
"execute_on": "output",
"sample_rate": 1,
"is_guardrail": true
}]
}'
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
display_name: '<string>',
description: '<string>',
enabled: true,
expression: {config: {}, cel: '<string>'},
guardrails: [
{
id: '<string>',
execute_on: '<string>',
sample_rate: 123,
is_guardrail: true,
options: {}
}
],
plugins: [
{
id: '<string>',
language: '<string>',
entities: ['<string>'],
on_failure: '<string>',
threshold: 123
}
]
})
};
fetch('https://api.orq.ai/v2/guardrail-rules/{guardrail_rule_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.orq.ai/v2/guardrail-rules/{guardrail_rule_id}"
payload = {
"display_name": "<string>",
"description": "<string>",
"enabled": True,
"expression": {
"config": {},
"cel": "<string>"
},
"guardrails": [
{
"id": "<string>",
"execute_on": "<string>",
"sample_rate": 123,
"is_guardrail": True,
"options": {}
}
],
"plugins": [
{
"id": "<string>",
"language": "<string>",
"entities": ["<string>"],
"on_failure": "<string>",
"threshold": 123
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"guardrail_rule": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by_id": "<string>",
"updated_by_id": "<string>",
"project_id": "<string>",
"display_name": "<string>",
"description": "<string>",
"enabled": true,
"guardrails": [
{
"id": "<string>",
"execute_on": "<string>",
"sample_rate": 123,
"is_guardrail": true,
"options": {}
}
],
"plugins": [
{
"id": "<string>",
"language": "<string>",
"entities": [
"<string>"
],
"on_failure": "<string>",
"threshold": 123
}
],
"expression": {
"config": {},
"cel": "<string>"
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Response
200 - application/json
OK
Show child attributes
Show child attributes
Was this page helpful?