Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: APIs.io Engineering Platform Postman Import API
description: "The Postman API enables you to programmatically access data stored in your Postman account.\n\n> Certain endpoints may be unavailable depending on your region and/or Postman plan.\n\nFor a comprehensive set of examples of requests and responses, see the [**Postman API** collection](https://www.postman.com/postman/workspace/postman-public-workspace/documentation/12959542-c8142d51-e97c-46b6-bd77-52bb66712c9a).\n\n## Getting started\n\nYou can get started with the Postman API by creating a copy of this definition in your workspace.\n\n### EU users\n\nFor users in the EU with [**Enterprise** plans](https://www.postman.com/pricing/), the Postman API uses the `http://api.eu.postman.com` subdomain. This is available in the definition's list of servers. You can change this by selecting the `http://api.eu.postman.com` subdomain in the **Server** dropdown list below.\n\n## About the Postman API\n\n- You must use a valid API Key to send requests to the API endpoints.\n- The API has [rate and usage limits](https://learning.postman.com/docs/developer/postman-api/postman-api-rate-limits/).\n- The API only responds to HTTPS-secured communications. Any requests sent via HTTP return an HTTP `301` redirect to the corresponding HTTPS resources.\n- The API returns requests responses in JSON format. When an API request returns an error, it is sent in the JSON response as an error key.\n- 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. The `POST` method implies you want to save something new to Postman.\n- For all requests, API calls respond with their corresponding [HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes). In the Postman client, the status code also provides help text that details the possible meaning of the response code.\n- When calling the API Builder endpoints, you must send an `Accept` header with the `application/vnd.api.v10+json` value.\n\n### IDs and UIDs\n\nAll items in Postman, such as collections, workspaces, and APIs, have IDs and UIDs:\n\n- An ID is the unique ID assigned to a Postman item. For example, `ec29121c-5203-409f-9e84-e83ffc10f226`.\n- The UID is the **full** ID of a Postman item. This value is the item's unique ID concatenated with the user ID. For example, in the `12345678-ec29121c-5203-409f-9e84-e83ffc10f226` UID:\n - `12345678` is the user's ID.\n - `ec29121c-5203-409f-9e84-e83ffc10f226` is the item's ID.\n\n### Enum values\n\nAny documented enum values should be considered partial lists and may change over time.\n\n### 403 response for unavailable features\n\nDepending on your region and/or Postman [plan](https://www.postman.com/pricing/), some endpoints will return an HTTP `403 Forbidden` response with the \"This feature isn't available in your region.\" detail.\n\n### 503 response\n\nAn HTTP `503 Service Unavailable` response from our servers indicates there is an unexpected spike in API access traffic. The server is usually operational within the next five minutes.\n\nIf the outage persists or you receive any other form of an HTTP `5XX` error, [contact support](https://support.postman.com/hc/en-us/requests/new/).\n\n## Authentication\n\nPostman uses API keys for authentication. The API key tells the API server that the request came from you. Everything that you have access to in Postman is accessible with your API key. You can [generate](https://learning.postman.com/docs/developer/postman-api/authentication/#generate-a-postman-api-key) a Postman API key in the [**API keys**](https://postman.postman.co/settings/me/api-keys) section of your Postman account settings.\n\nYou must include an API key in each request to the Postman API with the `X-API-Key` request header. In Postman, you can store your API key as a [vault secret](https://learning.postman.com/docs/sending-requests/postman-vault/postman-vault-secrets/) or an [environment variable](https://www.getpostman.com/docs/environments). The Postman API [collection](https://www.getpostman.com/docs/collections) will use it to make API calls.\n\n### SCIM authentication\n\nWhile all other endpoints in this collection require a Postman API key, the SCIM endpoints require a [SCIM API key](https://learning.postman.com/docs/administration/scim-provisioning/scim-provisioning-overview/#generating-scim-api-key).\n\n### Authentication error response\n\nIf an API key is missing, malformed, or invalid, you will receive an HTTP `401 Unauthorized` response code.\n\n## Rate and usage limits\n\nAPI access [rate limits](https://learning.postman.com/docs/developer/postman-api/postman-api-rate-limits/) apply at a per-user basis in unit time. The limit is **300 requests per minute**. Postman Monitors, the GET `/collections`, and the GET `/workspaces` endpoint have a rate limit of **10 calls in 10 seconds**. Depending on your [plan](https://www.postman.com/pricing/), you may also have [usage limits](https://learning.postman.com/docs/billing/resource-usage/).\n\nWhen you reach your rate or usage limits, the API returns the following HTTP `429 Too Many Requests` status code with one of the following error responses:\n\n- `rateLimited` — Rate limits reached. The response returns the time after which you can resume calls to the Postman API.\n- `serviceLimitExhausted` — Postman API service limits reached. You will need to contact your Postman Team Admin for assistance.\n\n## Support\n\nFor help regarding accessing the Postman API, you can:\n\n- Visit [Postman Support](https://support.postman.com/hc/en-us) or our [Community and Support](https://www.postman.com/community/) sites.\n- Reach out to the [Postman community](https://community.postman.com/).\n- Submit a help request to [Postman support](https://support.postman.com/hc/en-us/requests/new/).\n\n## Policies\n\n- [Postman Terms of Service](http://www.postman.com/legal/terms/)\n- [Postman Privacy Policy](https://www.postman.com/legal/privacy-policy/)\n"
version: '1.0'
termsOfService: https://www.postman.com/legal/terms/
contact:
name: Postman Support
email: help@postman.com
url: https://www.postman.com/community/
servers:
- url: https://api.getpostman.com
- url: https://api.eu.postman.com
security:
- PostmanApiKey: []
- scimApiKey: []
tags:
- name: Import
description: The **Import** endpoints enable you to manage [importing and exporting](https://learning.postman.com/docs/getting-started/importing-and-exporting-data/) Postman data.
paths:
/import/openapi:
post:
summary: APIs.io Engineering Platform Import an OpenAPI definition
description: 'Imports an OpenAPI definition into Postman as a new [Postman Collection](https://learning.postman.com/docs/getting-started/creating-the-first-collection/).
**Note:**
The Postman web app does not support the `file` input method type.
'
operationId: importOpenApiDefinition
tags:
- Import
requestBody:
$ref: '#/components/requestBodies/importOpenApiDefinition'
responses:
'200':
$ref: '#/components/responses/importOpenApiDefinition'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/import400ErrorBadRequest'
examples:
Missing Parameters:
$ref: '#/components/examples/import400ErrorBadRequest'
Unsupported OpenAPI Version:
$ref: '#/components/examples/import400ErrorUnsupportedOASVersion'
'401':
$ref: '#/components/responses/common401Error'
'500':
$ref: '#/components/responses/common500ErrorServerError'
parameters:
- $ref: '#/components/parameters/workspaceQuery'
components:
examples:
import400ErrorUnsupportedOASVersion:
value:
error:
name: invalidParamsError
message: 'Unsupported OpenAPI version: 3.2.0. Postman API only supports versions 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0'
import400ErrorBadRequest:
value:
error:
name: invalidParamsError
message: The request body has invalid values for the type parameter. Value must be one of file, string, json
details:
param: type
schemas:
import400ErrorUnsupportedOASVersion:
title: Unsupported OpenAPI Version
type: object
properties:
error:
type: object
properties:
name:
type: string
description: The error name.
example: userInputError
message:
type: string
description: The error message.
example: 'Unsupported OpenAPI version: 3.2.0. Postman API only supports versions 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0'
importOpenApiDefinition:
title: Successful Response
type: object
properties:
collections:
type: array
items:
type: object
properties:
id:
type: string
description: The collection's ID.
example: 12ece9e1-2abf-4edc-8e34-de66e74114d2
name:
type: string
description: The collection's name.
example: Test Collection
uid:
type: string
format: uid
description: The collection's unique ID.
example: 12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2
import400ErrorInvalidParameters:
title: Invalid Parameters
type: object
properties:
error:
type: object
properties:
name:
type: string
description: The error name.
example: invalidParamsError
message:
type: string
description: The error message.
example: The request body has invalid values for the type parameter. Value must be one of file, string, json
details:
type: object
description: Information about the error.
properties: {}
jsonStringified:
title: JSON Stringified
type: object
required:
- type
- input
properties:
type:
type: string
description: The `string` type value.
enum:
- string
example: string
input:
type: string
description: The stringified OpenAPI definition.
example: "{\n \"openapi\": \"3.0.0\",\n \"info\": {\n \"version\": \"1.0.0\",\n \"title\": \"Test API\"\n },\n \"servers\": [\n {\n \"url\": \"http://locahost:3000\"\n }\n ],\n \"paths\": {\n \"/user\": {\n \"get\": {\n \"summary\": \"List all users\",\n \"operationId\": \"listUser\",\n \"parameters\": [\n {\n \"name\": \"id\",\n \"in\": \"query\",\n \"required\": true,\n \"description\": \"The user's ID.\",\n \"example\": 1234,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"int32\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Information about the user.\",\n \"headers\": {\n \"x-next\": {\n \"description\": \"A link to the next page of responses.\",\n \"schema\": {\n \"type\": \"string\"\n }\n }\n },\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/User\"\n }\n }\n }\n }\n }\n }\n }\n },\n \"components\": {\n \"schemas\": {\n \"User\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"name\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"integer\",\n \"format\": \"int64\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"tag\": {\n \"type\": \"string\"\n }\n }\n },\n \"Error\": {\n \"type\": \"object\",\n \"required\": [\n \"code\",\n \"message\"\n ],\n \"properties\": {\n \"code\": {\n \"type\": \"integer\",\n \"format\": \"int32\"\n },\n \"message\": {\n \"type\": \"string\"\n }\n }\n }\n }\n }\n}"
options:
type: object
additionalProperties: true
description: An object that contains advanced creation options and their values. You can find a complete list of properties and their values in Postman's [OpenAPI to Postman Collection Converter OPTIONS documentation](https://github.com/postmanlabs/openapi-to-postman/blob/develop/OPTIONS.md). These properties are case-sensitive.
jsonSchema:
title: JSON Schema
type: object
required:
- type
- input
properties:
type:
type: string
description: The `json` type value.
enum:
- json
example: json
input:
type: object
description: An object that contains a valid JSON OpenAPI definition. For more information, read the [OpenAPI documentation](https://swagger.io/docs/specification/basic-structure/).
options:
type: object
additionalProperties: true
description: An object that contains advanced creation options and their values. You can find a complete list of properties and their values in Postman's [OpenAPI to Postman Collection Converter OPTIONS documentation](https://github.com/postmanlabs/openapi-to-postman/blob/develop/OPTIONS.md). These properties are case-sensitive.
import400ErrorBadRequest:
title: Bad Request
anyOf:
- $ref: '#/components/schemas/import400ErrorInvalidParameters'
- $ref: '#/components/schemas/import400ErrorUnsupportedOASVersion'
workspaceId:
type: string
example: 1f0df51a-8658-4ee8-a2a1-d2567dfa09a9
importExportFile:
type: object
required:
- type
- input
properties:
type:
type: string
description: The `file` type value.
enum:
- file
example: file
input:
type: string
description: A .zip file containing the definition file.
format: binary
parameters:
workspaceQuery:
name: workspace
in: query
description: The workspace's ID.
schema:
$ref: '#/components/schemas/workspaceId'
responses:
common401Error:
description: Unauthorized
content:
application/problem+json:
schema:
type: object
properties:
type:
type: string
format: uri-reference
description: The [URI reference](https://www.rfc-editor.org/rfc/rfc3986) that identifies the type of problem.
example: https://api.postman.com/problems/unauthorized
title:
type: string
description: A short summary of the problem.
example: Unauthorized
detail:
type: string
description: Information about the error.
example: Unauthorized
status:
type: integer
format: http-status-code
description: The error's HTTP status code.
example: 401
example:
type: https://api.postman.com/problems/unauthorized
title: Unauthorized
detail: Unauthorized
status: 401
common500ErrorServerError:
description: Internal Server Error
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
name:
type: string
description: The error name.
example: serverError
message:
type: string
description: The error message.
example: An error has occurred on the server.
example:
error:
name: serverError
message: An error has occurred on the server.
importOpenApiDefinition:
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/importOpenApiDefinition'
example:
collections:
- id: 12ece9e1-2abf-4edc-8e34-de66e74114d2
name: Test Collection
uid: 12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2
environments: []
requestBodies:
importOpenApiDefinition:
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/jsonSchema'
- $ref: '#/components/schemas/jsonStringified'
example:
type: string
input: "{\n \"openapi\": \"3.0.0\",\n \"info\": {\n \"version\": \"1.0.0\",\n \"title\": \"Test API\"\n },\n \"servers\": [\n {\n \"url\": \"http://locahost:3000\"\n }\n ],\n \"paths\": {\n \"/user\": {\n \"get\": {\n \"summary\": \"List all users\",\n \"operationId\": \"listUser\",\n \"parameters\": [\n {\n \"name\": \"id\",\n \"in\": \"query\",\n \"required\": true,\n \"description\": \"The user's ID.\",\n \"example\": 1234,\n \"schema\": {\n \"type\": \"integer\",\n \"format\": \"int32\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Information about the user.\",\n \"headers\": {\n \"x-next\": {\n \"description\": \"A link to the next page of responses.\",\n \"schema\": {\n \"type\": \"string\"\n }\n }\n },\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/User\"\n }\n }\n }\n }\n }\n }\n }\n },\n \"components\": {\n \"schemas\": {\n \"User\": {\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"name\"\n ],\n \"properties\": {\n \"id\": {\n \"type\": \"integer\",\n \"format\": \"int64\"\n },\n \"name\": {\n \"type\": \"string\"\n },\n \"tag\": {\n \"type\": \"string\"\n }\n }\n },\n \"Error\": {\n \"type\": \"object\",\n \"required\": [\n \"code\",\n \"message\"\n ],\n \"properties\": {\n \"code\": {\n \"type\": \"integer\",\n \"format\": \"int32\"\n },\n \"message\": {\n \"type\": \"string\"\n }\n }\n }\n }\n }\n}"
multipart/form-data:
schema:
$ref: '#/components/schemas/importExportFile'
examples:
Form-Data Request Body:
externalValue: https://www.postman.com/postman/workspace/postman-public-workspace/example/12959542-08d74ce2-8150-4f72-99a7-11e60492eb47
securitySchemes:
PostmanApiKey:
type: apiKey
in: header
name: x-api-key
scimApiKey:
type: apiKey
in: header
name: Authorization
description: A valid [SCIM API key](https://learning.postman.com/docs/administration/scim-provisioning/scim-provisioning-overview/#generating-scim-api-key) for calls to SCIM endpoints.