07Body file templates
Start with these files and let the agent replace IDs from previous JSON responses. Keep payloads in files so retries are reviewable.
meta.jsonCreate metadata and fields
POST body for metadata upsert. Omit field types unless you need to constrain inference with values from dl metadata col-types.
{
"table": {
"spId": "<spId>",
"nodeName": "payment_order",
"nodeType": "TABLE",
"riskLevel": "HIGH",
"appName": "billing",
"comment": "Payment order export"
},
"fields": [
{"fieldName": "order_id", "primaryKey": true, "joinKey": true},
{"fieldName": "paid_amount", "riskLevel": "HIGH"},
{"fieldName": "paid_status"}
]
}
binding.jsonBind source columns
POST body for source binding upsert.
{
"metaTableId": 1001,
"dataSourceId": "<dataSourceId>",
"sourceName": "orders.csv",
"fieldMappings": {
"Order ID": "order_id",
"Paid Amount": "paid_amount",
"Status": "paid_status"
},
"primaryKeyFields": ["order_id"]
}
assembly.jsonSubmit an assembly task
POST body for turning raw tables into assembled data.
{
"displayName": "payment settlement assembly",
"inputDatasetIds": ["<rawDatasetId>"],
"riskModelId": "<riskModelId>",
"outputDatasetName": "payment-settlement-assembled",
"assemblyOptions": {
"anchor": "payment_order",
"joinMode": "LEFT_PRESERVE"
}
}
check-model.jsonCreate a reconciliation model
POST body for reconciliation model create.
{
"spId": "<spId>",
"title": "Paid orders reconcile to access",
"version": "v1",
"riskLevel": "P1",
"modelType": "TM",
"checkerType": "DEFAULT",
"description": "Paid orders must unlock the matching entitlement and settlement row."
}
rule.jsonAdd a reviewed rule
POST body for rule add. ruleType must be one of the values returned by dl rule types.
{
"spId": "<spId>",
"title": "paid order unlocks entitlement",
"modelId": "<modelCode-or-id>",
"modelVersion": "v1",
"ruleType": "LOGIC",
"ruleContent": "paid_status == PAID -> entitlement_status == ACTIVE",
"state": "ONLINE",
"generateType": "CUSTOM",
"ruleTables": ["payment_order", "entitlement"]
}
run.jsonSubmit an execution run
POST body for run submit.
{
"displayName": "payment ledger smoke",
"datasetId": "<assembledDatasetId>",
"riskModelId": 101,
"ruleScope": "PUBLISHED",
"selectedRuleIds": [],
"executionOptions": {"mode": "smoke"}
}
alert-email-channel.jsonConfigure email alerts
POST body for alert channel upsert.
{
"displayName": "Finance incident inbox",
"channelType": "EMAIL",
"enabled": true,
"minSeverity": "HIGH",
"recipients": ["finance-ops@example.com"]
}
alert-webhook-channel.jsonConfigure webhook alerts
POST body for webhook-based delivery.
{
"displayName": "Incident webhook",
"channelType": "WEBHOOK",
"enabled": true,
"minSeverity": "MEDIUM",
"webhookUrl": "https://example.com/driftledger-alerts",
"webhookSecret": "replace-with-shared-secret"
}