Postman Workspaces API

Use the Workspaces APIs to manage your Postman workspaces, with endpoints that enable you to create, update, and delete workspaces programmatically.

OpenAPI Specification

postman-workspaces-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Postman Workspaces API
  description: |
    The Postman Workspaces API enables you to manage your Postman workspaces
    programmatically. Workspaces let you organize your API work and collaborate
    with your team. You can create personal, team, partner, and public workspaces.

    ## Authentication
    All requests require an API key passed in the `x-api-key` header.

    ## Rate Limits
    The Postman API has rate limits that vary by plan. See Postman documentation
    for current limits.
  version: '1.0.0'
  contact:
    name: Postman Developer Support
    url: https://learning.postman.com/docs/developer/postman-api/intro-api/
    email: [email protected]
  license:
    name: Postman Terms of Service
    url: https://www.postman.com/legal/terms/
servers:
  - url: https://api.getpostman.com
    description: Postman Production API Server
tags:
  - name: Workspaces
    description: Operations for managing Postman workspaces including creating, updating, and deleting workspaces.
security:
  - apiKeyAuth: []
paths:
  /workspaces:
    get:
      tags:
        - Workspaces
      summary: Postman Get all workspaces
      operationId: getAllWorkspaces
      description: >-
        Gets all workspaces accessible to the authenticated user. This includes
        personal, team, partner, and public workspaces. The response contains
        metadata about each workspace.
      parameters:
        - name: type
          in: query
          description: Filter workspaces by type.
          required: false
          schema:
            type: string
            enum:
              - personal
              - team
              - private
              - public
              - partner
        - name: include
          in: query
          description: Additional information to include in the response.
          required: false
          schema:
            type: string
            enum:
              - mocks
              - monitors
              - environments
              - collections
      responses:
        '200':
          description: Successful response with list of workspaces
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspaces:
                    type: array
                    items:
                      $ref: '#/components/schemas/WorkspaceListItem'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
    post:
      tags:
        - Workspaces
      summary: Postman Create a workspace
      operationId: createWorkspace
      description: >-
        Creates a new workspace. You can specify the workspace name, type,
        description, and visibility settings.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - workspace
              properties:
                workspace:
                  $ref: '#/components/schemas/WorkspaceInput'
      responses:
        '200':
          description: Successfully created workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace:
                    type: object
                    properties:
                      id:
                        type: string
                        description: The workspace's unique ID
                      name:
                        type: string
                        description: The workspace name
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /workspaces/{workspaceId}:
    get:
      tags:
        - Workspaces
      summary: Postman Get a workspace
      operationId: getWorkspace
      description: >-
        Gets information about a single workspace, including its name, type,
        description, and associated collections, environments, mocks, and
        monitors.
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdParam'
      responses:
        '200':
          description: Successful response with workspace details
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace:
                    $ref: '#/components/schemas/Workspace'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
    put:
      tags:
        - Workspaces
      summary: Postman Update a workspace
      operationId: updateWorkspace
      description: >-
        Updates an existing workspace's name, description, or type. Only
        the fields provided in the request body will be updated.
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - workspace
              properties:
                workspace:
                  $ref: '#/components/schemas/WorkspaceInput'
      responses:
        '200':
          description: Successfully updated workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      tags:
        - Workspaces
      summary: Postman Delete a workspace
      operationId: deleteWorkspace
      description: >-
        Deletes an existing workspace and all of its associated data. This
        action is irreversible.
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdParam'
      responses:
        '200':
          description: Successfully deleted workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace:
                    type: object
                    properties:
                      id:
                        type: string
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /workspaces/{workspaceId}/global-variables:
    get:
      tags:
        - Workspaces
      summary: Postman Get workspace global variables
      operationId: getWorkspaceGlobalVariables
      description: >-
        Gets all global variables for the specified workspace. Global variables
        are available across all collections in the workspace.
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdParam'
      responses:
        '200':
          description: Successful response with global variables
          content:
            application/json:
              schema:
                type: object
                properties:
                  values:
                    type: array
                    items:
                      $ref: '#/components/schemas/Variable'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '429':
          $ref: '#/components/responses/RateLimitError'
    put:
      tags:
        - Workspaces
      summary: Postman Update workspace global variables
      operationId: updateWorkspaceGlobalVariables
      description: >-
        Updates the global variables for the specified workspace. This replaces
        the entire set of global variables.
      parameters:
        - $ref: '#/components/parameters/WorkspaceIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                values:
                  type: array
                  items:
                    $ref: '#/components/schemas/Variable'
      responses:
        '200':
          description: Successfully updated global variables
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '429':
          $ref: '#/components/responses/RateLimitError'
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      name: x-api-key
      in: header
      description: Postman API key for authentication.
  parameters:
    WorkspaceIdParam:
      name: workspaceId
      in: path
      required: true
      description: The workspace's unique ID.
      schema:
        type: string
  schemas:
    WorkspaceListItem:
      type: object
      description: Abbreviated workspace information returned in list responses.
      properties:
        id:
          type: string
          description: The workspace's unique ID
        name:
          type: string
          description: The workspace name
        type:
          type: string
          enum: [personal, team, private, public, partner]
          description: The workspace type
        visibility:
          type: string
          enum: [personal, team, private, public, partner]
          description: The workspace visibility setting
        createdBy:
          type: string
          description: The user ID of the workspace creator
    Workspace:
      type: object
      description: Full workspace details including associated resources.
      properties:
        id:
          type: string
          description: The workspace's unique ID
        name:
          type: string
          description: The workspace name
        type:
          type: string
          enum: [personal, team, private, public, partner]
        description:
          type: string
          description: The workspace description
        visibility:
          type: string
          enum: [personal, team, private, public, partner]
        createdBy:
          type: string
          description: The user ID of the workspace creator
        updatedBy:
          type: string
          description: The user ID who last updated the workspace
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        collections:
          type: array
          description: Collections in this workspace
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              uid:
                type: string
        environments:
          type: array
          description: Environments in this workspace
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              uid:
                type: string
        mocks:
          type: array
          description: Mock servers in this workspace
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              uid:
                type: string
        monitors:
          type: array
          description: Monitors in this workspace
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              uid:
                type: string
        apis:
          type: array
          description: APIs in this workspace
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
    WorkspaceInput:
      type: object
      description: Input format for creating or updating a workspace.
      required:
        - name
        - type
      properties:
        name:
          type: string
          description: The workspace name
        type:
          type: string
          enum: [personal, team, private, public, partner]
          description: The workspace type
        description:
          type: string
          description: The workspace description
    Variable:
      type: object
      properties:
        key:
          type: string
        value:
          type: string
        type:
          type: string
          enum: [default, secret]
        enabled:
          type: boolean
  responses:
    BadRequestError:
      description: Bad request - invalid input
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  name:
                    type: string
                  message:
                    type: string
    UnauthorizedError:
      description: Authentication credentials are missing or invalid
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  name:
                    type: string
                    example: authenticationError
                  message:
                    type: string
    NotFoundError:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  name:
                    type: string
                    example: instanceNotFoundError
                  message:
                    type: string
    RateLimitError:
      description: Too many requests - rate limit exceeded
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
              message:
                type: string
    InternalServerError:
      description: An unexpected error occurred on the server
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  name:
                    type: string
                  message:
                    type: string