Run Tests (Batch)

Beta

Queue runs for every (test, agent) pair in the body. Entries without an agent_id fan out to every agent the test is attached to. Total expanded runs are capped at 100 per call. Each entry in the response is a queued run; poll GET /v1/agents/tests/runs/{test_run_id} for each.

Authentication

AuthorizationBearer

Enter your API key with the Bearer prefix, e.g. ‘Bearer sk_…’.

Headers

Speechify-VersionstringOptional
Idempotency-KeystringOptional<=255 characters
A client-generated key (an opaque string, max 255 chars) that makes a side-effect POST safe to retry: the server runs the operation exactly once and replays the first response (its status and body) for 24 hours. Reusing a key with a different request body, or while the first request is still in flight, returns `409 idempotency_conflict`. A replayed response carries the `Idempotent-Replayed: true` header.

Request

This endpoint expects an object.
entrieslist of objectsRequired

Response headers

X-Request-IDstring
Unique identifier for this request, present on every response (2xx and non-2xx alike). If the caller sends an `X-Request-ID` request header the server echoes it back (sanitized and length-capped) so one logical request can be traced end-to-end; otherwise the server generates a fresh value. Log it on every response and quote it in support requests - it is the stable handle that ties your observation to Speechify's server-side logs, and it matches the `request_id` field in the error envelope.

Response

Runs queued.
runslist of objects
suite_runobject or null
The suite run grouping the queued runs.

Errors

400
Bad Request Error
401
Unauthorized Error
409
Conflict Error