Create Collection
Creates a collection using the [Postman Collection v2.1.0 schema format](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html).
**Note:**
If you do not include the \`workspace\` query parameter, the system creates the collection in the oldest personal Internal workspace you own.
Create Collection Request
Creates a request in a collection. For a complete list of properties, refer to the **Request** 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 request with a blank name.
Create Collection Response
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.
Create Environment
Creates an environment.
**Note:**
- The request body size cannot exceed the maximum allowed size of 30MB.
- If you receive an HTTP \`411 Length Required\` error response, manually pass the \`Content-Length\` header and its value in the request header.
- If you do not include the \`workspace\` query parameter, the system creates the environment in the oldest personal Internal workspace you own.
Create Mock
Creates a mock server in a collection.
- Pass the collection UID (ownerId-collectionId), not the bare collection ID.
- If you only have a \`collectionId\`, resolve the UID first:
1) Prefer GET \`/collections/{collectionId}\` and read \`uid\`, or
2) Construct \`{ownerId}-{collectionId}\` using ownerId from GET \`/me\`:
- For team-owned collections: \`ownerId = me.teamId\`
- For personal collections: \`ownerId = me.user.id\`
- Use the \`workspace\` query to place the mock in a specific workspace. Prefer explicit workspace scoping.
Create Spec
Creates an API specification in Postman's [Spec Hub](https://learning.postman.com/docs/design-apis/specifications/overview/). Specifications can be single or multi-file.
**Note:**
- Postman supports OpenAPI (2.0, 3.0, and 3.1), AsyncAPI (2.0 and 3.0), protobuf (2 and 3), GraphQL, and Smithy specifications.
- If the file path contains a \`/\` (forward slash) character, then a folder is created. For example, if the path is the \`components/schemas.json\` value, then a \`components\` folder is created with the \`schemas.json\` file inside.
- Multi-file specifications can only have one root file.
- Files cannot exceed a maximum of 12 MB in size.
Create Spec File
Creates a file for an OpenAPI or a protobuf 2 or 3 specification.
**Note:**
- If the file path contains a \`/\` (forward slash) character, then a folder is created. For example, if the path is the \`components/schemas.json\` value, then a \`components\` folder is created with the \`schemas.json\` file inside.
- Creating a spec file assigns it the \`DEFAULT\` file type.
- Multi-file specifications can only have one root file.
- Files cannot exceed a maximum of 10 MB in size.
Create Workspace
Creates a new [workspace](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/creating-workspaces/).
**Note:**
- This endpoint returns a 403 \`Forbidden\` response if the user does not have permission to create workspaces. [Admins and Super Admins](https://learning.postman.com/docs/collaborating-in-postman/roles-and-permissions/#team-roles) can configure workspace permissions to restrict users and/or user groups from creating workspaces or require approvals for the creation of team workspaces.
- Private and [Partner Workspaces](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/partner-workspaces/) are available on Postman [**Team** and **Enterprise** plans](https://www.postman.com/pricing).
- There are rate limits when publishing public workspaces.
- Public team workspace names must be unique.
- The \`teamId\` property must be passed in the request body if [Postman Organizations](https://learning.postman.com/docs/administration/onboarding-checklist) is enabled.
Duplicate Collection
Creates a duplicate of the given collection in another workspace.
Use the GET \`/collection-duplicate-tasks/{taskId}\` endpoint to get the duplication task's current status.
Generate Collection
Creates a collection from the given API specification.
The specification must already exist or be created before it can be used to generate a collection.
The response contains a polling link to the task status.
Generate Spec From Collection
Generates an OpenAPI 2.0, 3.0, or 3.1 specification for the given collection. The response contains a polling link to the task status.
Get All Specs
Gets all API specifications in a workspace.
Get Authenticated User
Gets information about the authenticated user.
- This endpoint provides “current user” context (\`user.id\`, \`username\`, \`teamId\`, roles).
- When a user asks for “my …” (e.g., “my workspaces, my information, etc.”), call this first to resolve the user ID.
Get Collection
Get information about a collection. By default this tool returns the lightweight collection map (metadata + recursive itemRefs).
Use the model parameter to opt in to Postman's full API responses:
- model=minimal — root-level folder/request IDs only
- model=full — full Postman collection payload.
Get Collections
The workspace ID query is required for this endpoint. If not provided, the LLM should ask the user to provide it.
Get Duplicate Collection Task Status
Gets the status of a collection duplication task.
Get Enabled Tools
IMPORTANT: Run this tool first when a requested tool is unavailable. Returns information about which tools are enabled in the full and minimal tool sets, helping you identify available alternatives.
Get Environment
Gets information about an environment.
Get Environments
Gets information about all of your [environments](https://learning.postman.com/docs/sending-requests/managing-environments/).
Get Generated Collection Specs
Gets the API specification generated for the given collection.
Get Mock
Gets information about a mock server.
- Resource: Mock server entity. Response includes the associated \`collection\` UID and \`mockUrl\`.
- Use the \`collection\` UID to navigate back to the source collection.
Get Mocks
Gets all active mock servers. By default, returns only mock servers you created across all workspaces.
- Always pass either the \`workspace\` or \`teamId\` query to scope results. Prefer \`workspace\` when known.
- If you need team-scoped results, set \`teamId\` from the current user: call GET \`/me\` and use \`me.teamId\`.
- If both \`teamId\` and \`workspace\` are passed, only \`workspace\` is used.
Get Spec
Gets information about an API specification.
Get Spec Collections
Gets all of an API specification's generated collections.
Get Spec Definition
Gets the complete contents of an OpenAPI or AsyncAPI specification's definition.
Get Spec File
Gets the contents of an API specification's file.
Get Spec Files
Gets all the files in an API specification.
Get Tagged Entities
**Requires an Enterprise plan.** Tagging is only available on Postman Enterprise plans. This tool returns a 404 error on Free, Basic, and Professional accounts.
Gets Postman elements (entities) by a given tag. Tags enable you to organize and search workspaces, APIs, and collections that contain shared tags.
Get Workspace
Gets information about a workspace.
**Note:**
This endpoint's response contains the \`visibility\` field. [Visibility](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/managing-workspaces/#changing-workspace-visibility) determines who can access the workspace:
- \`personal\` — Only you can access the workspace.
- \`team\` — All team members can access the workspace.
- \`private\` — Only invited team members can access the workspace ([**Team** and **Enterprise** plans only](https://www.postman.com/pricing)).
- \`public\` — Everyone can access the workspace.
- \`partner\` — Only invited team members and [partners](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/partner-workspaces/) can access the workspace ([**Team** and **Enterprise** plans only](https://www.postman.com/pricing)).
Get Workspaces
Gets all workspaces you have access to.
- For “my …” requests, first call GET \`/me\` and pass \`createdBy={me.user.id}\`.
- This endpoint's response contains the visibility field. Visibility determines who can access the workspace:
- \`personal\` — Only you can access the workspace.
- \`team\` — All team members can access the workspace.
- \`private\` — Only invited team members can access the workspace (Professional and Enterprise).
- \`public\` — Everyone can access the workspace.
- \`partner\` — Invited team members and partners (Professional and Enterprise).
- For tools that require the workspace ID, and no workspace ID is provided, ask the user to provide the workspace ID. If the user does not provide the workspace ID, call this first with the createdBy parameter to use the first workspace.
- Results are paginated. Use the \`cursor\` parameter to retrieve additional pages.
- Examples:
- “List my workspaces” → GET \`/me\`, then GET \`/workspaces?createdBy={me.user.id}&limit=100\`
- “List my personal workspaces” → GET \`/me\`, then GET \`/workspaces?type=personal&createdBy={me.user.id}&limit=100\`
- “List all public workspaces” → GET \`/workspaces?type=public&limit=100\`
Publish Mock
Publishes a mock server. Publishing a mock server sets its **Access Control** configuration setting to public.
Put Collection
Replaces the contents of a collection using the [Postman Collection v2.1.0 schema format](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html). Include the collection's ID values in the request body. If you do not, the endpoint removes the existing items and creates new items.
- To perform an update asynchronously, use the \`Prefer\` header with the \`respond-async\` value. When performing an async update, this endpoint returns a HTTP \`202 Accepted\` response.
- For a complete list of properties and information, see the [Postman Collection Format documentation](https://schema.postman.com/collection/json/v2.1.0/draft-07/docs/index.html).
- For protocol profile behavior, refer to Postman's [Protocol Profile Behavior documentation](https://github.com/postmanlabs/postman-runtime/blob/develop/docs/protocol-profile-behavior.md).
**Note:**
- The maximum collection size this endpoint accepts cannot exceed 100 MB.
- Use the GET \`/collection-updates-tasks/{taskId}\` endpoint to get the collection's update status when performing an asynchronous update.
- If you don't include the collection items' ID values from the request body, the endpoint **removes** the existing items and recreates the items with new ID values.
- To copy another collection's contents to the given collection, remove all ID values before you pass it in this endpoint. If you do not, this endpoint returns an error. These values include the \`id\`, \`uid\`, and \`postman_id\` values.
Put Environment
Replaces all the contents of an environment with the given information.
**Note:**
- The request body size cannot exceed the maximum allowed size of 30MB.
- If you receive an HTTP \`411 Length Required\` error response, manually pass the \`Content-Length\` header and its value in the request header.
Search Postman Elements
Search for Postman entities (requests, collections, workspaces, specs, flows, environments, and mocks).
**Ownership:**
- `organization` — Search within all resources owned by your organization (default).
- `external` — Search within the public Postman network (third-party and community APIs).
- `all` — Search across all scopes.
**When to use each ownership value and filters:**
| Goal | Recommended approach |
|------|----------------------|
| Find an internal API (e.g. "our notification service") | `ownership: organization` |
| Find a trusted API published to the Private Network | `ownership: organization` + `privateNetwork: true` filter |
| Find an internal API in all resources of organization and are visible to the organization only | `ownership: organization` + `visibility: internal` filter |
| Find an API by your organization that is made publicly visible | `ownership: organization` + `visibility: public` filter |
| Find a third party publicly visible API (e.g. "Stripe API", "Twilio API") | `ownership: external` + `visibility: public` filter |
| User says "our APIs", "internal", "team" | `ownership: organization` |
| Search across all scopes | `ownership: all` |
**Element Types:**
- `requests`: Search for individual API requests.
- `collections`: Search for API collections.
- `workspaces`: Search for Postman workspaces.
- `specs`: Search for API specifications.
- `flows`: Search for Postman Flows.
- `environments`: Search for Postman Environments.
- `mocks`: Search for Postman Mock Servers.
**Filters:**
Use the `filters` parameter to narrow results. The top-level key must be `$and` with an array of condition objects. Each condition object must contain exactly one field key.
Supported filter fields:
| Field | Operators | Notes |
|-------|-----------|-------|
| `workspaceId` | `$eq`, `$ne`, `$in`, `$nin` | All element types. `$in`/`$nin` accept arrays. |
| `collectionId` | `$eq`, `$ne`, `$in`, `$nin` | Requests and collections only. |
| `visibility` | `$eq`, `$ne` | Values: `public`, `partner`, `internal`. All element types. |
| `privateNetwork` | `$eq`, `$ne` | Boolean. All element types. |
| `publisherIsVerified` | `$eq`, `$ne` | Boolean. All element types. |
| `method` | `$eq`, `$ne`, `$in`, `$nin` | HTTP methods (GET, POST, etc.). Requests only. |
| `tags` | `$eq`, `$ne`, `$in`, `$nin` | Workspaces and collections only. |
| `requestId` | `$eq`, `$ne`, `$in`, `$nin` | Requests only. |
| `specificationId` | `$eq`, `$ne`, `$in`, `$nin` | Specs only. |
| `flowId` | `$eq`, `$ne`, `$in`, `$nin` | Flows only. |
| `createdBy` | `$eq`, `$ne`, `$in`, `$nin` | All element types. |
| `organizationId` | `$eq`, `$ne`, `$in`, `$nin` | All element types. |
| `teamId` | `$eq`, `$ne`, `$in`, `$nin` | All element types. |
| `isGitConnected` | `$eq`, `$ne` | Boolean. Workspaces, collections, requests, specs, flows, environments, mocks. |
| `type` | `$eq`, `$ne`, `$in`, `$nin` | Requests only. |
**Filter examples:**
- Private API Network only: `{"$and":[{"privateNetwork":{"$eq":true}}]}`
- Single workspace: `{"$and":[{"workspaceId":{"$eq":"ws-abc123"}}]}`
- Multiple workspaces: `{"$and":[{"workspaceId":{"$in":["ws-1","ws-2"]}}]}`
- Public visibility: `{"$and":[{"visibility":{"$eq":"public"}}]}`
- GET requests only: `{"$and":[{"method":{"$eq":"GET"}}]}`
- Combine conditions: `{"$and":[{"visibility":{"$eq":"public"}},{"workspaceId":{"$eq":"ws-abc123"}}]}`
- Environments in a workspace: `{"$and":[{"workspaceId":{"$eq":"ws-abc123"}}]}`
Sync Collection With Spec
Syncs a collection generated from an API specification. This is an asynchronous endpoint that returns an HTTP \`202 Accepted\` response.
**Note:**
- This endpoint only supports the OpenAPI 2.0, 3.0, and 3.1 specification types.
- You can only sync collections generated from the given spec ID.
Sync Spec With Collection
Syncs an API specification linked to a collection. This is an asynchronous endpoint that returns an HTTP \`202 Accepted\` response.
**Note:**
- This endpoint only supports the OpenAPI 2.0, 3.0, and 3.1 specification types.
- You can only sync collections generated from the given specification ID.
Update Collection Request
Updates a request in a collection. For a complete list of properties, refer to the **Request** entry in 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(\`12345678-12ece9e1-2abf-4edc-8e34-de66e74114d2\`), in this endpoint.
- This endpoint does not support changing the folder of a request.
- This endpoint acts like a PATCH method. It only updates the values that you pass in the request body.
Update Mock
Updates a mock server.
- Resource: Mock server entity associated with a collection UID.
- Use this to change name, environment, privacy, or default server response.
- To activate a server response, set \`config.serverResponseId\` to the server response's \`id\`. Pass \`null\` to deactivate.
Update Spec File
Updates a file for an OpenAPI or protobuf 2 or 3 specification.
**Note:**
- This endpoint does not accept an empty request body. You must pass one of the accepted values.
- This endpoint does not accept multiple request body properties in a single call. For example, you cannot pass both the \`content\` and \`type\` property at the same time.
- Multi-file specifications can only have one root file.
- When updating a file type to \`ROOT\`, the previous root file is updated to the \`DEFAULT\` file type.
- Files cannot exceed a maximum of 10 MB in size.
Update Spec Properties
Updates an API specification's properties, such as its name.
Update Workspace
Updates a workspace's property, such as its name or visibility.
**Note:**
- This endpoint does not support the following visibility changes:
- \`private\` to \`public\`, \`public\` to \`private\`, and \`private\` to \`personal\` for **Free** and **Solo** [plans](https://www.postman.com/pricing/).
- \`public\` to \`personal\` for team users only.
- There are rate limits when publishing public workspaces.
- Public team workspace names must be unique.