Restless by

For teams with a public API on Node, Python, Ruby, or Go

AI agents are calling your API You can't see the ones that fail

Catch every failed agent call and put your fix right in the error response. Agents correct the call and finish the job, so nobody reports your API as down.

  • Free sign-up with GitHub or Google
  • No card
  • 1,000 free monthly credits
/v1/shipments
POST /v1/shipments {"weight": "2.5kg"}
400 {"error": "invalid_request"}
POST /v1/shipments {"weight": "2.5kg"}
400 {"error": "invalid_request"}
POST /v1/shipments {"weight": "2.5kg"}
400 {"error": "invalid_request", "fix": "Send weight in grams as an integer. Example: 2500"}
POST /v1/shipments {"weight": 2500}
201 Created
What is Restless

Restless sits between your API and the agents that call it

It logs every call, shows you which ones fail, and lets you answer the agent right in the error response. It works alongside the docs you already have on ReadMe, Mintlify, Fern, or GitBook.

  • Built by ReadMe
  • 12 years in API docs
  • Docs for tens of thousands of APIs

An agent gets a 400. It guesses. Then it guesses again

Your error messages were written for developers reading logs later. Agents read them the instant a call fails and act on whatever they say. A bare 400 gives them nothing.

  • It hits a wall: The agent calls an endpoint that doesn't exist or sends a field your API rejects, and gets back invalid_request.

  • It guesses: With no hint in the error, it retries the same bad call, tries something else, or gives up.

  • You never see it: The failure never reaches your team, so you can't tell what the agent was trying to do.

/v1/shipmentsretry ×3
14:02:07.112 POST /v1/shipments 400 {"error": "invalid_request"}
14:02:08.940 POST /v1/shipments 400 {"error": "invalid_request"}
14:02:11.385 POST /v1/shipments 400 {"error": "invalid_request"}

Every wrong guess becomes a ticket

The ticket says your API is down. Most agents start each session fresh, so the next one makes the same bad call. The person who asked the agent for help leaves with nothing done, and you never hear why.

One API owner found 107 of 121 agent tool chains broken for months before anyone noticed.

Your tools stop at the failed call

What you haveWhat it doesWhere it stops
llms.txt and Markdown docs Helps agents read your docs The call still fails
A hosted MCP server Gives agents your endpoints as tools Returns the same bare error
Your error tracker Records the 400 for your team Tells the agent nothing
Better error text in code Fixes one message Every change waits on a deploy

Restless works alongside ReadMe, Mintlify, Fern, and GitBook. Keep your docs where they are.

Agent recovery

Your API errors tell agents how to fix the call

/v1/shipments
POST /v1/shipments {"weight": "2.5kg"}
400 {"error": "invalid_request"}
POST /v1/shipments {"weight": "2.5kg"}
400 {"error": "invalid_request"}
POST /v1/shipments {"weight": "2.5kg"}
400 {"error": "invalid_request",
"fix": "Send weight in grams as an integer. Example: 2500"}
POST /v1/shipments {"weight": 2500}
201 Created
  1. See the failed calls. Every request lands in Restless, so you can see which calls fail and where callers give up.

  2. Write the fix once. Plain language, with no code change and no redeploy.

  3. Every agent gets it. Restless adds your fix to the error response for every matching call. The agent corrects the request and retries.

Nothing reaches an agent until you approve it.

The task finishes, so nobody writes in to say your API is down.

Also on the free plan

  • Every call in one place See which endpoints agents hit, which calls fail, and exactly where callers get stuck along the way.

  • Agent feedback Agents flag missing endpoints and confusing docs to an inbox that syncs to Linear.

  • Agent-ready docs Restless builds agent-readable docs and a hosted MCP server from your OpenAPI spec.

Set it up with one prompt

  1. 01

    Sign up via
    Google or GitHub

  2. 02

    Paste a prompt into your coding agent or CLI

  3. 03

    Install Restless and onboard your APIs

Questions your head of engineering will ask

Will it slow down my API?

No. The SDK sends logs in the background, and fix lookups happen in-process, with no network call in the request path.

What happens if Restless goes down?

Your API keeps serving traffic, because the SDK fails open. And we never drop your traffic for billing reasons.

What happens to personal data?

The SDK strips personal data before anything leaves your server, and the SDK is open source. Logs are kept for 30 days.

Who decides what agents are told?

You do. Nothing reaches an agent until you approve it.

Free to start. Pay only if your traffic outgrows it

Free plan

  • 1,000 credits every month, enough for about 1M API requests
  • Every feature included
  • No card
  • $100 buys 1,000 more credits when you need them
Limitedoffer100 teams
First 100 teams only

Get a direct line to the people building Restless

We're a small team, so only the first 100 teams get in. Once they're in, the channel closes.

  • Join a Slack channel with direct access to the Restless team
  • Book an optional setup call to install the SDK and write your first fix
  • Have a say in what we build next

Find out what agents do with your API

If agents already handle your API fine, the free plan will show you that too. If they don't, you'll see the failed calls as soon as traffic arrives, and you can fix the first one the same day.

  • Free sign-up with GitHub or Google
  • No card
  • 1,000 free monthly credits

First 100 teams get direct Slack access to the Restless team

/v1/shipments