Skip to main content
The Testorim HTTP API lets a pipeline, a terminal or an integration start test runs and read their results.

Authentication and API keys

Mint a key, send it, and understand what it can reach.

Base URL

Every route mounts flat under /api. There is no version prefix.

Authentication

An HTTP Bearer token on the Authorization header:
A key is pinned to the workspace it was created in. Resources in another workspace return 404, not 403. A key can read what its owner can read in that workspace. The only changes it can make are the ones this reference documents: trigger a run, cancel a run or a batch, create a project, and revoke a key. Anything else answers 403 with code: "api_key_scope".

Starting a run

The response is 202 Accepted with a run id. Poll GET /api/runs/{id} until status is completed, failed or cancelled, then read overallStatus for the verdict: passed, failed or needs_review. A cancelled run has no verdict. projectId is always required. An ad-hoc run sends a description instead of a procedureId. Add environmentId to run against one of the project’s environments; without it, the project’s default environment applies. If every one of your plan’s concurrent runs is in use, the trigger answers 429 with code: "concurrency_limit" and creates no run.

Errors

Every code, and which ones to retry, is on Errors.

Scope

This reference documents the API-key surface. The app itself calls many more endpoints: billing, provider webhooks, OAuth callbacks, fixtures, environments, schedules, alerts, visual baselines, sharing, flakiness, variables, performance budgets, role probes, workspace management. Those are session-oriented or provider-signed, are not published as an integration surface, and refuse an API key for any change. Testorim does not send outbound webhooks.