Restless by ReadMe
Modern API toolkit to make your API agent-ready
Your API is the front door to your product now. Developers still call it, but agents now make up 72% of traffic to API docs. They never file a ticket and never tell you when something breaks. When an agent hits an error it can't make sense of, it switches to a competitor's API.
Restless runs in your API's request path, where your product actually gets used. It captures every API and MCP call, puts the fix right in the error response and gives your team one view of who's calling and what's failing.
How it works
Restless is an SDK you add once before your routes and every request passes through it.
- A request comes in. Restless figures out who's calling from your setup callback: which customer, and which masked API key.
- Restless decides whether it gets through. Return
{ block: true }and the request stops before your code runs. - Your handler runs as usual. Your routes don't change.
- Errors come with a way forward. Any 4xx or 5xx response includes a hint, a link to the right docs and a link to the captured log, so the caller can fix the request without searching.
- Everything is logged safely. Sensitive fields are redacted on your server, then the log is sent in batches in the background. Logging never slows down the response.
Core features
Agent Recovery
When a request fails, Restless puts the docs for moving forward directly into the API response:
- A
recoveryobject in JSON error bodies with thefieldthat failed, ahintand adocspath (for example,/v1/invoices#currency) - An
x-log-urlheader that links to the full captured request - An
x-debugheader with a CLI command to inspect it
An agent gets something it can parse and act on. A developer gets a direct link to what went wrong. Your support team gets one link that shows the whole request, response and caller.
See every caller
Restless logs every API and MCP request in one place, across every caller: developers and agents. Traffic is grouped by customer, so you can see which integrations are growing, which are failing and where agents get stuck.
Debugging for agents
Agents can query your live API logs to find error patterns and failed requests, so they can debug their own integration instead of guessing.
Workbench
The Workbench lives at the bottom of your docs. Your users can filter their logs, inspect requests and responses and open a support ticket with the failing call already attached.
Human Support
When an AI chat can't solve the problem, it hands off to a person on your team. Their answer is stripped of personal data and saved as context, so the next agent with the same question gets it right on its own.
Safe by default
Restless redacts sensitive data on your server, before anything is sent:
- Headers:
Authorization, cookies and API key headers - Fields: passwords, tokens, secrets, SSNs and card numbers, in request bodies and query params
API keys are hashed with mask(). The CLI also reads your OpenAPI spec and flags your custom auth fields for redaction, so your own secrets are covered from the first request.
Installs in one command
Run npx restless init and it:
- Generates your OpenAPI file
- Installs the Restless SDK
- Creates an API Agent Portal and a Restless account for you
Supported stacks
| Language | Frameworks |
|---|---|
| JavaScript / TypeScript | Express, Fastify, Koa, Hono, NestJS, Next.js (App or Pages Router) |
| Python | Flask, Django, FastAPI, Starlette, and anything else speaking WSGI or ASGI |
| Ruby | Rails, Sinatra, Hanami, Grape, Roda, and anything else speaking Rack |
| Go | net/http, chi, gorilla/mux, Echo, Gin |
Pricing
ReadMe customersReadMe isn't going anywhere, and you don't need to migrate anything. Connect your existing docs as a source and Restless builds on top of them. (Fern and Mintlify work too.) As a ReadMe customer, you get 4,000 extra credits every month, so you can see what Restless does with your real traffic before you spend anything.
Every Restless project gets 1,000 free credits a month. Credits cover log ingestion and the dashboard AI. Need more? Buy them in $100 increments.
Updated 1 hour ago