Skip to main content
POST
/
guardrails
curl --request POST \
--url https://api.portkey.ai/v1/guardrails \
--header 'Content-Type: application/json' \
--header 'x-portkey-api-key: <api-key>' \
--data '{
"name": "JWT Authentication Guard",
"organisation_id": "550e8400-e29b-41d4-a716-446655440001",
"checks": [
{
"id": "default.jwt",
"parameters": {
"jwksUri": "https://example.com/.well-known/jwks.json",
"headerKey": "Authorization",
"algorithms": [
"RS256"
],
"cacheMaxAge": 86400,
"clockTolerance": 5,
"maxTokenAge": "1d"
}
}
],
"actions": {
"onFail": "block",
"message": "Invalid JWT token"
}
}'
{
  "id": "<string>",
  "slug": "<string>",
  "version_id": "<string>"
}

Authorizations

x-portkey-api-key
string
header
required

Body

application/json
name
string
required

Name of the guardrail

Example:

"Content Safety Check"

checks
object[]
required

Array of guardrail checks to apply

Minimum length: 1
actions
object
required

Actions to take when guardrail checks fail or pass

workspace_id
string<uuid>

Workspace UUID (required if organisation_id not provided and not using API key)

organisation_id
string<uuid>

Organisation UUID (required if workspace_id not provided and not using API key)

Response

Guardrail created successfully

id
string
required

Unique identifier of the created guardrail

slug
string
required

URL-friendly slug for the guardrail

version_id
string
required

Version identifier for the guardrail configuration

I