Skip to main content
POST
/
v1
/
rulesets
Create a new catalog ruleset version
curl --request POST \
  --url https://api.example.com/v1/rulesets \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "checks": [
    {}
  ],
  "name": "<string>",
  "sets": {},
  "description": "<string>",
  "display_name": "<string>",
  "tags": [
    "<string>"
  ],
  "verdict_policy": {},
  "version": 1073741824,
  "visibility": "hidden"
}
'
{
  "status": 123,
  "title": "<string>",
  "type": "<string>",
  "detail": "<string>",
  "instance": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
checks
Checks · object[]
required
Minimum array length: 1
name
string
required
Pattern: ^[A-Za-z0-9._-]{1,128}$
sets
Sets · object
required
description
string | null

Tolgee translation key for the long-form catalog description, same shape and resolution as display_name. Optional.

display_name
string | null

Tolgee translation key for the catalog UI title (e.g. presets.br-funai-tis-intersects.display_name). The frontend resolves the key against its i18n bundle at render time. Plain strings are accepted for non-localised callers. Optional.

tags
string[]

Free-form tags for catalog filtering (e.g. preset, br, deforestation). Curated official presets carry the preset tag.

verdict_policy
Verdict Policy · object | null
version
integer | null
Required range: 1 <= x <= 2147483647
visibility
enum<string>
default:hidden

Catalog visibility. hidden (default) keeps the ruleset out of the public GET /v1/rulesets listing — admins see hidden rulesets by passing include_hidden=true. public exposes it to every authenticated caller.

Available options:
public,
hidden

Response

Successful Response