1. Create or save response examples
You can create an example from scratch, or save a live response after you send a request.Create an example from scratch
Use this when you already know the status, headers, and body you want to mock, without sending the request first.- Open Bruno and open the collection that contains the request.
- Click the request’s context menu (⋯, three dots).
- Select Create Example.
- Enter an Example name, optional description, status code (
200 OKby default), and body type (JSONby default). - Click Create Example.

Save a live response as an example
Use this when you want to capture a real API response.- Send the request and wait for the response.
- In the Response tab, click the Save Response (Bookmark) icon (top-right).
- Enter a name for the example.
- Click Save.
2. Create a Mock Server tied to a Collection
With examples in the collection, create a mock server that uses those examples as its source.- In the sidebar, click the + icon next to Mock Servers.
- Enter a name. Keep the source as Collection (this is the default).
- Choose the collection from the dropdown.
- Optionally open Advanced settings to set the port and response delay.
- Click Create.


3. Sync with Examples
On the dashboard, click Sync with Examples. Bruno copies every saved example in the linked collection into mock responses (method, path, status, headers, and body). Those responses appear on the Responses tab. Use the search field to find a specific example by name or path.
Sync again after you add or change examples in the collection so the mock stays aligned with the source.
4. Add a new mock response
You are not limited to synced examples. Click New Mock Response and provide:- A name
- Optional description
- Status code (
200 OKby default) - Body type (
JSONby default)
5. Start the server
Start the server from the dashboard header. Bruno starts with port 4000 and increments to find a new available port for each new mock server. You can also change it in the Advanced settings upon creation or via the gear icon. After the server is running, each mock API is available athttp://localhost:4000 or its chosen port.
6. Response Editor
Each mock response opens in an editor:- Left pane: rules, demo request, response URL, try button and open as new request button (when to return this response)
- Right pane: expected body, headers and try results (what the response should look like)

Rules and demo request
Use this decide to decide when this response is returned.Rules
To add matching logic, click Add rule or the Edit icon (top-right of the response). The Rules and Demo Request tabs appear. See Rules on the dashboard guide for field-level detail. You can match on body, headers, and query parameters so the same path can return different payloads (admin vs guest, missing field vs valid body, and so on). Match controls how those conditions combine:
After you add or change rules, click Save in the top-right of the editor. Rules are not applied until you save.

Expected body and headers
Use this side to see what the mock returns: the Expected body and Headers, plus the status code. The body can be JSON, HTML, text, or XML. Headers are independent of body type, setContent-Type and any other headers the client should see.
Try Result shows the response body and headers from Expected and Headers after you click Try (with the server running).
7. Inspect traffic
After the server is running, use the dashboard tabs to confirm routes and debug matches:- Routes - every registered method and path, how many responses sit on that route, and hit counts.
- Request Log - live incoming requests, which mock response was selected (or No Match), status, delay, and the Match Trace Inspector.
Next steps
- Mock Servers from OpenAPI - generate the same kind of mock from an OpenAPI spec instead of collection examples.
- Create a mock server - collection, spec, and standalone sources.
- Run a mock server - dashboard, rules, routes, and request log.