Skip to content

Create Rule Endpoint

POST
/api/v1/categorization-rules
curl --request POST \
--url https://example.com/api/v1/categorization-rules \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "priority": 1, "enabled": true, "apply_on_import": true, "conditions": { "kind": "group", "op": "and", "children": [ { "kind": "leaf", "field": "description", "op": "contains", "value": [ "example" ], "value_to": 1 } ] }, "action_category_id": 1, "action_subcategory_id": 1, "action_tag_ids": [ 1 ], "action_suggested_label": "example" }'
Media typeapplication/json
CategorizationRuleCreate
object
name
required
Name
string
>= 1 characters <= 100 characters
priority
required
Priority
integer
enabled
Enabled
boolean
default: true
apply_on_import
Apply On Import
boolean
default: true
conditions
required
ConditionGroup

A boolean AND/OR/NOT of child conditions (leaves or nested groups). “not” reads only children[0] – a NOT with more than one child is accepted (simplifies client-side tree building) but only negates the first.

object
kind
Kind
string
default: group
Allowed value: group
op
required
Op
string
Allowed values: and or not
children
required
Children
Array
>= 1 items <= 50 items
One of: discriminator: kind
object recursive
action_category_id
Any of:
integer
action_subcategory_id
Any of:
integer
action_tag_ids
Any of:
Array<integer>
action_suggested_label
Any of:
string
<= 255 characters

Successful Response

Media typeapplication/json
CategorizationRuleOut
object
id
required
Id
integer
user_id
required
User Id
integer
name
required
Name
string
priority
required
Priority
integer
enabled
required
Enabled
boolean
apply_on_import
required
Apply On Import
boolean
conditions
required
Conditions
object
key
additional properties
any
action_category_id
required
Any of:
integer
action_subcategory_id
required
Any of:
integer
action_tag_ids
required
Any of:
Array<integer>
action_suggested_label
required
Any of:
string
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time
deleted_at
required
Any of:
string format: date-time

Example generated

{
"id": 1,
"user_id": 1,
"name": "example",
"priority": 1,
"enabled": true,
"apply_on_import": true,
"conditions": {},
"action_category_id": 1,
"action_subcategory_id": 1,
"action_tag_ids": [
1
],
"action_suggested_label": "example",
"created_at": "2026-04-15T12:00:00Z",
"updated_at": "2026-04-15T12:00:00Z",
"deleted_at": "2026-04-15T12:00:00Z"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object

Example generated

{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}