Documentation-led API testing
Check your API against what your docs say.
RunSpec reads your public documentation, writes repeatable tests, rehearses them independently, and records evidence from approved fixture runs. No source access to the API under test. No internal test suite.
Existing organization Owners can check unauthenticated public HTTPS GET responses against a supported OpenAPI 3.0 contract and optional criteria. Domain verification and review come before requests; only selected checks are covered.
New registrations are paused. Existing accounts can sign in; start a local evaluation or review execution requirements.
- Reading your documentationOpenAPI 3.1
- Planning what to test24 operations
- Writing the tests18 tests
- Rehearsing against a simulator0 calls to your API
- Running against your API46 requests
- Recording cleanup attempts6 cleanup attempts
Illustration only: these counts are not a live result. Real runs report failed cleanup and unresolved effects separately.
Why
Your tests and your API share the same blind spots.
Internal suites are written by the people who built the endpoint, against the same fixtures, the same client library, and the same assumptions. They pass. Meanwhile the customer holding only your published documentation gets a 500, a field that is not in the schema, or a workflow that stops halfway.
RunSpec only ever knows what a customer knows: your documentation, your public endpoints, the credentials you hand it, and the permissions you grant.
- No source code
- RunSpec never reads your repository, your CI, or your existing tests.
- No shared fixtures
- Every test is derived from your published contract, not from internal seed data.
- No internal client
- Requests use the same public surface your customers use. Runs against your own API aren't enabled yet; today they reach only the built-in example API.
Onboarding
Start from a link, not a project.
Point RunSpec at an OpenAPI document or a documentation URL. It reads, cites what it read, and then waits for you to confirm the contract and the target.
- GET /orders/{id}
Returns 404 when no order matches the ID.
docs.acme.com/api/orders#retrieve-an-order - POST /orders
Requests without an Idempotency-Key header are rejected.
docs.acme.com/api/orders#create-an-order
- OpenAPI 3.0 and 3.1, JSON or YAML. If your docs are prose, RunSpec rebuilds a spec from them
- A spec rebuilt from prose cites the page and passage behind each claim
- Documentation pinned to a version and hash, so a run is reproducible
- Confirmation starts neither test generation nor target execution
Over time
Documentation moves. The tests follow, when you say so.
RunSpec re-reads your documentation and shows you what changed. Regeneration is scoped to the workflows actually affected, and only after you confirm it. Everything else keeps its history.
- Check history
- Documentation diff
- Assessed reasons and risks
- Scoped regeneration
Start with a fixture. Inspect what actually passed.
Run a documented API you own locally, review the plan, and inspect the assertions and cleanup evidence. Runs against customer APIs aren't enabled yet, and new registrations are paused.
Open the local quickstart