Openi DeveloperDeveloper

Create rule set from a template

Instantiate a rule set from a template by mapping each `{{variable}}` placeholder to a concrete field path (alphanumeric, `_`, `.` only). Validates that all required variables are mapped, sanitizes values, and rejects unmapped placeholders remaining in the resolved expression or params.

POST
/v1/rule-sets/from-template

Authorization

ApiKeyAuth
x-api-key<token>

Tenant API key

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Instantiate a rule set from a template, mapping each {{variable}} placeholder to a field path on the chosen datasets.

templateId*string
Formatuuid
name*string
Length1 <= length
leftDatasetId*string
Formatuuid
rightDatasetId*string
Formatuuid
variableMapping*

Map of variable name → field path (alphanumeric, _, . only).

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/rule-sets/from-template" \  -H "Content-Type: application/json" \  -d '{    "templateId": "196100ac-4eec-4fb6-a7f7-86c8b584771d",    "name": "string",    "leftDatasetId": "da32655f-386b-4d51-8ebc-4ea0ec36d9bf",    "rightDatasetId": "4d1d05d0-fe34-4c93-bf81-eed475911387",    "variableMapping": {      "property1": "string",      "property2": "string"    }  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "name": "string",  "left_dataset_id": "cb62a89e-6ea5-4cc0-b5b1-5e46e13b5681",  "right_dataset_id": "63e40be6-71bb-4521-bff6-3e1b9d7738e8",  "engine": "jsonata",  "jsonata_expr": "string",  "params": {    "Tmatch": 0,    "Tpossible": 0,    "windowDays": 0,    "amountTolerancePercent": 0,    "filters": [      "string"    ],    "matchers": [      {        "id": "string",        "name": "string",        "expr": "string",        "weight": 0,        "required": true      }    ],    "blocking": {      "amountKey": "string",      "dateKey": "string",      "amountKeyLeft": "string",      "amountKeyRight": "string",      "dateKeyLeft": "string",      "dateKeyRight": "string",      "amountTolerancePercent": 5,      "amountBucketSize": 10,      "amountBucketWindow": 2,      "dateToleranceDays": 5,      "enabled": true    },    "composition": {      "enabled": true,      "direction": "left_to_many_right",      "maxGroupSize": 2,      "amountTolerancePercent": 0,      "amountField": "string",      "groupByField": "string",      "dateStrategy": "none",      "dateFieldLeft": "string",      "dateFieldRight": "string",      "dateToleranceDays": 0,      "allowNegativeAmounts": false,      "preferCompleteGroup": false,      "skipAlreadyMatched": true,      "partial": {        "enabled": true,        "minMembers": 2,        "minCompletionRatio": 0,        "uniformityRatio": 0      },      "installmentDiscovery": {        "enabled": true,        "maxDivisor": 2,        "divisorTolerance": 0,        "totalCountField": "string",        "unitValueField": "string"      }    }  },  "logic_json": {},  "created_at": "2019-08-24T14:15:22Z"}