Edit a bank-authored rule
PUT
/v1/rules/custom/{id}
const url = 'http://localhost:8080/v1/rules/custom/example';const options = { method: 'PUT', headers: {'Content-Type': 'application/json'}, body: '{"id":"example","title":"example","severity":"example","field":"example","comparison":"example","kind":"example","docType":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url http://localhost:8080/v1/rules/custom/example \ --header 'Content-Type: application/json' \ --data '{ "id": "example", "title": "example", "severity": "example", "field": "example", "comparison": "example", "kind": "example", "docType": "example" }'Replaces the spec of an existing custom rule; the id is kept. Administrators only. 404 for an unknown custom rule, 400 when the new spec is invalid.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
Wire shape for creating/editing a custom rule; maps 1:1 onto CustomRuleSpec.
object
id
null | string
title
string
severity
string
field
string
comparison
string
kind
null | string
docType
null | string
Examplegenerated
{ "id": "example", "title": "example", "severity": "example", "field": "example", "comparison": "example", "kind": "example", "docType": "example"}Responses
Section titled “Responses”OK
Media typeapplication/json
object
rulesetVersion
required
string
rules
required
Array<object>
One row of the Rules page: a shipped or bank-authored rule with its policy state.
object
id
required
string
version
required
string
severity
required
string
title
required
string
fields
required
Array<string>
enabled
required
boolean
isCustom
required
boolean
spec
required
One of:
null
One bank-authored rule, declaratively: a canonical field and one of three comparisons. Evaluated by CustomRule; the same deterministic engine path as the shipped catalog, so custom rules are configuration, never code, and runtime behaviour stays explainable line by line.
object
id
required
string
title
required
string
severity
required
string
field
required
string
comparison
required
string
kind
null | string
docType
null | string
Examplegenerated
{ "rulesetVersion": "example", "rules": [ { "id": "example", "version": "example", "severity": "example", "title": "example", "fields": [ "example" ], "enabled": true, "isCustom": true, "spec": { "id": "example", "title": "example", "severity": "example", "field": "example", "comparison": "example", "kind": "example", "docType": "example" } } ]}