validations
Manage custom validation scripts and submit validation results
limai validations <subcommand>Manage custom validation scripts on a model or deployment and submit validation results.
--jsonOutput raw JSON--verboseEnable debug loggingCustom validation scripts
limai validations scripts push uploads the script source and registers it in one call, so adding a validation needs nothing but your normal API token — no separate storage or database credentials.
limai validations scripts push
limai validations scripts push <extractionSchemaId>Upload a validation script and register it. Creates it, or bumps its version when the source changed.
--dir <path>Script directory containing manifest.json and script.mjs--file <path>Script source file (.mjs) — requires --key and --name--key <key>Script key (lowercase letters, digits, hyphens)--name <name>Human-readable script name--description <text>What the script checks--behavior <behavior>SURFACE (report only) or RESEND (request a re-extraction). Defaults to SURFACE--timeout-ms <ms>Per-run timeout in milliseconds (1000–600000)--disabledRegister the script without enabling itPushing is idempotent and content-addressed. The command reports what it did: created, new-version (the source changed), metadata-updated (only the name, description, behavior, enabled flag or timeout differed) or unchanged.
With --dir, key, name, description and behavior are read from manifest.json and any explicit flag overrides the manifest value.
limai validations scripts list
limai validations scripts list <extractionSchemaId>List the custom validation scripts registered on a schema, enabled or not.
limai validations scripts get
limai validations scripts get <extractionSchemaId> <key>Show one custom validation script.
--sourcePrint the registered script source--output <path>Write the registered script source to a filelimai validations scripts update
limai validations scripts update <extractionSchemaId> <key>Update script metadata without uploading a new source version.
--name <name>New name--description <text>New description--behavior <behavior>SURFACE or RESEND--timeout-ms <ms>Per-run timeout in milliseconds--enableEnable the script--disableDisable the script without deleting its historylimai validations scripts delete
limai validations scripts delete <extractionSchemaId> <key>Delete a validation script and all of its stored results. Use `update --disable` to keep the history.
Validation results
limai validations submit
limai validations submit <extractionSchemaId> <fileId>Submit a validation result for a file.
--findings-file <path>Findings JSON array (required)--changes-file <path>Cell changes JSON array--breakdown-file <path>Breakdown JSON object--new-rows-file <path>New rows JSON array--no-strictSkip unresolved references instead of failing the whole requestCell changes and new rows that target already reviewed data are not written. The submission still succeeds and the verdict is still recorded, but the proposed correction is surfaced as a flag on the cell for a human to act on and comes back in cellChangesFlagged / rowsFlagged instead of cellChangesApplied / rowsAdded. Data counts as reviewed when its row is accepted, or when the whole document is marked reviewed.
Examples
Push a script from a directory
A script directory holds a manifest.json and a script.mjs:
limai validations scripts push esch_abc123 --dir ./validations/vin-checksum{
"key": "vin-checksum",
"name": "VIN format (ISO 3779)",
"description": "Validates the VIN against the ISO 3779 format",
"behavior": "RESEND"
}Push a bare script file
limai validations scripts push esch_abc123 \
--file ./check-totals.mjs \
--key check-totals \
--name "Invoice totals reconcile" \
--behavior SURFACECheck what is deployed before changing it
limai validations scripts get esch_abc123 vin-checksum --output ./current.mjs
diff ./current.mjs ./validations/vin-checksum/script.mjsTurn a script off without losing its results
limai validations scripts update esch_abc123 vin-checksum --disable