Open EPM ← Back to openepm.dev

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.

Discussion

Discussing First validated change

The discussion service requires JavaScript and a connection to Firebase.