curl --request PATCH \
--url 'https://api.nsr.stateset.com/api/v1/rules/{id}' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"confidence": 7.5,
"description": "Two-person tent, green — replacement for damaged pole set.",
"enabled": true,
"priority": 1,
"test_cases": [
{
"expected_output": {},
"input_bindings": {},
"name": "Two-Person Tent",
"should_fire": true
}
]
}'
{
"body_count": 1,
"confidence": 7.5,
"description": "Two-person tent, green — replacement for damaged pole set.",
"enabled": true,
"head_args": [
"string"
],
"head_predicate": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Two-Person Tent",
"priority": 1,
"test_case_count": 1,
"test_cases": [
{
"expected_output": {},
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"input_bindings": {},
"name": "Two-Person Tent",
"should_fire": true
}
]
}
Update a rule by ID
Update an existing rule. Required scope: write
PATCH
/
api
/
v1
/
rules
/
{id}
curl --request PATCH \
--url 'https://api.nsr.stateset.com/api/v1/rules/{id}' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"confidence": 7.5,
"description": "Two-person tent, green — replacement for damaged pole set.",
"enabled": true,
"priority": 1,
"test_cases": [
{
"expected_output": {},
"input_bindings": {},
"name": "Two-Person Tent",
"should_fire": true
}
]
}'
{
"body_count": 1,
"confidence": 7.5,
"description": "Two-person tent, green — replacement for damaged pole set.",
"enabled": true,
"head_args": [
"string"
],
"head_predicate": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Two-Person Tent",
"priority": 1,
"test_case_count": 1,
"test_cases": [
{
"expected_output": {},
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"input_bindings": {},
"name": "Two-Person Tent",
"should_fire": true
}
]
}
Update an existing rule.
Required scope:
write
Path parameters
string
required
Rule ID
Request body
UpdateRuleRequest
number (float)
Confidence factor (0.0 - 1.0)
string
New description for the rule
boolean
Whether the rule is enabled
integer (int32)
Priority for rule ordering (higher = more priority)
RuleTestCaseRequest[]
Replace rule test cases.
Response
RuleResponse
integer
required
number (float)
required
string
boolean
required
string[]
required
string
required
string
required
string
required
integer (int32)
required
integer
required
RuleTestCaseResponse[]
required
Status codes
| Code | Meaning |
|---|---|
200 | Rule updated |
400 | Invalid request |
401 | Unauthorized — missing or invalid credentials |
403 | Forbidden — the key/token lacks the required scope |
404 | Rule not found |
429 | Rate limited — see Retry-After / X-RateLimit-Reset |
curl --request PATCH \
--url 'https://api.nsr.stateset.com/api/v1/rules/{id}' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"confidence": 7.5,
"description": "Two-person tent, green — replacement for damaged pole set.",
"enabled": true,
"priority": 1,
"test_cases": [
{
"expected_output": {},
"input_bindings": {},
"name": "Two-Person Tent",
"should_fire": true
}
]
}'
{
"body_count": 1,
"confidence": 7.5,
"description": "Two-person tent, green — replacement for damaged pole set.",
"enabled": true,
"head_args": [
"string"
],
"head_predicate": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Two-Person Tent",
"priority": 1,
"test_case_count": 1,
"test_cases": [
{
"expected_output": {},
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"input_bindings": {},
"name": "Two-Person Tent",
"should_fire": true
}
]
}
Last modified on August 31, 2026