Create mock servers in Postman to help with API development and testing. A mock server simulates a real API server by accepting requests and returning responses. By configuring a mock server for your collection and adding examples to your requests, you can simulate the behavior of a real API.
When you send a request to a mock server, Postman matches the request to a saved example in your collection. Postman then responds with the data in the example. To view existing mock servers in your workspace, select Mock servers in the sidebar.
Mock servers can be private or public. Private mock servers require a Postman API key in the request header. Public mock servers can receive requests from anyone and anywhere (such as a browser, application code, or a curl
command). New mock servers are set to private by default. Super Admins and Team Admins can enable or prohibit users from creating public mock servers. See Manage mock server privacy to learn more.
Postman mock servers support HTTP collections. You can't use mock servers with multi-protocol collections.
To create a mock server for an API, do the following:
https://postman-echo.com/get
)./get
).x-api-key
header in the Headers tab.You can create a new mock server from scratch, from a collection, or from your history.
Select Mock servers in the sidebar, then select Create mock server.
If Mock servers isn't available in the sidebar, you can add it by selecting Configure workspace sidebar.
Select an existing collection. You can also create a new collection, add one or more requests, and select Next.
Configure your mock server details.
Select Collections in the sidebar.
Select View more actions next to the collection you want to mock and select Mock collection.
Configure your mock server details.
You can build a mock server based on requests from your Postman history.
Select History in the sidebar.
Select View more actions next to a request and select Mock Request. You can also mock all the requests for a particular date. Postman will create a new collection for the mocked request or requests.
Configure your mock server details.
Some configuration options may be different, depending on the method you used to create the mock server.
To finish creating your mock server, specify the following details:
Mock Server Name - Enter a name for your mock server.
Collection - The collection used for the mock server. To choose a different collection, select Back.
Environment - (Optional) Select an environment to use environment variables with your mock server.
Save the mock server URL as a new environment variable - Select this option to save the mock server URL as a variable in a new environment. You can then reference the variable in your requests. Learn more about using variables with mock servers.
Simulate a fixed network delay - Select a response delay or enter a custom delay. The mock server waits the specified time before sending the response.
Make mock server private - Select this option to make your mock server private. You must specify an API key in the request header when sending requests to a private mock server. Learn more about making calls to a private mock server.
If the Make mock server private option is unavailable, it may be turned off in Team resources. A Team Admin or Super Admin can turn it back on.
Select Create Mock Server.
Postman displays the details you need to use the mock server. You can get these details at any time by selecting Mock servers in the sidebar and selecting the mock server.
Select Copy URL to begin making calls to your mock server.
You can change the configuration for a mock server at any time.
Select Mock servers in the sidebar.
Select a mock server and select Edit Configuration.
Make any changes to the mock server configuration. You can change the mock server's name, environment, network delay, and privacy setting. You can also specify options for response matching.
You can't change the mock server's collection. If you need to mock a different collection, create a new mock server.
When you are done making configuration changes, select Update Mock Server.
When you send a request to the mock server, Postman uses a matching algorithm to decide which example to return in a response.
By default, the matching algorithm doesn't consider the request's body or headers when selecting the best response to return. You can change this behavior in the mock server's configuration. Using body or header matching, you can specify the exact response you want the mock server to return by matching the body or headers of the saved example.
To use body or header matching with a mock server, do the following:
Select Mock servers in the sidebar, select a mock server, and select Edit Configuration.
Under Response Matching, select the matching options you want to use:
Select Update Mock Server.
To delete a mock server, select Mock servers in the sidebar. Select View more actions next to the mock server's name and select Delete.
Use a mock server's URL to make calls to the mock server.
Select Mock servers in the sidebar, select a mock server, and select Select Copy URL.
Open a new request (or edit the address in an existing request) and add the mock server URL. The URL includes the mock server's ID and the path for the request you want to mock. For example:
https://4bb57fc2-219e-421e-86b4-4ffda6bf1b3b.mock.pstmn.io/get
If your mock server is private, add your Postman API key to the request as an x-api-key
header. See Make calls to a private mock server to learn more.
Select Send to send the request to the mock server.
Make sure the request you want to mock has at least one saved example. Learn more about adding examples to a request.
When you send a request to a mock server, the mock server sends back a response based on an example with the same path and method. You can provide multiple examples, and Postman will return the one that best matches your request.
If you configured a delay for your mock server, Postman waits the specified period of time before sending the response.
Your Postman plan gives you a limited number of free mock server calls per month. Learn more about resource usage in Postman.
By default, new Postman mock servers are private. You can make your mock server public by editing the configuration.
To make calls to a private mock server, you need to add a Postman API key in the request header when sending requests to the mock server: x-api-key:<Your-Postman-API-key>
. If you share the collection, others can use their Postman API keys to make calls to the mock server.
In addition to using Postman to call mock endpoints, you can also make requests to a mock server using a web browser.
A web browser makes a cross-origin HTTP request when it requests a resource from a domain, protocol, or port that's different from its own. Cross-Origin Resource Sharing (CORS) is a standard that defines a way in which a browser and server can interact securely. In this case, CORS refers to how a web browser interacts with the mock endpoints hosted on the Postman mock server.
CORS is enabled for Postman mock servers, so you can stub your web apps with mocked data using the mock endpoints. Development or production web apps can then make requests to your Postman mock endpoint and receive example responses.
You can view and search the details of calls to your mock servers using the mock call log. To view the call log, select Mock servers in the sidebar and select a mock server.
The call log displays a list of calls made to the mock server URL. Each entry shows the time the request was sent, the request method and path, and a response overview.
You can work with the mock server call log in the following ways:
You can use the mock call log to troubleshoot your requests to mock servers.
If No matching requests
displays in the Response column, this might mean there's a problem with your mock server configuration. Make sure there's an example saved for the request in the collection you're mocking.
In the case of a service outage, you will get a 502
, 503
, or 504
response. Check the Postman status page for updates.
To learn more about mock servers, see the following resources:
Last modified: 2024/11/22
Additional resources
Videos
Blog posts
Case Studies