Agent Analysis API
What it does
Section titled “What it does”POST /api/analytics/evaluate evaluates one reproducible die population under
up to twelve proposed limit scenarios. It is a bounded, read-only endpoint for
agents and unattended workflows using a bearer token from a user session or a
service-account key with read or full scope.
The endpoint is the automation counterpart to Analyze brushing and what-if limits, but it does not remote-control the browser. It accepts stable selection predicates rather than pointer coordinates, canvas pixels, or a serialized die mask.
Selections can combine:
- wafer numbers and coordinate rectangles
- site and head numbers
- hard bins, soft bins, and pass/fail state
- a result range for a native test number and optional MPR return index
Predicates use an OR-of-AND form: any clause may match, every all_of filter in
that clause must match, and every none_of filter must not match.
Reproducibility
Section titled “Reproducibility”Every request must provide an exact snapshot_job_id and the current
semantics_version. Responses identify the acquisition, curated schema,
analysis semantics, loaded defaults and overrides, normalized limits, selected
and evaluated die counts, and deterministic fingerprints.
Die identity is evaluated on the final die attempt. Parametric selection and limit impact use the account’s configured retest handling and active spec overrides. The response contains aggregate yield impact, not die-level rows.
Example
Section titled “Example”{ "lot_id": "LOT-2026-0042", "snapshot_job_id": "550e8400-e29b-41d4-a716-446655440000", "semantics_version": 1, "selection": { "any_of": [{ "all_of": [ { "type": "wafer", "wafer_numbers": [1, 2] }, { "type": "rectangle", "min_x": -20, "max_x": 20, "min_y": -20, "max_y": 20 }, { "type": "result_range", "test_number": 1001, "return_index": null, "min": 1e-15, "max": 8e-15 } ], "none_of": [ { "type": "hard_bin", "values": [90, 91] } ] }] }, "scenarios": [{ "id": "wider-leakage", "limits": [{ "test_number": 1001, "return_index": null, "lsl": null, "usl": 9e-15 }] }]}See API Reference for the complete request and response schemas.
Safety boundaries
Section titled “Safety boundaries”The synchronous contract permits at most twelve scenarios and 128 limits per scenario. Each API process admits four evaluations, waits up to five seconds for capacity, and interrupts execution after 120 seconds.
Evaluation cannot save an analysis, approve a proposal, publish a disposition, or apply production limits. Browser brush index runs, polygons, named spatial regions, and free-form SQL are not selection predicates in version 1.