Skip to content

Runs the SAME scenario/steps against two variants, scores both (if a Scorer is wired) or compares their deterministic outputs_hash, derives a verdict + delta, and persists two runs plus a sandbox_comparison (append-only deploy-decision evidence).

POST
/v1/m/sandbox/compare
curl --request POST \
--url https://example.com/v1/m/sandbox/compare \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "baseline_variant": "example", "candidate_variant": "example", "scenario_ref": "example", "session_ref": "example", "suite_ref": "example" }'

Runs the SAME scenario/steps against two variants, scores both (if a Scorer is wired) or compares their deterministic outputs_hash, derives a verdict + delta, and persists two runs plus a sandbox_comparison (append-only deploy-decision evidence).

X-Olivares-Tenant
string format: uuid

Target tenant id; required when the principal can act in more than one tenant.

Media type application/json
Any of:
object
baseline_variant
required

After trimming and byte-capping, must be non-empty.

string
candidate_variant
required

After trimming and byte-capping, must be non-empty.

string
scenario_ref
required
string
>= 1 characters
session_ref
Any of:

Trimmed and byte-capped.

string
suite_ref
Any of:

Trimmed before optional scoring.

string
Example generated
{
"baseline_variant": "example",
"candidate_variant": "example",
"scenario_ref": "example",
"session_ref": "example",
"suite_ref": "example"
}

OK

Media type application/json
object
Example generated
{}

Bad request

Media type application/json
object
Example generated
{}

Unauthenticated

Media type application/json
object
Example generated
{}

Forbidden

Media type application/json
object
Example generated
{}

Not found

Media type application/json
object
Example generated
{}

Conflict / setup required

Media type application/json
object
Example generated
{}

Rate limited

Media type application/json
object
Example generated
{}