Autonoma Developer Portal
Autonoma is an agentic end-to-end testing platform. Connect a repository and every pull request gets a preview environment, an autonomous test run against it, and a report of what broke - with no test scripts to write or maintain.
Everything you need to build against it: API keys, the REST API and its OpenAPI description, the Autonoma MCP server, the Environment Factory SDK, and every machine-readable file this site publishes.
Quickstart
Repository to first automated test run, in five steps.
- 01
Create an account and install the GitHub App
Sign up at autonoma.app and install the Autonoma GitHub App on a repository. The free tier includes 100K credits and needs no credit card.
- 02
Create an API key
Keys are managed per application, under that application's Settings → API keys in the dashboard, so you need an application before you can mint one. The Remote agent tab of any connect-a-coding-agent panel also creates a key and copies it for you, without ever displaying it. Either way, send it as
Authorization: Bearer <key>to every Autonoma API and to the MCP server — no browser is involved, so the same key works from CI and from an agent running anywhere. Keys for headless agents and CI. - 03
Point a coding agent at the MCP server
One MCP server carries every Autonoma tool: onboard an application, configure and deploy previews, validate the test-data SDK, then debug what Autonoma flags on a pull request. Setup, including headless and CI, is in the MCP guide.
- 04
Add the Environment Factory endpoint
One endpoint in your backend lets Autonoma create isolated test data before a run and delete it after, by reusing the functions your app already uses to create that data. Working examples for 8 languages are in the setup guide.
- 05
Open a pull request
Autonoma deploys the preview environment, runs the suite against it, and reports what broke on the pull request. There are no test scripts to write.
Authentication
One credential for the REST API and the MCP server.
Send Authorization: Bearer <autonoma-api-key>. A key belongs to one organization and is created per application; over MCP it can only reach that organization, so if a key cannot see a repository, check it was created in the organization that owns it.
OAuth is also supported for clients that can open a browser on the same machine; an unauthenticated request describes both options in its response body.
curl -H "Authorization: Bearer $AUTONOMA_API_KEY" \
https://api.autonoma.app/v1/previewkit/environments/OWNER/REPO/123MCP server
Drop this into any MCP-capable coding agent.
{
"mcpServers": {
"autonoma": {
"url": "https://api.autonoma.app/v1/mcp",
"headers": { "Authorization": "Bearer $AUTONOMA_API_KEY" }
}
}
}The server carries both jobs: setting an application up on Autonoma, and debugging what Autonoma flags on a pull request. See the MCP guide for headless and CI setups.
Sandbox
Every preview environment is already a throwaway environment.
There is no separate sandbox host to sign up for. A preview environment is created per pull request, seeded with test data your own factories create, and torn down afterwards. Point a scratch repository at Autonoma and open a pull request to get one on the free tier.
API
REST surfaces and the keys that open them.
- Autonoma API indexapplication/json
JSON index of this site's own endpoints, plus the shape of every error response it returns.
- Autonoma preview environments API (OpenAPI)application/json
OpenAPI 3 description of the REST API for preview environments: environment status, per-app secrets, deploy, redeploy and teardown. Authenticate with an Autonoma API key.
- Autonoma API keys
How to get the API key used as `Authorization: Bearer <key>` against every Autonoma API and the MCP server. Keys belong to an organization and are managed per application, under Settings -> API keys; the "Remote agent" tab of any connect panel also mints one and copies it for you.
MCP server
One MCP server, every Autonoma tool.
- Autonoma MCP serverapplication/mcp-server+json
Every Autonoma tool on one MCP server: onboard an application, configure and deploy previews, validate the test-data SDK, then debug what Autonoma flags on a pull request. API key or OAuth.
- Autonoma MCP guide
Connecting a coding agent to Autonoma, including headless and CI setups.
Documentation
Product documentation, including plain-text builds for language models.
- Autonoma documentation
Product documentation: preview environments, test planner, environment factory, suite health.
- Autonoma documentation index for LLMstext/plain
Every documentation page as an llms.txt index, each entry linking to a plain-text version.
- Autonoma documentation, completetext/plain
All documentation pages concatenated into a single plain-text file.
- Autonoma Environment Factory setup
The one endpoint to add to your backend so Autonoma can create isolated test data before a run and delete it after. Examples in 8 languages.
Machine-readable files
Fetch these first if you are an agent: they describe everything else.
- Autonoma llms.txttext/plain
This site's index for language models and agents.
- Autonoma sitemapapplication/xml
Every indexable URL on this site.
- Autonoma robots.txttext/plain
Crawl rules, plus the `Sitemap:` and `Agentmap:` pointers.
Markdown content negotiation
Every page on this site serves markdown to clients that ask for it.
curl -H "Accept: text/markdown" https://getautonoma.com/blog/flaky-tests
curl https://getautonoma.com/md/blog/flaky-testsResponses carry Content-Type: text/markdown; charset=utf-8 and Vary: Accept, per acceptmarkdown.com. An Accept header that admits neither HTML nor markdown gets a 406 with a JSON body listing what is available, and a path that does not exist gets a real 404 with a markdown body pointing at the sitemap and llms.txt.
Error responses
Everything under /api fails in JSON, with a stable code.
{
"error": {
"code": "validation_failed",
"message": "A valid email address is required.",
"status": 400,
"hint": "Fix the fields listed in `error.fields` and retry.",
"docs": "https://getautonoma.com/developers",
"path": "/api/subscribe-blog",
"fields": { "email": "Required. Must be an email address." }
}
}Switch on error.code, never on error.message. The full code list and the endpoint index are at https://getautonoma.com/api.
Something missing?
Ask for it and we will publish it.
Webhooks, extra REST surfaces and language SDKs are added as people need them. Tell us what you are building, or open an issue on GitHub.