---
title: "Changes to Create a guardrail rule"
method: POST
path: "/v2/guardrail-rules"
---

# Changes to Create a guardrail rule

`POST /v2/guardrail-rules`

> Every recorded change to this endpoint, newest first.
> 271 revisions in range; 82 not diffed.

## Timeline

Changed in 19 of 271 revisions.

- **2026-08-24** `addad33219df` — 5 breaking, 1 warning, 8 info
- **2026-08-21** `1586760a252f` — 5 breaking, 7 warning, 8 info
- **2026-08-21** `4fdc24e562eb` — 5 breaking, 1 warning, 8 info
- **2026-08-20** `be3fe58ce389` — 5 breaking, 7 warning, 8 info
- **2026-08-19** `ab4fda96e4a7` — 1 breaking, 1 warning
- **2026-08-17** `f54fa34db0f4` — 6 breaking, 8 info
- **2026-08-17** `ed68e8b009d7` — 5 breaking, 8 warning, 8 info
- **2026-08-17** `d46bd23ae34c` — 6 breaking, 8 info
- **2026-08-17** `f459ad9381eb` — 5 breaking, 8 warning, 8 info
- **2026-08-14** `deb8d376faee` — 6 breaking, 8 info
- **2026-08-02** `6f132f005b2a` — 1 breaking
- **2026-07-31** `3128fb112d66` — 1 info
- **2026-07-30** `d1ae9e3491f7` — 1 breaking
- **2026-07-29** `81dd5e8c8ae5` — 1 info
- **2026-07-29** `c165184caee5` — 1 breaking
- **2026-07-29** `81f63764455c` — 1 info
- **2026-07-29** `3989ac7bfc9d` — 1 breaking
- **2026-07-28** `a16b5d9f224e` — 1 info
- **2026-06-29** `bc4a415db9cb` — 1 info

## Changes

- **2026-08-24** `addad33219df` — 5 breaking, 1 warning, 8 info
  - the request property `guardrails` became not nullable
  - removed the enum value `both` of the request property `guardrails/items/execute_on`
  - removed the enum value `input` of the request property `guardrails/items/execute_on`
  - removed the enum value `output` of the request property `guardrails/items/execute_on`
  - removed the success response with the status `201`
  - removed the request property `timeout`
  - added the new optional request property `expression/config`
  - added the new optional request property `plugins`
  - the request property `expression/cel` became optional
  - the `display_name` request property's minLength was decreased from `1` to `0`
  - the `guardrails/items/id` request property's minLength was decreased from `1` to `0`
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `409`
  - added the success response with the status `200`
- **2026-08-21** `1586760a252f` — 5 breaking, 7 warning, 8 info
  - request property `guardrails/items/execute_on` was restricted to a list of enum values
  - the request property `expression/cel` became required
  - the `display_name` request property's minLength was increased from `0` to `1`
  - the `guardrails/items/id` request property's minLength was increased from `0` to `1`
  - removed the success response with the status `200`
  - the `description` request property's maxLength was set to `2048`
  - the `display_name` request property's maxLength was set to `256`
  - the `expression/cel` request property's maxLength was set to `2000`
  - the `guardrails/items/sample_rate` request property's max was set to `1.00`
  - the `guardrails/items/sample_rate` request property's min was set to `0.00`
  - removed the request property `expression/config`
  - removed the request property `plugins`
  - added the new optional request property `timeout`
  - the request property `guardrails` became nullable
  - added the new `both` enum value to the request property `guardrails/items/execute_on`
  - added the new `input` enum value to the request property `guardrails/items/execute_on`
  - added the new `output` enum value to the request property `guardrails/items/execute_on`
  - added the non-success response with the status `400`
  - added the non-success response with the status `409`
  - added the success response with the status `201`
