You can mock a collection directly from the Postman app. Additionally, you can create a mock using the Postman API. Let’s walk through this step by step.
In this example, we have a Collection testAPI
with corresponding environment testAPIEnv
. Let’s set up a mock service to enable your front-end team to simulate each endpoint in testAPI
and view the various responses.
Navigate to every request in the Collection testAPI
that you would like to include in this simulation, and save responses with details about the response body, header or status codes that you would like to see returned by that endpoint. In this example, we will save 2 responses with status codes of 200 and 401 for this particular request. Once you save the desired responses, the Collection is ready for mocking.
Note: In addition to mocking a collection with a saved response, you can also mock a request and response using examples.
Let’s retrieve the collectionId
of testAPI
using the Postman API. Get a list of all your Collections using the GET All Collections endpoint. Search for the name of your Collection and retrieve the uid
from the results, which will be used as the collectionId
in the next step.
You can also use the Postman app to retrieve the collectionId
. Find the Collection in your app and hit View Docs
. The collectionId
is visible in the documentation url:
https://documenter.getpostman.com/collection/view/{{collectionId}}
As an optional step, you can include an environment template as a part of your simulation by retrieving the environmentId
of testAPIEnv
using the Postman API. Get a list of all your environments using the GET All Environments endpoint. Search for the name of your environment and retrieve the uid
from the results, which will be used as the environmentId
in the next step.
Create a mock using the POST Create Mock endpoint with the collectionId
and environmentId
you retrieved previously.
Mocks are accessible to the public by default. If you want the mock to only be available privately, include "private": true
.
Verify that the mock has been created using the GET All Mocks endpoint, and your Collection is now ready to be simulated.
Mock your Collection using the following url:
https://{{mockId}}.mock.pstmn.io/{{mockPath}}
mockId
is the id
that you received upon creating the mock and can be retrieved using the GET All Mocks endpoint.mockPath
is the path of your request that you’d like to mock, for example api/response
.Add the request header(s):
x-api-key
, which is your Postman API key for authentication. Don’t have a Postman API key? Create one here. The default public mocks do not require this header.x-mock-response-code
, which specifies which integer response code your returned response should match. For example, 500 will return only a 500 response. If this header is not provided, the closest match of any response code will be returned.x-mock-response-name
or x-mock-response-id
allow you further specify the exact response you want by the name or by the uid of the saved example respectively. You can get the example response uid by using the Postman API to GET a Single Collection and searching for your example in the response. The uid has the syntax <user_id>-<response_id>
. Without these optional headers, the mock will follow a matching algorithm to decide which example to return.In the previous example, we used a saved response to mock our collection. You can also mock a request and response using examples in Postman before sending the actual request or setting up a single endpoint to return the response. With examples, you can mock raw responses and save them. Then, you’ll be able to generate a mock endpoint for each of them using Postman’s mock service.