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