> For the complete documentation index, see [llms.txt](https://docs.kick.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kick.co/api/api-reference/transaction-rules.md).

# Transaction Rules

Transaction rules categorize a workspace's transactions as Kick processes them, so all five endpoints are nested under the workspace uuid. Listing returns them in application order, and a rule you create lands in the workspace's default rule group.

A rule takes effect on future processing only. Creating one does not reprocess transactions already in the books, and deleting one leaves the values it already applied in place.

On update, `conditions` and `actions` are replaced as a whole when present, so send the full desired set rather than the pieces you want changed.

## List transaction rules

> Returns the workspace's transaction rules in application order. Results are paged with \`limit\`/\`offset\`.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/workspaces/{workspaceId}/transaction-rules":{"get":{"description":"Returns the workspace's transaction rules in application order. Results are paged with `limit`/`offset`.","operationId":"transactionRules.list","parameters":[{"in":"path","name":"workspaceId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"limit","schema":{"default":100,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"nullable":true,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"properties":{"actions":{"items":{"discriminator":{"propertyName":"actionType"},"oneOf":[{"properties":{"actionType":{"enum":["account_id"],"type":"string"},"value":{"description":"Chart of accounts account id to book matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["account_name"],"type":"string"},"value":{"description":"Chart of accounts account name to book matching transactions to. The account must exist on every entity the rule covers.","maxLength":500,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_id"],"type":"string"},"value":{"description":"Accrual-basis account id to book matching transactions to. Requires the accrual ledger.","properties":{"accountId":{"format":"uuid","type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountId"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_name"],"type":"string"},"value":{"description":"Accrual-basis account name to book matching transactions to. Requires the accrual ledger.","properties":{"accountName":{"maxLength":500,"minLength":1,"type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountName"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids to assign to matching transactions.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["memo"],"type":"string"},"value":{"description":"Memo text to set on matching transactions.","maxLength":5000,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity id to move matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"}]},"type":"array"},"conditions":{"items":{"discriminator":{"propertyName":"conditionType"},"oneOf":[{"properties":{"conditionType":{"enum":["description_is"],"type":"string"},"value":{"description":"Bank descriptions the transaction description must equal (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_includes"],"type":"string"},"value":{"description":"Keywords the transaction description must contain (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_does_not_include"],"type":"string"},"value":{"description":"Keywords the transaction description must not contain.","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount"],"type":"string"},"value":{"description":"Inclusive amount range the transaction must fall into.","properties":{"max":{"type":"number"},"min":{"type":"number"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["date"],"type":"string"},"value":{"description":"Calendar day range (YYYY-MM-DD) the transaction date must fall into.","properties":{"after":{"type":"string"},"before":{"type":"string"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_not_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must not match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity ids the transaction must belong to. When omitted on create, the rule covers all entities of the workspace.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["financial_accounts"],"type":"string"},"value":{"description":"Financial account ids (as exposed by the Plaid connection endpoints) the transaction must come from.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids the transaction must be assigned to.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"}]},"type":"array"},"id":{"format":"uuid","type":"string"},"isDisabled":{"description":"Disabled rules are kept but no longer applied.","type":"boolean"},"note":{"nullable":true,"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","isDisabled","note","updatedAt","conditions","actions"],"type":"object"},"type":"array"},"pagination":{"properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}},"required":["limit","offset","total"],"type":"object"}},"required":["data","pagination"],"type":"object"}}},"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"List transaction rules","tags":["transactionRules"]}}}}
```

## Create a transaction rule

> Creates a rule in the workspace's default transaction rule group. The rule applies to future transaction processing; existing transactions are not re-processed.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/workspaces/{workspaceId}/transaction-rules":{"post":{"description":"Creates a rule in the workspace's default transaction rule group. The rule applies to future transaction processing; existing transactions are not re-processed.","operationId":"transactionRules.create","parameters":[{"in":"path","name":"workspaceId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"actions":{"description":"Actions applied when all rule conditions match.","items":{"discriminator":{"propertyName":"actionType"},"oneOf":[{"properties":{"actionType":{"enum":["account_id"],"type":"string"},"value":{"description":"Chart of accounts account id to book matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["account_name"],"type":"string"},"value":{"description":"Chart of accounts account name to book matching transactions to. The account must exist on every entity the rule covers.","maxLength":500,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_id"],"type":"string"},"value":{"description":"Accrual-basis account id to book matching transactions to. Requires the accrual ledger.","properties":{"accountId":{"format":"uuid","type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountId"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_name"],"type":"string"},"value":{"description":"Accrual-basis account name to book matching transactions to. Requires the accrual ledger.","properties":{"accountName":{"maxLength":500,"minLength":1,"type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountName"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids to assign to matching transactions.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["memo"],"type":"string"},"value":{"description":"Memo text to set on matching transactions.","maxLength":5000,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity id to move matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"}]},"maxItems":10,"minItems":1,"type":"array"},"conditions":{"description":"Conditions that must all match for the rule to apply. An entity condition covering all workspace entities is added automatically when omitted.","items":{"discriminator":{"propertyName":"conditionType"},"oneOf":[{"properties":{"conditionType":{"enum":["description_is"],"type":"string"},"value":{"description":"Bank descriptions the transaction description must equal (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_includes"],"type":"string"},"value":{"description":"Keywords the transaction description must contain (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_does_not_include"],"type":"string"},"value":{"description":"Keywords the transaction description must not contain.","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount"],"type":"string"},"value":{"description":"Inclusive amount range the transaction must fall into.","properties":{"max":{"type":"number"},"min":{"type":"number"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["date"],"type":"string"},"value":{"description":"Calendar day range (YYYY-MM-DD) the transaction date must fall into.","properties":{"after":{"type":"string"},"before":{"type":"string"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_not_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must not match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity ids the transaction must belong to. When omitted on create, the rule covers all entities of the workspace.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["financial_accounts"],"type":"string"},"value":{"description":"Financial account ids (as exposed by the Plaid connection endpoints) the transaction must come from.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids the transaction must be assigned to.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"}]},"maxItems":20,"minItems":1,"type":"array"},"note":{"maxLength":5000,"nullable":true,"type":"string"}},"required":["conditions","actions"],"type":"object"}}},"description":"Body"},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"rule":{"properties":{"actions":{"items":{"discriminator":{"propertyName":"actionType"},"oneOf":[{"properties":{"actionType":{"enum":["account_id"],"type":"string"},"value":{"description":"Chart of accounts account id to book matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["account_name"],"type":"string"},"value":{"description":"Chart of accounts account name to book matching transactions to. The account must exist on every entity the rule covers.","maxLength":500,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_id"],"type":"string"},"value":{"description":"Accrual-basis account id to book matching transactions to. Requires the accrual ledger.","properties":{"accountId":{"format":"uuid","type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountId"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_name"],"type":"string"},"value":{"description":"Accrual-basis account name to book matching transactions to. Requires the accrual ledger.","properties":{"accountName":{"maxLength":500,"minLength":1,"type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountName"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids to assign to matching transactions.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["memo"],"type":"string"},"value":{"description":"Memo text to set on matching transactions.","maxLength":5000,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity id to move matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"}]},"type":"array"},"conditions":{"items":{"discriminator":{"propertyName":"conditionType"},"oneOf":[{"properties":{"conditionType":{"enum":["description_is"],"type":"string"},"value":{"description":"Bank descriptions the transaction description must equal (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_includes"],"type":"string"},"value":{"description":"Keywords the transaction description must contain (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_does_not_include"],"type":"string"},"value":{"description":"Keywords the transaction description must not contain.","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount"],"type":"string"},"value":{"description":"Inclusive amount range the transaction must fall into.","properties":{"max":{"type":"number"},"min":{"type":"number"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["date"],"type":"string"},"value":{"description":"Calendar day range (YYYY-MM-DD) the transaction date must fall into.","properties":{"after":{"type":"string"},"before":{"type":"string"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_not_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must not match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity ids the transaction must belong to. When omitted on create, the rule covers all entities of the workspace.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["financial_accounts"],"type":"string"},"value":{"description":"Financial account ids (as exposed by the Plaid connection endpoints) the transaction must come from.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids the transaction must be assigned to.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"}]},"type":"array"},"id":{"format":"uuid","type":"string"},"isDisabled":{"description":"Disabled rules are kept but no longer applied.","type":"boolean"},"note":{"nullable":true,"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","isDisabled","note","updatedAt","conditions","actions"],"type":"object"}},"required":["rule"],"type":"object"}}},"description":"201"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Create a transaction rule","tags":["transactionRules"]}}}}
```

## Retrieve a transaction rule

> Returns a single transaction rule of the workspace. A rule outside the organization's book of business reads as not found.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/workspaces/{workspaceId}/transaction-rules/{ruleId}":{"get":{"description":"Returns a single transaction rule of the workspace. A rule outside the organization's book of business reads as not found.","operationId":"transactionRules.get","parameters":[{"in":"path","name":"workspaceId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"ruleId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"rule":{"properties":{"actions":{"items":{"discriminator":{"propertyName":"actionType"},"oneOf":[{"properties":{"actionType":{"enum":["account_id"],"type":"string"},"value":{"description":"Chart of accounts account id to book matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["account_name"],"type":"string"},"value":{"description":"Chart of accounts account name to book matching transactions to. The account must exist on every entity the rule covers.","maxLength":500,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_id"],"type":"string"},"value":{"description":"Accrual-basis account id to book matching transactions to. Requires the accrual ledger.","properties":{"accountId":{"format":"uuid","type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountId"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_name"],"type":"string"},"value":{"description":"Accrual-basis account name to book matching transactions to. Requires the accrual ledger.","properties":{"accountName":{"maxLength":500,"minLength":1,"type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountName"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids to assign to matching transactions.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["memo"],"type":"string"},"value":{"description":"Memo text to set on matching transactions.","maxLength":5000,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity id to move matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"}]},"type":"array"},"conditions":{"items":{"discriminator":{"propertyName":"conditionType"},"oneOf":[{"properties":{"conditionType":{"enum":["description_is"],"type":"string"},"value":{"description":"Bank descriptions the transaction description must equal (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_includes"],"type":"string"},"value":{"description":"Keywords the transaction description must contain (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_does_not_include"],"type":"string"},"value":{"description":"Keywords the transaction description must not contain.","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount"],"type":"string"},"value":{"description":"Inclusive amount range the transaction must fall into.","properties":{"max":{"type":"number"},"min":{"type":"number"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["date"],"type":"string"},"value":{"description":"Calendar day range (YYYY-MM-DD) the transaction date must fall into.","properties":{"after":{"type":"string"},"before":{"type":"string"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_not_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must not match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity ids the transaction must belong to. When omitted on create, the rule covers all entities of the workspace.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["financial_accounts"],"type":"string"},"value":{"description":"Financial account ids (as exposed by the Plaid connection endpoints) the transaction must come from.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids the transaction must be assigned to.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"}]},"type":"array"},"id":{"format":"uuid","type":"string"},"isDisabled":{"description":"Disabled rules are kept but no longer applied.","type":"boolean"},"note":{"nullable":true,"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","isDisabled","note","updatedAt","conditions","actions"],"type":"object"}},"required":["rule"],"type":"object"}}},"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Retrieve a transaction rule","tags":["transactionRules"]}}}}
```

## Update a transaction rule

> Updates a rule. \`conditions\` and \`actions\` replace the existing sets when provided.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/workspaces/{workspaceId}/transaction-rules/{ruleId}":{"patch":{"description":"Updates a rule. `conditions` and `actions` replace the existing sets when provided.","operationId":"transactionRules.update","parameters":[{"in":"path","name":"workspaceId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"ruleId","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"actions":{"description":"Full replacement set of actions.","items":{"discriminator":{"propertyName":"actionType"},"oneOf":[{"properties":{"actionType":{"enum":["account_id"],"type":"string"},"value":{"description":"Chart of accounts account id to book matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["account_name"],"type":"string"},"value":{"description":"Chart of accounts account name to book matching transactions to. The account must exist on every entity the rule covers.","maxLength":500,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_id"],"type":"string"},"value":{"description":"Accrual-basis account id to book matching transactions to. Requires the accrual ledger.","properties":{"accountId":{"format":"uuid","type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountId"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_name"],"type":"string"},"value":{"description":"Accrual-basis account name to book matching transactions to. Requires the accrual ledger.","properties":{"accountName":{"maxLength":500,"minLength":1,"type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountName"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids to assign to matching transactions.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["memo"],"type":"string"},"value":{"description":"Memo text to set on matching transactions.","maxLength":5000,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity id to move matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"}]},"maxItems":10,"minItems":1,"type":"array"},"conditions":{"description":"Full replacement set of conditions. An entity condition covering all workspace entities is added automatically when omitted.","items":{"discriminator":{"propertyName":"conditionType"},"oneOf":[{"properties":{"conditionType":{"enum":["description_is"],"type":"string"},"value":{"description":"Bank descriptions the transaction description must equal (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_includes"],"type":"string"},"value":{"description":"Keywords the transaction description must contain (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_does_not_include"],"type":"string"},"value":{"description":"Keywords the transaction description must not contain.","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount"],"type":"string"},"value":{"description":"Inclusive amount range the transaction must fall into.","properties":{"max":{"type":"number"},"min":{"type":"number"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["date"],"type":"string"},"value":{"description":"Calendar day range (YYYY-MM-DD) the transaction date must fall into.","properties":{"after":{"type":"string"},"before":{"type":"string"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_not_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must not match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity ids the transaction must belong to. When omitted on create, the rule covers all entities of the workspace.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["financial_accounts"],"type":"string"},"value":{"description":"Financial account ids (as exposed by the Plaid connection endpoints) the transaction must come from.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids the transaction must be assigned to.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"}]},"maxItems":20,"minItems":1,"type":"array"},"isDisabled":{"description":"Set true to disable the rule without deleting it.","type":"boolean"},"note":{"description":"Internal rule note. Use null to clear.","maxLength":5000,"nullable":true,"type":"string"}},"type":"object"}}},"description":"Body"},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"rule":{"properties":{"actions":{"items":{"discriminator":{"propertyName":"actionType"},"oneOf":[{"properties":{"actionType":{"enum":["account_id"],"type":"string"},"value":{"description":"Chart of accounts account id to book matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["account_name"],"type":"string"},"value":{"description":"Chart of accounts account name to book matching transactions to. The account must exist on every entity the rule covers.","maxLength":500,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_id"],"type":"string"},"value":{"description":"Accrual-basis account id to book matching transactions to. Requires the accrual ledger.","properties":{"accountId":{"format":"uuid","type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountId"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["accrual_account_name"],"type":"string"},"value":{"description":"Accrual-basis account name to book matching transactions to. Requires the accrual ledger.","properties":{"accountName":{"maxLength":500,"minLength":1,"type":"string"},"autoConfirm":{"default":false,"type":"boolean"}},"required":["accountName"],"type":"object"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids to assign to matching transactions.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["memo"],"type":"string"},"value":{"description":"Memo text to set on matching transactions.","maxLength":5000,"minLength":1,"type":"string"}},"required":["actionType","value"],"type":"object"},{"properties":{"actionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity id to move matching transactions to.","format":"uuid","type":"string"}},"required":["actionType","value"],"type":"object"}]},"type":"array"},"conditions":{"items":{"discriminator":{"propertyName":"conditionType"},"oneOf":[{"properties":{"conditionType":{"enum":["description_is"],"type":"string"},"value":{"description":"Bank descriptions the transaction description must equal (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_includes"],"type":"string"},"value":{"description":"Keywords the transaction description must contain (any of).","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["description_does_not_include"],"type":"string"},"value":{"description":"Keywords the transaction description must not contain.","items":{"maxLength":500,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount"],"type":"string"},"value":{"description":"Inclusive amount range the transaction must fall into.","properties":{"max":{"type":"number"},"min":{"type":"number"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["date"],"type":"string"},"value":{"description":"Calendar day range (YYYY-MM-DD) the transaction date must fall into.","properties":{"after":{"type":"string"},"before":{"type":"string"}},"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["amount_is_not_round"],"type":"string"},"value":{"description":"Rounding level the transaction amount must not match.","properties":{"isCredit":{"type":"boolean"},"level":{"enum":["dollar","ten","hundred","thousand"],"type":"string"}},"required":["level","isCredit"],"type":"object"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["entity"],"type":"string"},"value":{"description":"Entity ids the transaction must belong to. When omitted on create, the rule covers all entities of the workspace.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["financial_accounts"],"type":"string"},"value":{"description":"Financial account ids (as exposed by the Plaid connection endpoints) the transaction must come from.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"},{"properties":{"conditionType":{"enum":["class"],"type":"string"},"value":{"description":"Class ids the transaction must be assigned to.","items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["conditionType","value"],"type":"object"}]},"type":"array"},"id":{"format":"uuid","type":"string"},"isDisabled":{"description":"Disabled rules are kept but no longer applied.","type":"boolean"},"note":{"nullable":true,"type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","isDisabled","note","updatedAt","conditions","actions"],"type":"object"}},"required":["rule"],"type":"object"}}},"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Update a transaction rule","tags":["transactionRules"]}}}}
```

## Delete a transaction rule

> Deletes a rule. Transactions it already categorized keep their values.

```json
{"openapi":"3.0.2","info":{"title":"Kick Platform API","version":"v1"},"servers":[{"description":"Production","url":"https://use.kick.co/api"}],"security":[{"organizationAccessToken":[]}],"components":{"securitySchemes":{"organizationAccessToken":{"description":"Organization access token issued by Kick, sent as `Authorization: Bearer kick_org_...`.","scheme":"bearer","type":"http"}}},"paths":{"/platform/v1/workspaces/{workspaceId}/transaction-rules/{ruleId}":{"delete":{"description":"Deletes a rule. Transactions it already categorized keep their values.","operationId":"transactionRules.delete","parameters":[{"in":"path","name":"workspaceId","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"ruleId","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"200"},"400":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"400"},"401":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"401"},"404":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"404"},"429":{"content":{"application/json":{"schema":{"properties":{"message":{"type":"string"},"traceId":{"nullable":true,"type":"string"}},"required":["message"],"type":"object"}}},"description":"429"}},"summary":"Delete a transaction rule","tags":["transactionRules"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kick.co/api/api-reference/transaction-rules.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
