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 array 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