API reference OpenAPI 3.1
GET /rules/{id}

Read a rule and one definition version for editing

Bearer API key or staff session operation getRule

Parameters

NameInTypeRequiredDescription
id path string Yes —
version query integer No Defaults to the latest draft/version.
min 1

Request

This endpoint has no request body.

curl "$MONICHEK_API/rules/{id}" \
  -H "Authorization: Bearer $MONICHEK_API_KEY"
const res = await fetch(`${MONICHEK_API}/rules/{id}`, {
  method: "GET",
  headers: {
    Authorization: `Bearer ${MONICHEK_API_KEY}`,
  },
});

const data = await res.json();
import os
import requests

res = requests.get(
    f"{os.environ['MONICHEK_API']}/rules/{id}",
    headers={"Authorization": f"Bearer {os.environ['MONICHEK_API_KEY']}"},
)
print(res.json())
$ch = curl_init(getenv('MONICHEK_API') . '/rules/{id}');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('MONICHEK_API_KEY'),
    ],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Replace {id} with the resource id.

Responses

200 OK rule with definition and version history application/json
{
  "object": "string",
  "id": "id_01M3R...",
  "key": "rule_key",
  "name": "Ada Okafor",
  "typology": "string",
  "version": 1,
  "state": "string",
  "definition": {
    "key": "rule_key",
    "name": "Ada Okafor",
    "description": "Example note",
    "typology": "string",
    "trigger": {
      "events": [
        "string"
      ],
      "filter": "string"
    },
    "features": [
      {
        "name": "Ada Okafor",
        "agg": "count",
        "window": "string",
        "group_by": [
          "string"
        ],
        "where": "string",
        "field": "string"
      }
    ],
    "condition": "string",
    "suppress_if": "string",
    "groups": [
      {
        "op": "all_of",
        "conditions": [
          "string"
        ]
      }
    ],
    "outcome": {
      "severity": "low",
      "score": 0,
      "decision": "ALLOW",
      "reason_code": "string",
      "explain": "string"
    },
    "actions": [
      {}
    ],
    "params": {},
    "schedule": {
      "mode": "realtime",
      "cron": "string"
    }
  },
  "versions": [
    {}
  ]
}
Response fields
FieldTypeRequiredDescription
object string No —
id string No —
key string No —
name string No —
typology string No —
version integer No —
state string No —
definition object No
Show 13 nested fields
FieldTypeRequiredDescription
key string Yes —
name string Yes —
description string No —
typology string No —
trigger object No
Show 2 nested fields
FieldTypeRequiredDescription
events array of string No —
filter string No —
features array of object No
Show 6 nested fields
FieldTypeRequiredDescription
name string Yes —
agg string Yes one of count, sum, avg, max, min, distinct_count, last, first, stddev
window string Yes —
group_by array of string No —
where string No —
field string No —
condition string Yes max length 4096
suppress_if string No max length 1024
groups array of object No
Show 2 nested fields
FieldTypeRequiredDescription
op string Yes one of all_of, any_of, not
conditions array of string Yes —
outcome object Yes
Show 5 nested fields
FieldTypeRequiredDescription
severity string Yes one of low, medium, high, critical
score number No —
decision string Yes one of ALLOW, REVIEW, HOLD, BLOCK
reason_code string Yes —
explain string No —
actions array of object No —
params object No —
schedule object No
Show 2 nested fields
FieldTypeRequiredDescription
mode string No one of realtime, cron, manual
cron string No —
versions array of object No —

Error responses

StatusMeaningBody
404 Not Found RFC 9457 problem

Errors use the RFC 9457 problem format with a stable code.