Skip to main content
This page covers every public API endpoint for managing transaction monitoring rules and evaluating transactions. For a visual walkthrough of the Rule Builder, see Building rules. Full API endpoint details are available in the API Reference (requires API credentials).

Rule templates

List templates

Endpoint: GET /v1/rule-templates List available pre-built templates with pagination and filtering.
You can filter templates by name, products, or typologies:

Get a template

Endpoint: GET /v1/rule-templates/{id}

Copy a template

Endpoint: POST /v1/rule-templates/{id}/copy Copy a template into your workspace as a draft rule that you can customize.
The response contains the ruleId of the newly created draft.

Rules

Create a rule

Endpoint: POST /v1/rules Create a rule from scratch with custom conditions and actions. The rule is created in draft status.
The CREATE_ALERT action also accepts optional fields for alert routing: subCategory, assigneeId, and dueDateHours. See the conditions reference for the full list.

Rule structure

List rules

Endpoint: GET /v1/rules List rules with pagination, sorting, and filtering.
You can filter by status, name, and dates:

Get a rule

Endpoint: GET /v1/rules/{id} Retrieve a rule by ID. Optionally pass a version query parameter to get a specific version.

Update a rule

Endpoint: PUT /v1/rules/{id} Modify a rule’s name, description, conditions, or actions. When updating an active rule, pass an optional reason for the audit log.
Updating an active rule creates a new version. The previous version is preserved in the audit history.

Activate a rule

Endpoint: POST /v1/rules/{id}/activate Activate a draft or disabled rule so it evaluates live transactions.
You can optionally pass a reason in the request body for audit purposes.

Disable a rule

Endpoint: POST /v1/rules/{id}/disable Pause an active rule. Disabled rules do not evaluate transactions but can be re-activated.
Only active rules can be disabled. Only draft or disabled rules can be activated.

Delete a rule

Endpoint: DELETE /v1/rules/{id} Soft-delete a non-active (draft or disabled) rule. Active rules must be disabled first.

Evaluation

You can also trigger synchronous evaluation during deposit, withdrawal, trade, or transfer ingestion by setting evaluateSynchronously: true on the transaction object. See Halting transactions for details.

Evaluate a transaction

Endpoint: POST /v1/evaluation/evaluate Evaluate a transaction against all active rules on-demand. This is useful for testing or evaluating transactions outside the normal ingestion flow. On-demand evaluation does not save the transaction and does not create alerts. Use the response body to inspect the decision and matching rules.
For velocity and other client-scoped rules, identify the relevant parties with from.client.id and to.client.id. You can send referenceId instead of id when it is the stable identifier from your system. A flat clientId field does not identify a transfer’s sender and recipient. For bank-account rules, ingest the bank accounts first and send from.bankAccount.id and to.bankAccount.id. Corsa loads bank-account facts from those IDs. Account or routing numbers in the evaluation payload do not replace the account IDs. For aggregation rules, aggregationIncludeCurrentTransaction controls whether the transaction in this request is part of the result. When it is true, Corsa evaluates history plus the current transaction. When it is omitted or false, Corsa evaluates history only.

Evaluation response

Results by rule

Endpoint: GET /v1/evaluation/rule/{ruleId}/results See all transactions evaluated against a specific rule.

Results by transaction

Endpoint: GET /v1/evaluation/transaction/{transactionId}/results See all rules evaluated against a specific transaction. Use the Corsa transaction UUID for {transactionId}, not your integration referenceId.

What’s next?

Ingest operations

Ingest deposits, withdrawals, and trades to be evaluated by your rules.

Manage alerts & cases

Manage alerts created by rule evaluations.

Building rules

Use the no-code Rule Builder to create and test rules visually.

Conditions reference

Full reference for operators, entities, and aggregations.