Overview
The Postman API allows you to programmatically access data stored in Postman account with ease. The easiest way to get started with the API is to click the **fork** button to fork this collection to your own workspace and use Postman to send requests. # Overview 1. You need a valid <a href="#authentication">API Key</a> to send requests to the API endpoints. You can get your key from the [integrations dashboard](https://go.postman.co/settings/me/api-keys). 1. The API has an access <a href="#rate-limits">rate limit</a> applied to it. 1. The Postman API will only respond to secured communication done over HTTPS. HTTP requests will be sent a `301` redirect to corresponding HTTPS resources. 1. Response to every request is sent in [JSON format](https://en.wikipedia.org/wiki/JSON). In case the API request results in an error, it is represented by an `"error": {}` key in the JSON response. 1. The request method (verb) determines the nature of action you intend to perform. A request made using the `GET` method implies that you want to fetch something from Postman, and `POST` implies you want to save something new to Postman. 1. The API calls will respond with appropriate [HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) for all requests. Within Postman Client, when a response is received, the status code is highlighted and is accompanied by a help text that indicates the possible meaning of the response code. A `200 OK` indicates all went well, while `4XX` or `5XX` response codes indicate an error from the requesting client or our API servers respectively. 1. Individual resources in your Postman Account is accessible using its unique id (`uid`). The `uid` is a simple concatenation of the resource owner's user-id and the resource-id. For example, a collection's `uid` is `{{owner_id}}-{{collection_id}}`. # Authentication An API Key is required to be sent as part of every request to the Postman API, in the form of an `X-Api-Key` request header. > If you do not have an API Key, you can easily generate one by heading over to the [Postman Integrations Dashboard](https://go.postman.co/integrations/services/pm_pro_api). An API Key tells our API server that the request it received came from you. Everything that you have access to in Postman is accessible with an API Key that is generated by you. For ease of use inside Postman, you could store your API key in an [environment variable](https://www.getpostman.com/docs/environments) called `postman_api_key` and this [Collection](https://www.getpostman.com/docs/collections) will automatically use it to make API calls. ## API Key related error response If an API Key is missing, malformed, or invalid, you will receive a `401 Unauthorised` response code and the following JSON response: ``` { "error": { "name": "AuthenticationError", "message": "API Key missing. Every request requires an API Key to be sent." } } ``` ## Using the API Key as a query parameter Every request that accepts API Key as `X-Api-Key` request header, also accepts the key when sent as `apikey` URL query parameter. API key sent as part of the header has a higher priority in case you send the key using both request header and query parameter. # Rate Limits API access rate limits are applied at a per-key basis in unit time. Access to the API using a key is limited to **60 requests per minute**. In addition, every API response is accompanied by the following set of headers to identify the status of your consumption. | Header | Description | |-------------------------|-------------| | `X-RateLimit-Limit` | The maximum number of requests that the consumer is permitted to make per minute. | | `X-RateLimit-Remaining` | The number of requests remaining in the current rate limit window. | | `X-RateLimit-Reset` | The time at which the current rate limit window resets in UTC epoch seconds. | Once you hit the rate limit, you will receive a response similar to the following JSON, with a status code of `429 Too Many Requ
Postman API is a development API from getpostman.com. It needs no API key. It is served over HTTPS. Its OpenAPI description documents 57 endpoints.
At a glance
- Authentication
- No auth
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Development
- Base URL
https://api.getpostman.com- Version
- 1.20.0
- Endpoints
- 57
- OpenAPI
- Specification ↗
- Spec updated
- 2021-06-21
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://api.getpostman.com/apis" \
-H "Accept: application/json"const response = await fetch("https://api.getpostman.com/apis", {
method: "GET",
headers: {
"Accept": "application/json",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://api.getpostman.com/apis",
headers={
"Accept": "application/json",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /apis | Get all APIs |
| POST | /apis | Create API |
| GET | /apis/{apiId} | Single API |
| PUT | /apis/{apiId} | Update an API |
| DELETE | /apis/{apiId} | Delete an API |
| GET | /apis/{apiId}/versions | Get All API Versions |
| POST | /apis/{apiId}/versions | Create API Version |
| GET | /apis/{apiId}/versions/{apiVersionId} | Get an API Version |
| PUT | /apis/{apiId}/versions/{apiVersionId} | Update an API Version |
| DELETE | /apis/{apiId}/versions/{apiVersionId} | Delete an API Version |
| GET | /apis/{apiId}/versions/{apiVersionId}/contracttest | Get contract test relations |
| GET | /apis/{apiId}/versions/{apiVersionId}/documentation | Get documentation relations |
| GET | /apis/{apiId}/versions/{apiVersionId}/environment | Get environment relations |
| GET | /apis/{apiId}/versions/{apiVersionId}/integrationtest | Get integration test relations |
| GET | /apis/{apiId}/versions/{apiVersionId}/monitor | Get monitor relations |
| GET | /apis/{apiId}/versions/{apiVersionId}/relations | Get linked relations |
| POST | /apis/{apiId}/versions/{apiVersionId}/relations | Create relations |
| POST | /apis/{apiId}/versions/{apiVersionId}/schemas | Create Schema |
| GET | /apis/{apiId}/versions/{apiVersionId}/schemas/{schemaId} | Get Schema |
| PUT | /apis/{apiId}/versions/{apiVersionId}/schemas/{schemaId} | Update Schema |
| POST | /apis/{apiId}/versions/{apiVersionId}/schemas/{schemaId}/collections | Create collection from schema |
| GET | /apis/{apiId}/versions/{apiVersionId}/testsuite | Get test suite relations |
| PUT | /apis/{apiId}/versions/{apiVersionId}/{entityType}/{entityId}/syncWithSchema | Sync relations with schema |
| GET | /collections | All Collections |
| POST | /collections | Create Collection |
| POST | /collections/fork/{collection_uid} | Create a Fork |
| POST | /collections/merge | Merge a Fork |
| GET | /collections/{collection_uid} | Single Collection |
| PUT | /collections/{collection_uid} | Update Collection |
| DELETE | /collections/{collection_uid} | Delete Collection |
| GET | /environments | All Environments |
| POST | /environments | Create Environment |
| GET | /environments/{environment_uid} | Single Environment |
| PUT | /environments/{environment_uid} | Update Environment |
| DELETE | /environments/{environment_uid} | Delete Environment |
| POST | /import/exported | Import exported data |
| POST | /import/openapi | Import external API specification |
| GET | /me | API Key Owner |
| GET | /mocks | All Mocks |
| POST | /mocks | Create Mock |
| GET | /mocks/{mock_uid} | Single Mock |
| PUT | /mocks/{mock_uid} | Update Mock |
| DELETE | /mocks/{mock_uid} | Delete Mock |
| POST | /mocks/{mock_uid}/publish | Publish Mock |
| DELETE | /mocks/{mock_uid}/unpublish | Unpublish Mock |
| GET | /monitors | All Monitors |
| POST | /monitors | Create Monitor |
| GET | /monitors/{monitor_uid} | Single Monitor |
| PUT | /monitors/{monitor_uid} | Update Monitor |
| DELETE | /monitors/{monitor_uid} | Delete Monitor |
| POST | /monitors/{monitor_uid}/run | Run a Monitor |
| POST | /webhooks | Create Webhook |
| GET | /workspaces | All workspaces |
| POST | /workspaces | Create Workspace |
| GET | /workspaces/{workspace_id} | Single workspace |
| PUT | /workspaces/{workspace_id} | Update Workspace |
| DELETE | /workspaces/{workspace_id} | Delete Workspace |
Questions
Does the Postman API API need an API key?
No. The Postman API API can be called without an API key or sign-up, which makes it handy for prototypes and front-end demos.
Does the Postman API API support HTTPS?
Yes, the Postman API API is served over HTTPS.
How many endpoints does the Postman API API have?
Its OpenAPI description lists 57 endpoints in version 1.20.0. All of them are shown on this page.
What are alternatives to the Postman API API?
Other Development APIs include Cloudflare, Azure DevOps, IPify, App Store Connect API, StackExchange.
Similar development APIs
Compare alternatives →Cloudflare
DevelopmentManage DNS, CDN, Workers and other services; documented with an official OpenAPI 3.0 spec
Azure DevOps
DevelopmentThe Azure DevOps basic components of a REST API request/response pair
IPify
DevelopmentA simple IP Address API
App Store Connect API
DevelopmentThe data structure that represents an app store connect api resource.
StackExchange
DevelopmentQ&A forum for developers
IPinfo
DevelopmentAnother simple IP Address API
Listed from APIs.guru (CC0).