Skip to main content
POST
POSTing a name that already exists atomically REPLACES that rule — this is how a policy pack is re-uploaded without stacking duplicates. Lint errors (e.g. RULE007 unbound head variable) reject the write with 400; soft lint_warnings are returned alongside a successful create. Required scope: write

Request body

CreateRuleRequest
RuleAtomRequest[]
required
number (float)
string
object
string[]
required
string
required
string
required
RuleTestCaseRequest[]

Response

No response body. Rule created or replaced; body carries id and any lint_warnings.

Status codes

Last modified on August 31, 2026