Create an eval case
Adds one case to the suite. Both title and a non-empty steps array are required — steps is optional on the shared case shape so PATCH can be partial, but a case persisted without executable steps could never run. When models is omitted the suite's configured model is used.
Path parameters
ID of the hosted project that contains the server.
Eval suite ID, as returned by POST /eval-runs.
Query parameters
The suite file's own suite.id, when this request is that file syncing itself. A CI-owned suite (see EvalSuiteDetail.managedBy) refuses configuration writes with 409 and details.reason: "CI_OWNED_SUITE_READ_ONLY"; naming the suite's own declared id is how the file writing itself is allowed through. Naming any other id refuses exactly as loudly as naming none, so it is not a capability — omit it for an ordinary edit.
A QUERY PARAMETER on every route that takes it, never a body field. These request bodies are strict, here and on every Inspector that predates the CI-owned lock, so a body field is a 400 against an older deployment — which would break mcpjam cloud eval run --file for anyone whose CLI is newer than their Inspector. A query parameter is read by the deployments that know it and ignored by those that do not, which is the right degradation: an Inspector with no lock has no exception to make.
Headers
Which vocabulary this request and its response speak. Absent means 1, which is byte-for-byte today's contract: the same request fields, the same refusals, the same response projection. 2 is the canonical vocabulary. Any other value is a 400 with code: "VALIDATION_ERROR".
Today it decides one thing: the spelling of an evaluator's policy role. Vocabulary 1 accepts and returns gating; vocabulary 2 accepts both spellings and returns the canonical required. Sending required without the header is a 400, deliberately — vocabulary 1 is not widened to meet vocabulary 2 half way, because a boundary that accepts a spelling it does not announce is one two implementations can disagree about.
A response that varies by vocabulary sends Vary: x-mcpjam-eval-vocabulary.
Request body
Response
The created case.
Changes
Changed in 12 of the 122 revisions of this API.625
- ○
added the new optional request property
new-optional-request-property
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
- ▲
removed
subschema #1subschema #2subschema #3subschema #4subschema #5subschema #6subschema #7subschema #8subschema #9subschema #10subschema #11subschema #12subschema #13subschema #14subschema #15subschema #16subschema #17subschema #18subschema #19subschema #20subschema #21subschema #22subschema #23subschema #24subschema #25subschema #26subschema #27subschema #28subschema #29subschema #30subschema #31subschema #32subschema #33from the//request propertyoneOflistrequest-property-one-of-removed
- ▲
added
subschema #1subschema #2subschema #3subschema #4subschema #5subschema #6subschema #7subschema #8subschema #9subschema #10subschema #11subschema #12subschema #13subschema #14subschema #15subschema #16subschema #17subschema #18subschema #19subschema #20subschema #21subschema #22subschema #23subschema #24subschema #25subschema #26subschema #27subschema #28subschema #29subschema #30subschema #31subschema #32subschema #33to the//response propertyoneOflist for the response statusresponse-property-one-of-added
- ○
added the new optional
headerrequest parameterx-mcpjam-eval-vocabularynew-optional-request-parameter
- ○
added
subschema #1subschema #2subschema #3subschema #4subschema #5subschema #6subschema #7subschema #8subschema #9subschema #10subschema #11subschema #12subschema #13subschema #14subschema #15subschema #16subschema #17subschema #18subschema #19subschema #20subschema #21subschema #22subschema #23subschema #24subschema #25subschema #26subschema #27subschema #28subschema #29subschema #30subschema #31subschema #32subschema #33to the//request propertyoneOflistrequest-property-one-of-added
- ○
removed
subschema #1subschema #2subschema #3subschema #4subschema #5subschema #6subschema #7subschema #8subschema #9subschema #10subschema #11subschema #12subschema #13subschema #14subschema #15subschema #16subschema #17subschema #18subschema #19subschema #20subschema #21subschema #22subschema #23subschema #24subschema #25subschema #26subschema #27subschema #28subschema #29subschema #30subschema #31subschema #32subschema #33from the//response propertyoneOflist for the response statusresponse-property-one-of-removed
- ▲
- ▲
the
//request property type changed fromobjectto no typerequest-property-type-changed
- ▲
added
subschema #1subschema #2subschema #3subschema #4subschema #5subschema #6subschema #7subschema #8subschema #9subschema #10subschema #11subschema #12subschema #13subschema #14subschema #15subschema #16subschema #17subschema #18subschema #19subschema #20subschema #21subschema #22subschema #23subschema #24subschema #25subschema #26subschema #27subschema #28subschema #29subschema #30subschema #31subschema #32subschema #33to the//response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
the
//response's property type changed fromobjectto no type for statusresponse-property-type-changed
- ○
added the new optional request property
new-optional-request-property
- ○
added
subschema #1subschema #2subschema #3subschema #4subschema #5subschema #6subschema #7subschema #8subschema #9subschema #10subschema #11subschema #12subschema #13subschema #14subschema #15subschema #16subschema #17subschema #18subschema #19subschema #20subschema #21subschema #22subschema #23subschema #24subschema #25subschema #26subschema #27subschema #28subschema #29subschema #30subschema #31subschema #32subschema #33to the//request propertyoneOflistrequest-property-one-of-added
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ▲
- ○
added the new optional request property
new-optional-request-property
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
- ○
added the new optional
queryrequest parameterdeclaredSuiteIdnew-optional-request-parameter
- ○
added the new optional request property
new-optional-request-property
- ○
- ▲
the
request property's max was decreased to10.00request-property-max-decreased
- ▲
- ○
added the new optional request property
new-optional-request-property
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
- ○
added the new optional request property
new-optional-request-property
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
- ○
added the new optional request property
new-optional-request-property
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
- ○
added the new optional request property
new-optional-request-property
- ○
added the new optional request property
new-optional-request-property
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○