Breakpoints
Breakpoints pause a request mid-flight so you can inspect and edit it before it continues. Probe stops the traffic at the proxy, opens an editor, and waits for you to Continue (with whatever edits you’ve made) or Cancel (which returns an error to the client).
Two phases can be paused independently:
- Request phase — pause before the request reaches the upstream. You can edit the URL, request headers, and request body. When you continue, Probe sends your edited version upstream.
- Response phase — pause after the upstream replies, before the client sees the bytes. You can edit the status code, response headers, and response body. When you continue, the client receives your edited version.
A single rule can pause on the request, the response, or both — and “both” means the same request stops twice (once outgoing, once incoming) so you can edit each side independently.
How a rule matches
Section titled “How a rule matches”Each breakpoint rule has a URL pattern and two checkboxes — Intercept request and Intercept response. A request matches the rule when its URL matches the pattern.
Patterns are checked against the MITM-shaped URL — the URL you see in the log table — but Probe is forgiving here:
- The scheme (
https://,http://) is stripped before comparison, so writing patterns with or without a scheme both work. - The default port (
:443for HTTPS,:80for HTTP) is also stripped, soapi.example.com/v1/usersmatches whether the captured URL has:443or not. - A
*in the pattern is a wildcard that consumes any substring. - A pattern without
/is treated as host-only (api.example.com) and matches any path on that host. - A pattern with
/is matched against the URL with a trailing-allowed prefix (/v1/usersalso matches/v1/users?id=42).
URL patterns are tried first, host-only patterns are the fallback.
What the editor lets you change
Section titled “What the editor lets you change”When a request hits a breakpoint, the Intercept Editor opens and the request hangs at the proxy until you act on it. In the editor you can:
- Edit the URL (request phase only) to redirect the request to a different endpoint.
- Add, remove, or change headers in a key/value table.
- Edit the body — JSON, form-data, or raw text.
- Change the status code (response phase only).
- Click Continue to send your edits upstream (request phase) or to the client (response phase).
- Click Cancel to abort: the client gets a 4xx error and the request is dropped.
Other captured requests continue to flow normally; only the matched ones pause.
Worked example: turn a 200 into a 500
Section titled “Worked example: turn a 200 into a 500”Reproduce a server error path without touching the server.
- Open the Breakpoints manager from the toolbar.
- Add a rule:
- URL:
api.example.com/v1/orders - Intercept response: on
- Intercept request: off
- URL:
- Trigger the call from your client. Probe pauses it after the upstream replies.
- In the editor, change the status code from
200to500and clear the response body. - Click Continue. Your client receives a 500 with an empty body.
Use the same flow with Intercept request to redirect a request, swap an auth token, or strip a problematic header.
Common workflows
Section titled “Common workflows”- Test error handling — flip a 200 response to 500 or 404 and watch how the UI recovers.
- Modify response shape — drop a field, send back an empty array, return a malformed payload.
- Debug authentication — inspect the
Authorizationheader on the way out, swap a token, and see what the server does with it. - Redirect on the fly — change the URL in a request breakpoint to point at staging without persisting a Map Remote rule.
If you find yourself doing the same edit every time, promote it from a breakpoint to a Map Local or Scripting rule so it runs automatically.
Treat breakpoints as a session-only tool
Section titled “Treat breakpoints as a session-only tool”Breakpoints block traffic until you act on them. Don’t leave a busy URL paused while you walk away from the keyboard — every matching request will queue up behind the editor, and clients may time out.
Best practice:
- Turn on the rules you need, do the debugging, then turn them off.
- For rules you reach for daily, keep them disabled in the manager and toggle them on for the duration of a session.
- Use a narrow URL pattern.
api.example.compauses every call to that host;api.example.com/v1/orderspauses one endpoint.
The breakpoint icon in the toolbar lights up when any rule is enabled — a quick reminder that traffic is being held.
Related
Section titled “Related”- Map Remote — make URL rewrites permanent instead of editing them each time.
- Map Local — capture an edited response as a reusable rule.
- Scripting — programmatic edits when a single rule isn’t enough.
- Throttle — slow traffic down instead of stopping it.