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 Collection Responses 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: Collection Responses
description: The **Collection Responses** endpoints enable you to manage collection responses.
paths:
/collections/{collectionId}/responses:
parameters:
- $ref: '#/components/parameters/collectionId'
post:
summary: APIs.io Engineering Platform Create a response
description: 'Creates a request response in a collection. For a complete list of request body properties, refer to the **Response** entry in the [Postman Collection Format documentation](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html).
**Note:**
It is recommended that you pass the `name` property in the request body. If you do not, the system uses a null value. As a result, this creates a response with a blank name.
'
operationId: createCollectionResponse
tags:
- Collection Responses
requestBody:
$ref: '#/components/requestBodies/createCollectionResponse'
responses:
'200':
$ref: '#/components/responses/createCollectionResponse'
'400':
$ref: '#/components/responses/collectionResponse400Error'
'401':
$ref: '#/components/responses/collectionResponse401Error'
'500':
$ref: '#/components/responses/common500Error'
parameters:
- $ref: '#/components/parameters/collectionResponseParentRequestId'
/collections/{collectionId}/responses/{responseId}/comments:
parameters:
- $ref: '#/components/parameters/collectionUid'
- $ref: '#/components/parameters/collectionResponseUid'
get:
summary: APIs.io Engineering Platform Get a response's comments
description: Gets all comments left by users in a response.
operationId: getResponseComments
tags:
- Collection Responses
responses:
'200':
$ref: '#/components/responses/commentGet'
'401':
$ref: '#/components/responses/comment401Error'
'403':
$ref: '#/components/responses/comment403Error'
'404':
$ref: '#/components/responses/comment404Error'
'500':
$ref: '#/components/responses/comment500Error'
post:
summary: APIs.io Engineering Platform Create a response comment
description: 'Creates a comment on a response.
**Note:**
This endpoint accepts a max of 10,000 characters.
'
tags:
- Collection Responses
operationId: createResponseComment
requestBody:
$ref: '#/components/requestBodies/commentCreateUpdate'
responses:
'201':
$ref: '#/components/responses/commentCreated'
'401':
$ref: '#/components/responses/comment401Error'
'403':
$ref: '#/components/responses/comment403Error'
'404':
$ref: '#/components/responses/comment404Error'
'500':
$ref: '#/components/responses/comment500Error'
/collections/{collectionId}/responses/{responseId}/comments/{commentId}:
parameters:
- $ref: '#/components/parameters/collectionUid'
- $ref: '#/components/parameters/collectionResponseUid'
- $ref: '#/components/parameters/commentId'
put:
summary: APIs.io Engineering Platform Update a response's comment
description: 'Updates a comment on a response.
**Note:**
This endpoint accepts a max of 10,000 characters.
'
operationId: updateResponseComment
tags:
- Collection Responses
requestBody:
$ref: '#/components/requestBodies/commentCreateUpdate'
responses:
'200':
$ref: '#/components/responses/commentUpdated'
'401':
$ref: '#/components/responses/comment401Error'
'403':
$ref: '#/components/responses/comment403Error'
'404':
$ref: '#/components/responses/comment404Error'
'500':
$ref: '#/components/responses/comment500Error'
delete:
summary: APIs.io Engineering Platform Delete a response's comment
description: 'Deletes a comment from a response. On success, this returns an HTTP `204 No Content` response.
**Note:**
Deleting the first comment of a thread deletes all the comments in the thread.
'
operationId: deleteResponseComment
tags:
- Collection Responses
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/comment401Error'
'403':
$ref: '#/components/responses/comment403Error'
'404':
$ref: '#/components/responses/comment404Error'
'500':
$ref: '#/components/responses/comment500Error'
/collections/{collectionId}/responses/{responseId}:
parameters:
- $ref: '#/components/parameters/collectionResponseId'
- $ref: '#/components/parameters/collectionId'
get:
summary: APIs.io Engineering Platform Get a response
description: Gets information about a response in a collection.
operationId: getCollectionResponse
tags:
- Collection Responses
responses:
'200':
$ref: '#/components/responses/getCollectionResponse'
'401':
$ref: '#/components/responses/collectionResponse401Error'
'404':
$ref: '#/components/responses/collectionResponse404Error'
'500':
$ref: '#/components/responses/common500Error'
parameters:
- $ref: '#/components/parameters/collectionItemsIdQuery'
- $ref: '#/components/parameters/collectionItemsUidFormatQuery'
- $ref: '#/components/parameters/collectionItemsPopulateQuery'
put:
summary: APIs.io Engineering Platform Update a response
description: 'Updates a response in a collection. For a complete list of properties, see the [Postman Collection Format documentation](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html).
**Note:**
- You must pass a collection ID (`12ece9e1-2abf-4edc-8e34-de66e74114d2`), not a collection UID (`12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2`), in this endpoint.
- This endpoint acts like a PATCH method. It only updates the values that you pass in the request body (for example, the `name` property). The endpoint does not update the entire resource.
'
operationId: updateCollectionResponse
tags:
- Collection Responses
requestBody:
$ref: '#/components/requestBodies/updateCollectionResponse'
responses:
'200':
$ref: '#/components/responses/updateCollectionResponse'
'400':
$ref: '#/components/responses/collectionResponse400Error'
'401':
$ref: '#/components/responses/collectionResponse401Error'
'404':
$ref: '#/components/responses/collectionResponse404Error'
'500':
$ref: '#/components/responses/common500Error'
delete:
summary: APIs.io Engineering Platform Delete a response
description: Deletes a response in a collection.
operationId: deleteCollectionResponse
tags:
- Collection Responses
responses:
'200':
$ref: '#/components/responses/deleteCollectionResponse'
'401':
$ref: '#/components/responses/collectionResponse401Error'
'404':
$ref: '#/components/responses/collectionResponse404Error'
'500':
$ref: '#/components/responses/common500Error'
components:
requestBodies:
commentCreateUpdate:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/commentCreateUpdate'
examples:
Create Comment:
value:
body: This is an example.
Tag User in Comment:
value:
body: This is an example. @alex-cruz
tags:
'@alex-cruz':
type: user
id: 12345678
createCollectionResponse:
content:
application/json:
schema:
type: object
additionalProperties: true
description: 'Information about the response. For a complete list of properties, refer to the **Response** entry in the [Postman Collection Format documentation](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html).
**Note:**
It is recommended that you pass the `name` property in the request body. If you do not, the system uses a null value. As a result, this creates a response with a blank name.
'
properties:
name:
type: string
example: Example POST Response
description: The response's name. It is recommended that you pass the `name` property in the request body. If you do not, the system uses a null value. As a result, this creates a response with a blank name.
example:
name: Example POST Response
description: This is an example POST response.
url: https://postman-echo.com/post
method: POST
headers:
- key: Host
value: postman-echo.com
- key: user-agent
value: curl/7.88.1
- key: accept
value: '*/*'
- key: content-type
value: application/json
- key: content-length
value: '22'
dataMode: raw
rawModeData: "{\n \"field\": \"Value\"\n}"
dataOptions:
raw:
language: json
updateCollectionResponse:
content:
application/json:
schema:
type: object
additionalProperties: true
description: The response properties to update. For a complete list of properties, refer to the **Response** entry in the [Postman Collection Format documentation](https://schema.postman.com/collection/json/v1.0.0/draft-07/collection.json).
properties:
name:
type: string
description: The response's name.
example: Bad Request
responseCode:
type: object
description: The response's HTTP response code information.
properties:
code:
type: number
description: The response's HTTP response status code.
example: 400
name:
type: string
description: The name of the status code.
example: Bad Request
example:
owner: '12345678'
lastUpdatedBy: '12345678'
lastRevision: 32368133468
request: c82dd02c-4870-4907-8fcb-593a876cf05b
name: Example Response
status: null
responseCode:
code: 200
name: OK
time: '50'
headers:
- key: Date
value: Fri, 01 Sep 2023 07:36:18 GMT
- key: Content-Type
value: application/json; charset=utf-8
- key: Content-Length
value: '607'
- key: Connection
value: keep-alive
cookies: null
mime: null
text: "{\n \"args\": {},\n \"data\": {\n \"field\": \"Value\"\n },\n \"files\": {},\n \"form\": {},\n \"headers\": {\n \"x-forwarded-proto\": \"https\",\n \"x-forwarded-port\": \"443\",\n \"host\": \"postman-echo.com\",\n \"x-amzn-trace-id\": \"Root=1-64f9cd12-62f18f3a048796d345508073\",\n \"content-length\": \"24\",\n \"content-type\": \"application/json\",\n \"x-api-key\": \"xxx\",\n \"user-agent\": \"PostmanRuntime/7.32.3\",\n \"accept\": \"*/*\",\n \"postman-token\": \"XXX\",\n \"accept-encoding\": \"gzip, deflate, br\"\n },\n \"json\": {\n \"field\": \"Value\"\n },\n \"url\": \"https://postman-echo.com/post\"\n}"
language: json
rawDataType: null
requestObject: '{"data":null,"dataMode":"raw","dataOptions":{"raw":{"language":"json"}},"headerData":[],"method":"POST","pathVariableData":[],"queryParams":[],"url":"https://postman-echo.com/post","headers":"","pathVariables":{},"protocolProfileBehavior":{"disableBodyPruning":true},"rawModeData":"{\n \"field\": \"Value\"\n}","graphqlModeData":{}}'
createdAt: '2023-09-01T09:29:54.000Z'
updatedAt: '2023-09-01T09:29:54.000Z'
responses:
updateCollectionResponse:
description: Successful Response
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: Information about the updated response. For a complete list of response properties, refer to the **Response** entry in the [Postman Collection Format documentation](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html).
additionalProperties: true
properties:
id:
type: string
description: The response's ID.
example: c82dd02c-4870-4907-8fcb-593a876cf05b
name:
type: string
description: The response's name.
example: Test Folder
owner:
type: string
description: The user ID of the response's owner.
example: '12345678'
createdAt:
type: string
format: date-time
description: The response's creation date and time.
example: '2022-08-29T16:49:19.964Z'
updatedAt:
type: string
format: date-time
description: The date and time at which the response was last updated.
example: '2022-08-29T16:49:19.964Z'
lastRevision:
type: integer
format: int64
description: An internal revision ID. Its value increments each time the resource changes. You can use this ID to track whether there were changes since the last time you fetched the resource.
example: 24994132707
lastUpdatedBy:
type: string
description: The user ID of the user that last updated the response.
example: '12345678'
meta:
type: object
description: A Postman-specific response that contains information about the internal performed operation.
additionalProperties: true
model_id:
type: string
description: The response's ID.
example: 65a99e60-8e0a-4b6e-b79c-7d8264cc5caa
example:
model_id: c82dd02c-4870-4907-8fcb-593a876cf05b
meta:
model: response
action: update
data:
id: c82dd02c-4870-4907-8fcb-593a876cf05b
name: Example Response
status: null
responseCode:
name: OK
code: 200
time: '50'
headers:
- value: Fri, 01 Sep 2023 07:36:18 GMT
key: Date
- value: application/json; charset=utf-8
key: Content-Type
- value: '607'
key: Content-Length
- value: keep-alive
key: Connection
cookies: null
mime: null
text: "{\n \"args\": {},\n \"data\": {\n \"field\": \"Value\"\n },\n \"files\": {},\n \"form\": {},\n \"headers\": {\n \"x-forwarded-proto\": \"https\",\n \"x-forwarded-port\": \"443\",\n \"host\": \"postman-echo.com\",\n \"x-amzn-trace-id\": \"Root=1-64f9cd12-62f18f3a048796d345508073\",\n \"content-length\": \"24\",\n \"content-type\": \"application/json\",\n \"x-api-key\": \"xxx\",\n \"user-agent\": \"PostmanRuntime/7.32.3\",\n \"accept\": \"*/*\",\n \"postman-token\": \"XXX\",\n \"accept-encoding\": \"gzip, deflate, br\"\n },\n \"json\": {\n \"field\": \"Value\"\n },\n \"url\": \"https://postman-echo.com/post\"\n}"
language: json
rawDataType: null
requestObject: '{"data":null,"dataMode":"raw","dataOptions":{"raw":{"language":"json"}},"headerData":[],"method":"POST","pathVariableData":[],"queryParams":[],"url":"https://postman-echo.com/post","headers":"","pathVariables":{},"protocolProfileBehavior":{"disableBodyPruning":true},"rawModeData":"{\n \"field\": \"Value\"\n}","graphqlModeData":{}}'
createdAt: '2023-09-01T09:29:54.000Z'
updatedAt: '2023-09-08T12:37:33.000Z'
owner: '12345678'
lastUpdatedBy: '12345678'
lastRevision: 32368133468
request: c82dd02c-4870-4907-8fcb-593a876cf05b
revision: 32473225008
getCollectionResponse:
description: Successful Response
content:
application/json:
schema:
type: object
properties:
data:
type: object
description: Information about the response. For a complete list of properties, refer to the **Response** entry in the [Postman Collection Format documentation](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html).
additionalProperties: true
properties:
id:
type: string
description: The response's ID.
example: cc364734-7dfd-4bfc-897d-be763dcdbb07
request:
type: string
description: The ID of the request that the response belongs to.
example: c82dd02c-4870-4907-8fcb-593a876cf05b
name:
type: string
description: The response's name.
example: Test Folder
owner:
type: string
description: The user ID of the response's owner.
example: '12345678'
createdAt:
type: string
format: date-time
description: The response's creation date and time.
example: '2022-08-29T16:49:19.964Z'
updatedAt:
type: string
format: date-time
description: The date and time at which the response was last updated.
example: '2022-08-29T16:49:19.964Z'
lastRevision:
type: integer
format: int64
description: An internal revision ID. Its value increments each time the resource changes. You can use this ID to track whether there were changes since the last time you fetched the resource.
example: 24994132707
lastUpdatedBy:
type: string
description: The user ID of the user that last updated the response.
example: '12345678'
meta:
type: object
description: A Postman-specific response that contains information about the internal performed operation.
additionalProperties: true
model_id:
type: string
description: The response's ID.
example: 65a99e60-8e0a-4b6e-b79c-7d8264cc5caa
example:
model_id: cc364734-7dfd-4bfc-897d-be763dcdbb07
meta:
model: response
populate: false
changeset: false
action: find
data:
owner: '12345678'
lastUpdatedBy: '12345678'
lastRevision: 32457792182
request: c82dd02c-4870-4907-8fcb-593a876cf05b
id: cc364734-7dfd-4bfc-897d-be763dcdbb07
name: Successful GET Response
status: null
responseCode:
code: 200
name: OK
time: null
headers:
- key: Content-Type
name: Content-Type
value: application/json
description: ''
type: text
cookies: null
mime: null
text: "{\n \"title\": \"Not Found\",\n \"detail\": \"Requested API does not exist\",\n \"type\": \"about:blank\"\n}"
language: json
rawDataType: null
requestObject: '{"data":null,"dataMode":"raw","dataOptions":{"raw":{"language":"json"}},"headerData":[{"key":"Accept","value":"application/vnd.example.v1+json","description":"","type":"text","enabled":true}],"method":"GET","pathVariableData":[],"queryParams":[{"key":"id","value":"test-api","equals":true,"description":null,"enabled":true}],"url":"http://api.getpostman.com/v1/request?id=test-api","headers":"Accept: application/vnd.example.v1+json\n","pathVariables":{},"protocolProfileBehavior":{"disableBodyPruning":true},"rawModeData":"","graphqlModeData":{}}'
createdAt: '2023-09-07T14:39:52.000Z'
updatedAt: '2023-09-07T14:41:08.000Z'
commentGet:
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/commentResponse'
example:
data:
- id: 46818
threadId: 12345
createdBy: 12345678
createdAt: '2024-01-18T12:00:54.000Z'
updatedAt: '2024-01-18T12:00:54.000Z'
body: This is also an example.
- id: 46817
threadId: 67890
createdBy: 87654321
createdAt: '2024-01-18T11:48:01.000Z'
updatedAt: '2024-01-18T11:48:01.000Z'
body: Another example.
- id: 46814
threadId: 23456
createdBy: 12345678
createdAt: '2024-01-18T11:30:40.000Z'
updatedAt: '2024-01-18T11:30:40.000Z'
body: This is an example.
commentUpdated:
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/commentCreatedUpdated'
example:
data:
id: 46814
threadId: 12345
createdBy: 12345678
createdAt: '2024-01-18T11:30:40.000Z'
updatedAt: '2024-01-18T11:30:40.000Z'
body: This is an updated example.
comment401Error:
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
collectionResponse400Error:
description: Bad Request
content:
application/problem+json:
schema:
type: object
properties:
error:
type: object
properties:
name:
type: string
description: The error name.
example: instanceFoundError
details:
type: object
description: Information about the error.
additionalProperties: true
properties:
model:
type: string
description: The resource name.
example: response
owner:
type: string
description: The user ID of the response's owner.
example: '12345678'
model_id:
type: string
description: The response's ID.
example: 7978bfb8-fb89-42ac-8d48-cd547d96463e
message:
type: string
description: The error message.
example: This response already exists in the database.
example:
error:
name: instanceFoundError
message: This response already exists in the database.
details:
model: response
model_id: 7978bfb8-fb89-42ac-8d48-cd547d96463e
owner: '12345678'
common500Error:
description: Internal Server Error
content:
application/problem+json:
schema:
type: object
properties:
type:
type: string
format: uri-reference
description: The [URI reference](https://www.rfc-editor.org/rfc/r
# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/engineering-platform/refs/heads/main/openapi/engineering-platform-collection-responses-api-openapi.yml