Document your API from the requests it really gets

Docs written by hand drift. The requests your app receives don't lie. Point a webhook or your own app at a Pipehero tunnel, open a request in the live tail and save it as documentation.

On every plan, within your endpoint limit.

The Pipehero desktop app listing requests captured from a tunnel, each with a button to save it as an endpoint or an example
Captured requests, each with a button to save it as an endpoint or an example.

One click, from the web, the desktop app or your agent

In the web app, open a request in a tunnel's live tail and choose “Save to API docs”. In the desktop app, open “Save from traffic”. Your AI agent can do it with the save_captured_request tool.

What happens to the request

  • ›If an endpoint already covers the route, the response is added to it as an example. /users/{{user_id}}, /users/:id and /users/{id} count as the same route.
  • ›Otherwise an endpoint is created from the request: ids in the path (numbers, UUIDs, Mongo ids, Stripe-style ids) become variables, and the query string becomes parameters.
  • ›The response is saved as a captured example. The same status and body isn't saved twice, and what you wrote by hand is never overwritten.

What is taken out

  • ›Authorization, tokens, API keys and provider signatures (such as Stripe-Signature) are replaced by {{variables}}.
  • ›Cookies, set-cookie, proxy and browser headers are dropped.
  • ›Only JSON bodies are kept, and you are told when a body wasn't saved. A JSON body is stored as it was captured, so review it before sharing a collection that could hold personal data.

Works for webhooks

An endpoint that receives Stripe, GitHub or Shopify events is an endpoint like any other. Save a real event and you have the payload your handler gets, with the header names the provider sends.

Good to know

  • ›Only requests captured by your own workspace's tunnels can be saved.
  • ›Captured requests are kept as long as your plan's request history (3 days on Free, 30 on Pro, 90 on Team), so save what you need while it is there.
  • ›A new route needs room in your plan's endpoint limit; a route that is already documented always accepts new examples.

FAQ

Does it store the card numbers in a payment webhook?

It stores the JSON body as captured. Only credentials in headers are replaced. Review payloads that contain personal data before you share a collection.

Which requests can I save?

The ones your tunnels captured recently. Requests captured while your CLI was offline, and never answered, are left out of the list in the desktop app.

Can I see what is missing from the docs first?

Yes. Drift detection compares the docs with real traffic and lists what is undocumented, each with the request that shows it.

Keep reading

Everything is in the API workspace docs, and the other parts are Import OpenAPI and Postman, Local, staging and production, Scheduled API monitoring.

Document and test your API in minutes

Free plan, no credit card. Import a spec or start from your webhooks, and keep it true from there.

Get started free