- **2026-08-21** `4fdc24e562eb` — 5 breaking, 1 warning, 8 info
  - the request property `guardrails` became not nullable
  - removed the enum value `both` of the request property `guardrails/items/execute_on`
  - removed the enum value `input` of the request property `guardrails/items/execute_on`
  - removed the enum value `output` of the request property `guardrails/items/execute_on`
  - removed the success response with the status `201`
  - removed the request property `timeout`
  - added the new optional request property `expression/config`
  - added the new optional request property `plugins`
  - the request property `expression/cel` became optional
  - the `display_name` request property's minLength was decreased from `1` to `0`
  - the `guardrails/items/id` request property's minLength was decreased from `1` to `0`
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `409`
  - added the success response with the status `200`
- **2026-08-20** `be3fe58ce389` — 5 breaking, 7 warning, 8 info
  - request property `guardrails/items/execute_on` was restricted to a list of enum values
  - the request property `expression/cel` became required
  - the `display_name` request property's minLength was increased from `0` to `1`
  - the `guardrails/items/id` request property's minLength was increased from `0` to `1`
  - removed the success response with the status `200`
  - the `description` request property's maxLength was set to `2048`
  - the `display_name` request property's maxLength was set to `256`
  - the `expression/cel` request property's maxLength was set to `2000`
  - the `guardrails/items/sample_rate` request property's max was set to `1.00`
  - the `guardrails/items/sample_rate` request property's min was set to `0.00`
  - removed the request property `expression/config`
  - removed the request property `plugins`
  - added the new optional request property `timeout`
  - the request property `guardrails` became nullable
  - added the new `both` enum value to the request property `guardrails/items/execute_on`
  - added the new `input` enum value to the request property `guardrails/items/execute_on`
  - added the new `output` enum value to the request property `guardrails/items/execute_on`
  - added the non-success response with the status `400`
  - added the non-success response with the status `409`
  - added the success response with the status `201`
- **2026-08-19** `ab4fda96e4a7` — 1 breaking, 1 warning
  - removed the required property `guardrail_rule/timeout` from the response with the `200` status
  - removed the request property `timeout`
- **2026-08-17** `f54fa34db0f4` — 6 breaking, 8 info
  - the request property `guardrails` became not nullable
  - removed the enum value `both` of the request property `guardrails/items/execute_on`
  - removed the enum value `input` of the request property `guardrails/items/execute_on`
  - removed the enum value `output` of the request property `guardrails/items/execute_on`
  - the `timeout` request property format changed from `int64` to `int32`
  - removed the success response with the status `201`
  - added the new optional request property `expression/config`
  - added the new optional request property `plugins`
  - the request property `expression/cel` became optional
  - the `display_name` request property's minLength was decreased from `1` to `0`
  - the `guardrails/items/id` request property's minLength was decreased from `1` to `0`
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `409`
  - added the success response with the status `200`
- **2026-08-17** `ed68e8b009d7` — 5 breaking, 8 warning, 8 info
  - request property `guardrails/items/execute_on` was restricted to a list of enum values
  - the request property `expression/cel` became required
  - the `display_name` request property's minLength was increased from `0` to `1`
  - the `guardrails/items/id` request property's minLength was increased from `0` to `1`
  - removed the success response with the status `200`
  - the `description` request property's maxLength was set to `2048`
  - the `display_name` request property's maxLength was set to `256`
  - the `expression/cel` request property's maxLength was set to `2000`
  - the `guardrails/items/sample_rate` request property's max was set to `1.00`
  - the `guardrails/items/sample_rate` request property's min was set to `0.00`
  - the `timeout` request property's min was set to `1000.00`
  - removed the request property `expression/config`
  - removed the request property `plugins`
  - the request property `guardrails` became nullable
  - added the new `both` enum value to the request property `guardrails/items/execute_on`
  - added the new `input` enum value to the request property `guardrails/items/execute_on`
  - added the new `output` enum value to the request property `guardrails/items/execute_on`
  - the `timeout` request property format was generalized from `int32` to `int64`
  - added the non-success response with the status `400`
  - added the non-success response with the status `409`
  - added the success response with the status `201`
