First validated change
In the disposable sample, use a verified identity with write permission for the target cell. Start from the current read. Replace {{numeric_change_id}} with the returned numeric change ID. Create a fresh key for this logical intent and save it before submitting.
Call preview_v2_program with these router arguments.
{
"workspace_id": "{{workspace_id}}",
"application_id": "operating-cube",
"program": {
"languageVersion": 2,
"function": "facts.numeric.batch",
"arguments": {
"mutations": [
{
"coordinate": {
"Account": "InputA",
"Entity": "PointA",
"Year": "Y2027",
"Period": "P01",
"View": "Input",
"Value": "Raw",
"Custom01": "ItemA",
"Scenario": "Actual",
"DataType": "InputData"
},
"op": "set",
"value": {
"type": "AmountLiteral",
"decimal": "12.50000000"
},
"expectedChangeId": "{{numeric_change_id}}"
}
]
}
}
}
Review the exact coordinate, operation, and returned preview. Call submit_v2_program with the same scope and exact typed program, the returned previewToken as preview_token, and your stable idempotency_key. Preserve these arguments privately before sending. Keep any dependency IDs in their original order. The server returns a durable jobId. Use it to check publication.
If the server reports a stale preview or denies the write, check the current cell and grant and review the updated intent. If the connection fails before you receive a result, follow the reconciliation steps with the original request.