Run one headless agent turn
Runs ONE assistant turn over the supplied message history and responds synchronously with the final assistant text, the operations it invoked, and references to any resources it created (currently eval suites).
The caller owns conversation state: resend the full history each turn. The model is pinned server-side (hosted catalog) and billed to the project. Tools available to the turn are read operations plus atomic create_eval_suite; run/cancel and generation operations are deliberately excluded — starting a run stays an explicit caller action via POST /eval-runs.
Every tool invocation is hard-clamped to the path projectId. Turns are capped at 4 concurrent per organization (429 RATE_LIMITED; enforced per server instance) and ~90s wall clock (504 TIMEOUT). Guest callers are denied. Requires a hosted MCPJam deployment (422 FEATURE_NOT_SUPPORTED otherwise).
When a turn fails or times out AFTER a create operation already persisted a resource, the error body’s details.createdResources carries the created references — check it before retrying, or a retry will create duplicates.
Retry policy: this operation is NOT idempotent — a turn may persist resources (eval suites) even when the response is lost, and there is no idempotency key yet. Do not blind-retry: deduplicate on your own trigger identity (e.g. the Slack event id) and, when a retry is unavoidable, first list suites to check whether the previous attempt already created one.
Authorizations
MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.
Path Parameters
ID of the hosted project that contains the server.
Body
The conversation so far, oldest first. The caller owns state and resends the full history each turn. Each message content is capped at 8,000 characters AND 8,192 UTF-8 bytes; the whole history is additionally capped at 98,304 UTF-8 bytes (96 KB).
1 - 50 elements
