Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/engineering-platform-mocks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: APIs.io Engineering Platform Postman Mocks 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: Mocks
description: The **Mocks** endpoints enable you to manage your [mock servers](https://learning.postman.com/docs/designing-and-developing-your-api/mocking-data/setting-up-mock/).
paths:
/mocks:
get:
summary: APIs.io Engineering Platform Get all mock servers
description: 'Gets all active mock servers. By default, this endpoint returns only mock servers you created across all workspaces.
**Note:**
If you pass both the `teamId` and `workspace` query parameters, this endpoint only accepts the `workspace` query.
'
operationId: getMocks
tags:
- Mocks
responses:
'200':
$ref: '#/components/responses/getMocks'
'401':
$ref: '#/components/responses/common401Error'
'500':
$ref: '#/components/responses/common500ErrorServerError'
parameters:
- $ref: '#/components/parameters/teamIdResultsQuery'
- $ref: '#/components/parameters/workspaceResultsQuery'
post:
summary: APIs.io Engineering Platform Create a mock server
description: 'Creates a mock server in a collection.
**Note:**
- If you do not include the `workspaceId` query parameter, the system creates the mock server in your [Personal
workspace](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/creating-workspaces/).
- You cannot create mocks for collections added to an API definition.
'
operationId: createMock
tags:
- Mocks
requestBody:
$ref: '#/components/requestBodies/createMock'
responses:
'200':
$ref: '#/components/responses/mockCreateUpdate'
'400':
$ref: '#/components/responses/paramMissing400Error'
'401':
$ref: '#/components/responses/common401Error'
'500':
$ref: '#/components/responses/common500ErrorServerError'
parameters:
- $ref: '#/components/parameters/workspaceIdQuery'
/mocks/{mockId}:
parameters:
- $ref: '#/components/parameters/mockId'
get:
summary: APIs.io Engineering Platform Get a mock server
description: Gets information about a mock server.
operationId: getMock
tags:
- Mocks
responses:
'200':
$ref: '#/components/responses/getMock'
'401':
$ref: '#/components/responses/common401Error'
'404':
$ref: '#/components/responses/mock400ErrorInstanceNotFound'
'500':
$ref: '#/components/responses/common500ErrorServerError'
put:
summary: APIs.io Engineering Platform Update a mock server
description: Updates a mock server.
operationId: updateMock
tags:
- Mocks
requestBody:
$ref: '#/components/requestBodies/updateMock'
responses:
'200':
$ref: '#/components/responses/mockCreateUpdate'
'401':
$ref: '#/components/responses/common401Error'
'404':
$ref: '#/components/responses/mock400ErrorInstanceNotFound'
'500':
$ref: '#/components/responses/common500ErrorServerError'
delete:
summary: APIs.io Engineering Platform Delete a mock server
description: Deletes a mock server.
operationId: deleteMock
tags:
- Mocks
responses:
'200':
$ref: '#/components/responses/deleteMock'
'401':
$ref: '#/components/responses/common401Error'
'404':
$ref: '#/components/responses/mock400ErrorInstanceNotFound'
'500':
$ref: '#/components/responses/common500ErrorServerError'
/mocks/{mockId}/call-logs:
parameters:
- $ref: '#/components/parameters/mockId'
get:
summary: APIs.io Engineering Platform Get a mock server's call logs
description: 'Gets a mock server''s call logs. You can get a maximum of 6.5MB of call logs or a total of 100 call logs, whichever limit is met first in one API call.
Call logs contain exchanged request and response data made to mock servers. The logs provide visibility into how the mock servers are being used. You can log data to debug, test, analyze, and more, depending upon the use case.
**Note:**
Call logs have a retention period based on your [Postman plan](https://www.postman.com/pricing/#mock-calls). For more information, see [this article](https://support.postman.com/hc/en-us/articles/21219973964951-I-can-t-see-my-mock-server-logs-history) in the [Postman Support Center](https://support.postman.com/).
'
operationId: getMockCallLogs
tags:
- Mocks
responses:
'200':
$ref: '#/components/responses/getMockCallLogs'
'400':
$ref: '#/components/responses/mock400ErrorLogRetentionPeriodExceeded'
'401':
$ref: '#/components/responses/common401Error'
'404':
$ref: '#/components/responses/mock400ErrorInstanceNotFound'
'500':
$ref: '#/components/responses/common500ErrorServerError'
parameters:
- $ref: '#/components/parameters/limitDefault100'
- $ref: '#/components/parameters/cursor'
- $ref: '#/components/parameters/until'
- $ref: '#/components/parameters/since'
- $ref: '#/components/parameters/mockResponseStatusCode'
- $ref: '#/components/parameters/mockResponseType'
- $ref: '#/components/parameters/mockRequestMethod'
- $ref: '#/components/parameters/mockRequestPath'
- $ref: '#/components/parameters/mockSortServedAt'
- $ref: '#/components/parameters/direction'
- $ref: '#/components/parameters/mockInclude'
/mocks/{mockId}/publish:
parameters:
- $ref: '#/components/parameters/mockId'
post:
summary: APIs.io Engineering Platform Publish a mock server
description: Publishes a mock server. Publishing a mock server sets its **Access Control** configuration setting to public.
operationId: publishMock
tags:
- Mocks
responses:
'200':
$ref: '#/components/responses/publishMock'
'400':
$ref: '#/components/responses/mock400ErrorAlreadyPublished'
'401':
$ref: '#/components/responses/common401Error'
'404':
$ref: '#/components/responses/mock400ErrorInstanceNotFound'
'500':
$ref: '#/components/responses/common500ErrorServerError'
/mocks/{mockId}/unpublish:
parameters:
- $ref: '#/components/parameters/mockId'
delete:
summary: APIs.io Engineering Platform Unpublish a mock server
description: Unpublishes a mock server. Unpublishing a mock server sets its **Access Control** configuration setting to private.
operationId: unpublishMock
tags:
- Mocks
responses:
'200':
$ref: '#/components/responses/unpublishMock'
'400':
$ref: '#/components/responses/mock400ErrorAlreadyUnpublished'
'401':
$ref: '#/components/responses/common401Error'
'404':
$ref: '#/components/responses/mock400ErrorInstanceNotFound'
'500':
$ref: '#/components/responses/common500ErrorServerError'
/mocks/{mockId}/server-responses:
parameters:
- $ref: '#/components/parameters/mockId'
get:
summary: APIs.io Engineering Platform Get all server responses
description: Gets all of a mock server's server responses.
operationId: getMockServerResponses
tags:
- Mocks
responses:
'200':
$ref: '#/components/responses/getMockServerResponses'
'401':
$ref: '#/components/responses/common401Error'
'404':
$ref: '#/components/responses/mock400ErrorInstanceNotFound'
'500':
$ref: '#/components/responses/common500ErrorServerError'
post:
summary: APIs.io Engineering Platform Create a server response
description: 'Creates a server response. Server responses let you simulate 5xx server-level responses, such as 500 or 503.
Server-level responses are agnostic to application-level logic. Server responses let you simulate this behavior on a mock server. You do not need to define each error for all exposed paths on the mock server.
If you set a server response as active, then all the calls to the mock server return with that active server response.
**Note:**
You can create multiple server responses for a mock server, but only one mock server can be set as active.
'
operationId: createMockServerResponse
tags:
- Mocks
requestBody:
$ref: '#/components/requestBodies/createMockServerResponse'
responses:
'200':
$ref: '#/components/responses/mockServerResponse'
'400':
$ref: '#/components/responses/paramMissing400Error'
'401':
$ref: '#/components/responses/common401Error'
'500':
$ref: '#/components/responses/common500ErrorServerError'
/mocks/{mockId}/server-responses/{serverResponseId}:
parameters:
- $ref: '#/components/parameters/mockId'
- $ref: '#/components/parameters/serverResponseId'
get:
summary: APIs.io Engineering Platform Get a server response
description: Gets information about a server response.
operationId: getMockServerResponse
tags:
- Mocks
responses:
'200':
$ref: '#/components/responses/mockServerResponse'
'400':
$ref: '#/components/responses/serverResponseNotFound400Error'
'401':
$ref: '#/components/responses/common401Error'
'404':
$ref: '#/components/responses/mock400ErrorInstanceNotFound'
'500':
$ref: '#/components/responses/common500ErrorServerError'
parameters:
- $ref: '#/components/parameters/mockId'
- $ref: '#/components/parameters/serverResponseId'
put:
summary: APIs.io Engineering Platform Update a server response
description: Updates a server response.
operationId: updateMockServerResponse
tags:
- Mocks
requestBody:
$ref: '#/components/requestBodies/updateMockServerResponse'
responses:
'200':
$ref: '#/components/responses/mockServerResponse'
'400':
$ref: '#/components/responses/paramMissing400Error'
'401':
$ref: '#/components/responses/common401Error'
'500':
$ref: '#/components/responses/common500ErrorServerError'
delete:
summary: APIs.io Engineering Platform Delete a server response
description: Deletes a mock server's server response.
operationId: deleteMockServerResponse
tags:
- Mocks
responses:
'200':
$ref: '#/components/responses/deleteMockServerResponse'
'400':
$ref: '#/components/responses/serverResponseNotFound400Error'
'401':
$ref: '#/components/responses/common401Error'
'404':
$ref: '#/components/responses/mock400ErrorInstanceNotFound'
'500':
$ref: '#/components/responses/common500ErrorServerError'
components:
schemas:
untilDateTime:
type: string
format: date-time
example: '2022-06-15T00:00:00.000Z'
workspaceId:
type: string
example: 1f0df51a-8658-4ee8-a2a1-d2567dfa09a9
ascDesc:
type: string
enum:
- asc
- desc
example: asc
sinceDateTime:
type: string
format: date-time
example: '2022-06-01T00:00:00.000Z'
cursor:
type: string
example: RnJpIEZlYiAyNCAyMDIzIDEzOjI0OjA5IEdNVCswMDAwIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSk=
requestBodies:
updateMock:
content:
application/json:
schema:
type: object
properties:
mock:
type: object
properties:
name:
type: string
description: The mock server's name.
example: Test Mock
environment:
type: string
format: uid
description: The associated environment's unique ID.
example: 12345678-5daabc50-8451-43f6-922d-96b403b4f28e
description:
type: string
description: The mock server's description.
example: This is a test mock server.
private:
type: boolean
default: false
description: If true, the mock server is set private. By default, mock servers are public and can receive requests from anyone and anywhere.
example: true
versionTag:
type: string
description: The API's version tag ID.
example: abf07d3d-f8ec-47d4-8015-9fe83078b4ec
config:
type: object
description: The mock server's configuration settings.
properties:
serverResponseId:
type:
- string
- 'null'
description: 'The server response ID. This sets the given server response as the default response for each request.
To deactivate a server response, pass a null value.
'
example: 9a291bbe-dc0a-44ba-a3c8-6dbd06a61460
example:
mock:
name: Test Mock
environment: 12345678-5daabc50-8451-43f6-922d-96b403b4f28e
description: This is a test mock server.
private: true
versionTag: abf07d3d-f8ec-47d4-8015-9fe83078b4ec
updateMockServerResponse:
required: true
content:
application/json:
schema:
type: object
properties:
serverResponse:
type: object
properties:
name:
type: string
description: The server response's name.
example: Internal Server Error
statusCode:
type: integer
description: The server response's 5xx HTTP response code. This property only accepts [5xx values](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml).
example: 500
headers:
type: array
description: The server response's request headers, such as Content-Type, Accept, encoding, and other information.
items:
type: object
description: Information about the key-value pair.
properties:
key:
type: string
description: The request header's key value.
example: Content-Type
value:
type: string
description: The request header's value. This value defines the corresponding value for the header key.
example: application/json
language:
type:
- string
- 'null'
description: The server response's body language type.
enum:
- text
- javascript
- json
- html
- xml
example: json
body:
type: string
description: The server response's body that returns when you call the mock server.
example: "{\n \"message\": \"Something went wrong; try again later.\"\n}"
example:
serverResponse:
name: Internal Server Error
statusCode: 500
headers:
- key: Content-Type
value: application/json
language: json
body: "{\n \"message\": \"Something went wrong; try again later.\"\n}"
createMockServerResponse:
required: true
content:
application/json:
schema:
type: object
properties:
serverResponse:
type: object
required:
- name
- statusCode
properties:
name:
type: string
description: The server response's name.
example: Internal Server Error
statusCode:
type: integer
description: The server response's 5xx HTTP response code. This property only accepts 5xx values.
example: 500
headers:
type: array
description: The server response's request headers, such as Content-Type, Accept, encoding, and other information.
items:
type: object
properties:
key:
type: string
description: The request header's key value.
example: Content-Type
value:
type: string
description: The request header's value.
example: application/json
language:
type:
- string
- 'null'
description: The server response's body language type.
enum:
- text
- javascript
- json
- html
- xml
example: json
body:
type: string
description: The server response's body that returns when calling the mock server.
example: "{\n \"message\": \"Something went wrong; try again later.\"\n}"
example:
serverResponse:
name: Internal Server Error
statusCode: 500
header:
- key: Content-Type
value: application/json
language: json
body: "{\n \"message\": \"Something went wrong; try again later.\"\n}"
createMock:
required: true
content:
application/json:
schema:
type: object
properties:
mock:
type: object
required:
- collection
properties:
collection:
type: string
format: uid
description: The unique ID of the mock's associated collection.
example: 12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2
environment:
type: string
format: uid
description: The unique ID of the mock's associated environment.
example: 12345678-5daabc50-8451-43f6-922d-96b403b4f28e
name:
type: string
description: The mock server's name.
example: Test Mock
private:
type: boolean
default: false
description: If true, the mock server is set private. By default, mock servers are public and can receive requests from anyone and anywhere.
example: true
example:
mock:
name: Test Mock
collection: 12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2
environment: 12345678-5daabc50-8451-43f6-922d-96b403b4f28e
private: true
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
mock400ErrorAlreadyPublished:
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
name:
type: string
description: The error name.
example: mockAlreadyPublishedError
message:
type: string
description: The error message.
example: This mock is already public.
example:
error:
name: mockAlreadyPublishedError
message: This mock is already public.
getMocks:
description: Successful Response
content:
application/json:
schema:
type: object
properties:
mocks:
type: array
items:
type: object
description: Information about the mock servers.
properties:
id:
type: string
description: The mock server's ID.
example: e3d951bf-873f-49ac-a658-b2dcb91d3289
owner:
type: string
description: The ID of mock server's owner.
example: '12345678'
uid:
type: string
format: uid
description: The mock server's unique ID.
example: 12345678-e782b64e-406b-4a6c-8fe9-9ebe84aeb706
collection:
type: string
description: The unique ID of the mock's associated collection.
example: 12345678-39fee52f-b806-3ffa-1173-00a6f5b183dc
mockUrl:
type: string
format: url
description: The mock server URL.
example: https://e3d951bf-873f-49ac-a658-b2dcb91d3289.mock.pstmn.io
config:
type: object
description: Information about the mock server's configuration.
properties:
delay:
type:
- object
- 'null'
description: Information about the mock server's simulated network delay settings. This returns a null value if there are no configured network delay settings.
properties:
type:
type: string
description: 'The type of simulated delay value:
- `fixed` — The delay value is a fixed value.
'
example: fixed
enum:
- fixed
preset:
type: string
description: 'The simulated fixed network delay value:
- `1` — 2G (300 ms).
- `2` — 3G (100 ms).
The object does not return this value for custom delay values.
'
example: '2'
enum:
- '1'
- '2'
duration:
type: integer
description: The configured delay, in milliseconds.
example: 100
headers:
type: array
description: A list of the mock server's headers.
items:
type: string
example: []
matchBody:
type: boolean
description: If true, match the request body.
example: false
matchQueryParams:
type: boolean
description: If true, match query parameters.
example: true
matchWildcards:
type: boolean
description: If true, use wildcard variable matching.
example: true
serverResponseId:
type: string
description: The ID of mock server's default response for requests. All calls to the mock server will return the defined response.
example: 94d0f5d9-dbdf-4046-9a7d-a11f9b78ac65
# --- truncated at 32 KB (72 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/engineering-platform/refs/heads/main/openapi/engineering-platform-mocks-api-openapi.yml