Postman Workspaces API
Manage personal, team, partner, public, and private workspaces. Control visibility, membership, roles, and the elements (collections, environments, mocks, monitors, APIs) attached to each workspace.
Manage personal, team, partner, public, and private workspaces. Control visibility, membership, roles, and the elements (collections, environments, mocks, monitors, APIs) attached to each workspace.
openapi: 3.1.0
info:
title: Postman Workspaces API
version: 1.0.0
description: 'Operations tagged workspaces across 2 of this provider''s published API definitions: postman-api-openapi.yml, postman-workspaces-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
tags:
- name: workspaces
paths:
/invitations:
post:
operationId: managePartnerWorkspaceInvites
summary: Manage Partner Workspace invites
description: "Manages invitations and access to your team's [Partner Workspaces](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/partner-workspaces/manage/). You can use this endpoint to:\n\n- Send Partner Workspace invitations to the given email addresses. Users who already exist in the partnership are added directly, while new users receive an invitation email.\n- Remove partners from a workspace.\n- Remove partners from a partnership and all of its workspaces.\n\n**Note:**\n\n- Partner Workspaces are available on the Postman **Team** and **Enterprise** [plans](https://www.postman.com/pricing/).\n- This endpoint requires the following [roles](https://learning.postman.com/docs/administration/roles-and-permissions/), based on your plan:\n - **Team** — Requires the **Workspace Editor** role to invite or remove partners from workspaces. The **Admin** role is required for removing partners from all workspaces.\n - **Enterprise** — The **Partner Manager** role can perform all operations. The **Workspace Editor** role and **Admin** roles have the same permissions on this plan as they do on the Team plan. It's recommended to use the **Partner Manager** role if you're on an **Enterprise** plan.\n"
tags:
- workspaces
parameters:
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Workspaces_managePartnerWorkspaceInvites_Response_200'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ManagePartnerWorkspaceInvitesRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Workspaces_managePartnerWorkspaceInvites_Request'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/workspaces:
get:
operationId: getWorkspaces
summary: Get all workspaces
description: 'Gets all [workspaces](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/creating-workspaces/). The response includes your workspaces and any workspaces that you have access to.
**Note:**
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 ([**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)).
'
tags:
- workspaces
parameters:
- name: type
in: query
description: The type of workspace to filter the response by.
required: false
schema:
$ref: '#/components/schemas/workspaceTypeQuery'
- name: createdBy
in: query
description: Return only workspaces created by a specific user ID. For multiple users, pass this value as a comma-separated list of user IDs. The response only returns workspaces that you have access to.
required: false
schema:
$ref: '#/components/schemas/workspaceCreatedBy'
- name: include
in: query
description: 'Include the following information in the endpoint''s response:
- `mocks:deactivated` — Include all deactivated mock servers in the response.
- `scim` — Return the SCIM user IDs of the workspace creator and who last modified it.
'
required: false
schema:
$ref: '#/components/schemas/workspaceIncludeQuery'
- name: elementType
in: query
description: Filter results to return the workspace where the given element type is located. If you pass this query parameter, you must also pass the `elementId` query parameter.
required: false
schema:
$ref: '#/components/schemas/workspaceElementTypeQuery'
- name: elementId
in: query
description: Filter results to return the workspace where the given element's ID is located. When filtering by collection, you must use the collection's unique ID (`userId`-`collection`). If you pass this query parameter, you must also pass the `elementType` query parameter.
required: false
schema:
$ref: '#/components/schemas/workspaceElementIdQuery'
- name: cursor
in: query
description: The pointer to the first record of the set of paginated results. To view the next response, use the `nextCursor` value for this parameter.
required: false
schema:
$ref: '#/components/schemas/cursor'
- name: limit
in: query
description: The maximum number of rows to return in the response, up to a maximum value of 100. Any value greater than 100 returns a 400 Bad Request response.
required: false
schema:
$ref: '#/components/schemas/limitMax100'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getWorkspaces'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspacesRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspacesRequestUnauthorizedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspacesRequestInternalServerError'
post:
operationId: createWorkspace
summary: Create a workspace
description: '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.
'
tags:
- workspaces
parameters:
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/createWorkspaceResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorNameMessage'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkspaceRequestUnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/workspace403Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkspaceRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createWorkspace'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/workspaces-roles:
get:
operationId: getAllWorkspaceRoles
summary: Get all roles
description: Gets information about all roles in a workspace, based on the team's [plan](https://www.postman.com/pricing/).
tags:
- workspaces
parameters:
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getAllWorkspaceRoles'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/GetAllWorkspaceRolesRequestUnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetAllWorkspaceRolesRequestForbiddenError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetAllWorkspaceRolesRequestInternalServerError'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/workspaces/{workspaceId}:
get:
operationId: getWorkspace
summary: Get a workspace
description: '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)).
'
tags:
- workspaces
parameters:
- name: workspaceId
in: path
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: include
in: query
description: 'Include the following information in the endpoint''s response:
- `mocks:deactivated` — Include all deactivated mock servers in the response.
- `scim` — Return the SCIM user IDs of the workspace creator and who last modified it.
'
required: false
schema:
$ref: '#/components/schemas/workspaceIncludeQuery'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getWorkspace'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspaceRequestUnauthorizedError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/workspace404Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspaceRequestInternalServerError'
put:
operationId: updateWorkspace
summary: Update a workspace
description: "Updates a workspace's property, such as its name or visibility.\n\n**Note:**\n\n- This endpoint does not support the following visibility changes:\n - `private` to `public`, `public` to `private`, and `private` to `personal` for **Free** and **Solo** [plans](https://www.postman.com/pricing/).\n - `public` to `personal` for team users only.\n- There are rate limits when publishing public workspaces.\n- Public team workspace names must be unique.\n"
tags:
- workspaces
parameters:
- name: workspaceId
in: path
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/updateWorkspaceResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorNameMessage'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorNameMessage'
'404':
description: Instance Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorNameMessage'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkspaceRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/updateWorkspace'
delete:
operationId: deleteWorkspace
summary: Delete a workspace
description: Deletes an existing workspace.
tags:
- workspaces
parameters:
- name: workspaceId
in: path
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/deleteWorkspace'
'400':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorNameMessage'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWorkspaceRequestUnauthorizedError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWorkspaceRequestInternalServerError'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/workspaces/{workspaceId}/activities:
get:
operationId: getWorkspaceActivityFeed
summary: Get a workspace's activity feed
description: Gets a workspace's [activity feed](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/changelog-and-restoring-collections/#view-workspace-activity). Activity feeds return information about who added or removed collections, environments, or elements from a workspace, and users that join or leave a workspace.
tags:
- workspaces
parameters:
- name: workspaceId
in: path
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: userId
in: query
description: Filter results by the given user ID.
required: false
schema:
$ref: '#/components/schemas/userId-2'
- name: elementType
in: query
description: A comma-separated list of elements to filter the results by.
required: false
schema:
$ref: '#/components/schemas/elementType-3'
- name: limit
in: query
description: The maximum number of rows to return in the response.
required: false
schema:
$ref: '#/components/schemas/limitDefault15'
default: 15
- name: cursor
in: query
description: The pointer to the first record of the set of paginated results. To view the next response, use the `nextCursor` value for this parameter.
required: false
schema:
$ref: '#/components/schemas/cursor'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getWorkspaceActivityFeed'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspaceActivityFeedRequestUnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspaceActivityFeedRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspaceActivityFeedRequestInternalServerError'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/workspaces/{workspaceId}/element-transfers:
post:
operationId: transferWorkspaceElement
summary: Transfer element to a workspace
description: 'Transfers a [Postman element](https://learning.postman.com/docs/getting-started/basics/postman-elements/) from one workspace to another workspace. Supported elements include collections, environments, mocks, monitors, and Flows modules and actions.
When copying an element between workspaces, the [activity feed](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/workspace-activity/) for both workspaces update to reflect the change.
**Note:**
This endpoint does not support transferring elements from team workspaces to personal workspaces.
'
tags:
- workspaces
parameters:
- name: workspaceId
in: path
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/transferWorkspaceElementResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/TransferWorkspaceElementRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/transferWorkspaceElement'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/workspaces/{workspaceId}/global-variables:
get:
operationId: getWorkspaceGlobalVariables
summary: Get global variables
description: Gets a workspace's global [variables](https://learning.postman.com/docs/sending-requests/variables/#variable-scopes). Global variables enable you to access data between collections, requests, scripts, and environments and are available throughout a workspace.
tags:
- workspaces
parameters:
- name: workspaceId
in: path
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getWorkspaceGlobalVariables'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetail'
put:
operationId: updateWorkspaceGlobalVariables
summary: Update global variables
description: Updates and replaces a workspace's global [variables](https://learning.postman.com/docs/sending-requests/variables/#variable-scopes). This endpoint replaces all existing global variables with the variables you pass in the request body.
tags:
- workspaces
parameters:
- name: workspaceId
in: path
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/updateWorkspaceGlobalVariablesResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetail'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/updateWorkspaceGlobalVariables'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/workspaces/{workspaceId}/roles:
get:
operationId: getWorkspaceRoles
summary: Get a workspace's roles
description: 'Gets the roles of users, user groups, and partners in a workspace.
**Note:**
Partner roles don''t support SCIM IDs.
'
tags:
- workspaces
parameters:
- name: workspaceId
in: path
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: include
in: query
description: 'Include the following information in the endpoint''s response:
- `scim` — Return IDs as SCIM user and group IDs.
'
required: false
schema:
$ref: '#/components/schemas/workspaceIncludeScimQuery'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/getWorkspaceRoles'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspaceRolesRequestUnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspaceRolesRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GetWorkspaceRolesRequestInternalServerError'
patch:
operationId: updateWorkspaceRoles
summary: Update workspace roles
description: 'Updates the roles of users, [user groups](https://learning.postman.com/docs/collaborating-in-postman/user-groups/), or partners in a workspace. To get a list of roles, use the GET `/workspace-roles` endpoint. To get a group ID, use the GET `/groups` endpoint.
**Note:**
- User groups are available on Postman [**Enterprise** plans](https://www.postman.com/pricing).
- To use SCIM IDs for users and user groups, include the `identifierType=scim` header when you call this endpoint. To get SCIM user IDs, include the `include=scim` query parameter when calling the GET `/workspaces/{workspaceId}` or GET `/workspaces` endpoints.
- You can''t set roles for users in personal workspaces.
- This endpoint doesn''t support the external [Guest role](https://learning.postman.com/docs/collaborating-in-postman/roles-and-permissions/#team-roles).
- The partner **Editor** and **Editor and Partner Lead** roles aren''t supported in multi-partner workspaces.
- You can''t update partner and user roles in the same operation.
- This endpoint is restricted to 50 operations per call.
- The request body must contain one unique action per user, user group, or partner. For example, you cannot add and remove multiple roles for a user in the same request body.
'
tags:
- workspaces
parameters:
- name: workspaceId
in: path
description: The workspace's ID.
required: true
schema:
$ref: '#/components/schemas/workspaceId'
- name: x-api-key
in: header
required: true
schema:
type: string
- name: identifierType
in: header
description: Use SCIM user IDs instead of Postman user IDs.
required: false
schema:
$ref: '#/components/schemas/identifierType'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/updateWorkspaceRolesResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkspaceRolesRequestUnauthorizedError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkspaceRolesRequestForbiddenError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatus'
'422':
description: Unprocessable Content
content:
application/json:
schema:
$ref: '#/components/schemas/workspaceRoles422Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkspaceRolesRequestInternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/updateWorkspaceRoles'
servers:
- url: https://api.postman.com
description: https://api.postman.com
- url: https://api.eu.postman.com
description: https://api.eu.postman.com
/workspaces/{workspaceId}/transfers:
patch:
operationId: transferWorkspaceToTeam
summary: Transfer workspace to a team
description: 'Transfers a workspace from one team (`source`) to another team (`destination`).
**Note:**
- These endpoints are only available with [Postman **Enterprise** plans](https://www.postman.com/pricing/) with [Postman Organizations](https://learning.postman.com/docs/administration/onboarding-checklist) enabled.
- Team user roles are modified when workspaces are transferred. For example, if a user has the
# --- truncated at 32 KB (109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/postman/refs/heads/main/openapi/postman-workspaces-api-openapi.yml