Eval runs

List a suite's eval cases

Changed on

Every case in the suite, in the public steps-first shape.

get/projects/{projectId}/eval-suites/{suiteId}/cases

Request

  • Base URL
    https://app.mcpjam.com/api/v1
  • URL
    https://app.mcpjam.com/api/v1/projects/{projectId}/eval-suites/{suiteId}/cases
  • Auth
    HTTP bearer

Path parameters

projectIdstring required

ID of the hosted project that contains the server.

suiteIdstring required

Eval suite ID, as returned by POST /eval-runs.

Headers

x-mcpjam-eval-vocabulary'1' | '2'

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.

Response

The suite's cases.

nextCursorstring nullable

Changes

    • info

      added the optional property //// to the response with the status

    • info

      added to the //// response property allOf list for the response status

    • info

      removed from the //// response property allOf list for the response status

    • info

      the response required property //// became read-only for the status

    • info

      added the optional property //// to the response with the status