Skip to main content
POST
Get an upload URL for a run artifact

Authorizations

Authorization
string
header
required

MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.

Headers

x-mcpjam-eval-vocabulary
enum<string>

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.

Available options:
1,
2

Path Parameters

projectId
string
required

Project id, or the literal default for the key org's Default project.

Body

application/json

Forwarded VERBATIM to the backend's eval-ingestion surface, which owns the schema. The projectId path segment always wins: it overwrites any projectId in the body, and the literal default omits it so the key's org Default project is used. Bodies are capped at ~6 MiB here and 5 MiB by the backend.

Response

Malformed body or parameters.

code
enum<string>
required

Stable, machine-readable error code. New codes may be added over time; treat unknown codes as non-retryable failures unless the HTTP status says otherwise.

Available options:
UNAUTHORIZED,
FORBIDDEN,
NOT_FOUND,
CONFLICT,
VALIDATION_ERROR,
RATE_LIMITED,
FEATURE_NOT_SUPPORTED,
SERVER_UNREACHABLE,
TIMEOUT,
OAUTH_REQUIRED,
INTERNAL_ERROR
message
string
required

Human-readable description. May change between releases — don't match on it.

details
object

Optional, unstructured context bag.