- **2026-08-17** `d46bd23ae34c` — 6 breaking, 8 info
  - the request property `guardrails` became not nullable
  - removed the enum value `both` of the request property `guardrails/items/execute_on`
  - removed the enum value `input` of the request property `guardrails/items/execute_on`
  - removed the enum value `output` of the request property `guardrails/items/execute_on`
  - the `timeout` request property format changed from `int64` to `int32`
  - removed the success response with the status `201`
  - added the new optional request property `expression/config`
  - added the new optional request property `plugins`
  - the request property `expression/cel` became optional
  - the `display_name` request property's minLength was decreased from `1` to `0`
  - the `guardrails/items/id` request property's minLength was decreased from `1` to `0`
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `409`
  - added the success response with the status `200`
- **2026-08-17** `f459ad9381eb` — 5 breaking, 8 warning, 8 info
  - request property `guardrails/items/execute_on` was restricted to a list of enum values
  - the request property `expression/cel` became required
  - the `display_name` request property's minLength was increased from `0` to `1`
  - the `guardrails/items/id` request property's minLength was increased from `0` to `1`
  - removed the success response with the status `200`
  - the `description` request property's maxLength was set to `2048`
  - the `display_name` request property's maxLength was set to `256`
  - the `expression/cel` request property's maxLength was set to `2000`
  - the `guardrails/items/sample_rate` request property's max was set to `1.00`
  - the `guardrails/items/sample_rate` request property's min was set to `0.00`
  - the `timeout` request property's min was set to `1000.00`
  - removed the request property `expression/config`
  - removed the request property `plugins`
  - the request property `guardrails` became nullable
  - added the new `both` enum value to the request property `guardrails/items/execute_on`
  - added the new `input` enum value to the request property `guardrails/items/execute_on`
  - added the new `output` enum value to the request property `guardrails/items/execute_on`
  - the `timeout` request property format was generalized from `int32` to `int64`
  - added the non-success response with the status `400`
  - added the non-success response with the status `409`
  - added the success response with the status `201`
- **2026-08-14** `deb8d376faee` — 6 breaking, 8 info
  - the request property `guardrails` became not nullable
  - removed the enum value `both` of the request property `guardrails/items/execute_on`
  - removed the enum value `input` of the request property `guardrails/items/execute_on`
  - removed the enum value `output` of the request property `guardrails/items/execute_on`
  - the `timeout` request property format changed from `int64` to `int32`
  - removed the success response with the status `201`
  - added the new optional request property `expression/config`
  - added the new optional request property `plugins`
  - the request property `expression/cel` became optional
  - the `display_name` request property's minLength was decreased from `1` to `0`
  - the `guardrails/items/id` request property's minLength was decreased from `1` to `0`
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `409`
  - added the success response with the status `200`
- **2026-08-02** `6f132f005b2a` — 1 breaking
  - removed the required property `plugins/items/OfResponseHealing` from the response with the `201` status
- **2026-07-31** `3128fb112d66` — 1 info
  - added the required property `plugins/items/OfResponseHealing` to the response with the `201` status
- **2026-07-30** `d1ae9e3491f7` — 1 breaking
  - removed the required property `plugins/items/OfResponseHealing` from the response with the `201` status
- **2026-07-29** `81dd5e8c8ae5` — 1 info
  - added the required property `plugins/items/OfResponseHealing` to the response with the `201` status
- **2026-07-29** `c165184caee5` — 1 breaking
  - removed the required property `plugins/items/OfResponseHealing` from the response with the `201` status
- **2026-07-29** `81f63764455c` — 1 info
  - added the required property `plugins/items/OfResponseHealing` to the response with the `201` status
- **2026-07-29** `3989ac7bfc9d` — 1 breaking
  - removed the required property `plugins/items/OfResponseHealing` from the response with the `201` status
- **2026-07-28** `a16b5d9f224e` — 1 info
  - added the required property `plugins/items/OfResponseHealing` to the response with the `201` status
- **2026-06-29** `bc4a415db9cb` — 1 info
  - added the optional property `plugins` to the response with the `201` status

---

[Operation](https://skmtc.dev/orq-ai/apis/orq-ai-api/docs/v2/guardrail-rules/post.md) · [API](https://skmtc.dev/orq-ai/apis/orq-ai-api.md) · [Page](https://skmtc.dev/orq-ai/apis/orq-ai-api/changes/v2/guardrail-rules/post)
