Postman teams API
The teams API from Postman — 6 operation(s) for teams.
The teams API from Postman — 6 operation(s) for teams.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/postman-teams-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: Postman Teams API
version: 1.0.0
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: teams
paths:
/teams:
get:
operationId: getTeams
summary: Get all teams
description: Gets all Postman teams in your organization.
tags:
- teams
parameters:
- 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.
required: false
schema:
$ref: '#/components/schemas/limitDefault50'
default: 50
- name: settings
in: query
description: If true, returns team settings in the response.
required: false
schema:
$ref: '#/components/schemas/teamSettingsQuery'
default: false
- name: userRoles
in: query
description: If true, returns the team's assigned user roles in the response.
required: false
schema:
$ref: '#/components/schemas/userRolesQuery'
default: false
- name: x-api-key
in: header
required: true
schema:
type: string
- name: identifierType
in: header
description: Use SCIM user and group 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/Teams_getTeams_Response_200'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/GetTeamsRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
post:
operationId: createTeam
summary: Create a team
description: '[Creates](https://learning.postman.com/docs/administration/managing-your-team/create-teams/) a Postman team in your organization.
'
tags:
- teams
parameters:
- name: x-api-key
in: header
required: true
schema:
type: string
- name: identifierType
in: header
description: Use SCIM user and group 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/createGetTeamResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTeamRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createTeam'
/teams/{teamId}:
get:
operationId: getTeam
summary: Get a team
description: Gets information about a Postman team.
tags:
- teams
parameters:
- name: teamId
in: path
description: The team's ID.
required: true
schema:
$ref: '#/components/schemas/teamId'
- name: include
in: query
description: 'Include additional information in the request''s response:
- `members` — Include all users and groups, including groups that represent other teams or the entire organization, with access to the team''s entities. This includes team managers, members, and persons invited to collaborate as guests.
- `userRoles` — Include all the team''s user roles in the response.
'
required: false
schema:
$ref: '#/components/schemas/teamsInclude'
- name: x-api-key
in: header
required: true
schema:
type: string
- name: identifierType
in: header
description: Use SCIM user and group 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/createGetTeamResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/GetTeamRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
/teams/{teamId}/access-requests:
get:
operationId: getTeamAccessRequests
summary: Get a team's access requests
description: Gets a team's pending access requests.
tags:
- teams
parameters:
- name: teamId
in: path
description: The team's ID.
required: true
schema:
$ref: '#/components/schemas/teamId'
- 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.
required: false
schema:
$ref: '#/components/schemas/limitDefault50'
default: 50
- name: x-api-key
in: header
required: true
schema:
type: string
- name: identifierType
in: header
description: Use SCIM user and group 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/getTeamAccessRequests'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/GetTeamAccessRequestsRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
post:
operationId: createAccessRequest
summary: Create an access request
description: 'Creates an access request for a team. Access requests include actions such as request to join a team, upgrading a user''s role, adding members, and requesting team role access to another team.
**Note:**
If a team discovery is enabled, the team''s access request is automatically approved.
'
tags:
- teams
parameters:
- name: teamId
in: path
description: The team's ID.
required: true
schema:
$ref: '#/components/schemas/teamId'
- name: x-api-key
in: header
required: true
schema:
type: string
- name: identifierType
in: header
description: Use SCIM user and group 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/createAccessRequestResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAccessRequestRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createAccessRequest'
/teams/{teamId}/access-requests/{requestId}:
post:
operationId: approveDenyAccessRequest
summary: Approve or deny an access request
description: Approve or deny a team's access request.
tags:
- teams
parameters:
- name: teamId
in: path
description: The team's ID.
required: true
schema:
$ref: '#/components/schemas/teamId'
- name: requestId
in: path
description: The access request's ID.
required: true
schema:
$ref: '#/components/schemas/accessRequestId'
- name: x-api-key
in: header
required: true
schema:
type: string
- name: identifierType
in: header
description: Use SCIM user and group 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/approveDenyAccessRequestResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApproveDenyAccessRequestRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/approveDenyAccessRequest'
/teams/{teamId}/bulk-members:
post:
operationId: manageTeamMemberRoles
summary: Manage team member roles
description: 'Adds or removes member roles in groups, teams, organizations, as well as individual users'' roles.
**Note:**
If you remove a role from a group or team, then all members lose the that role''s permissions.
'
tags:
- teams
parameters:
- name: teamId
in: path
description: The team's ID.
required: true
schema:
$ref: '#/components/schemas/teamId'
- name: x-api-key
in: header
required: true
schema:
type: string
- name: identifierType
in: header
description: Use SCIM user and group 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/manageTeamMemberRolesResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTeamMemberRolesRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/manageTeamMemberRoles'
delete:
operationId: removeTeamMembers
summary: Remove team members
description: Removes entities, such as users or organizations, from your Postman team. On success, this returns an HTTP `204 No Content` response.
tags:
- teams
parameters:
- name: teamId
in: path
description: The team's ID.
required: true
schema:
$ref: '#/components/schemas/teamId'
- name: x-api-key
in: header
required: true
schema:
type: string
- name: identifierType
in: header
description: Use SCIM user and group IDs instead of Postman user IDs.
required: false
schema:
$ref: '#/components/schemas/identifierType'
responses:
'204':
description: Remove Team Member
content:
application/json:
schema:
type: object
properties: {}
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveTeamMembersRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/removeTeamMembers'
/teams/{teamId}/settings:
get:
operationId: getTeamSettings
summary: Get a team's settings
description: Gets a team's settings.
tags:
- teams
parameters:
- name: teamId
in: path
description: The team's ID.
required: true
schema:
$ref: '#/components/schemas/teamId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/createGetTeamSettingsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/GetTeamSettingsRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
put:
operationId: updateTeamSettings
summary: Update team settings
description: Updates a team's settings.
tags:
- teams
parameters:
- name: teamId
in: path
description: The team's ID.
required: true
schema:
$ref: '#/components/schemas/teamId'
- name: x-api-key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/createGetTeamSettingsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTeamSettingsRequestBadRequestError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/teamsError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/updateTeamSettings'
components:
schemas:
teamsInclude:
type: string
enum:
- members
- userRoles
title: teamsInclude
TeamsAccessRequestDataEntityId:
oneOf:
- type: integer
- type: string
description: The entity's ID.
title: TeamsAccessRequestDataEntityId
TeamsErrorDetailInvalidEntriesResultItems:
type: object
properties:
entityType:
type: string
description: The entity type.
entityId:
$ref: '#/components/schemas/TeamsErrorDetailInvalidEntriesResultItemsEntityId'
description: The entity ID.
role:
type:
- string
- 'null'
description: The assigned role.
status:
type: string
description: The `Invalid` response status.
reason:
type: string
description: The reason for the error.
title: TeamsErrorDetailInvalidEntriesResultItems
CreateAccessRequestRequestBadRequestError:
oneOf:
- $ref: '#/components/schemas/teamsError'
- $ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
title: CreateAccessRequestRequestBadRequestError
getTeamAccessRequests:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/GetTeamAccessRequestsDataItems'
description: A list of access requests.
metadata:
$ref: '#/components/schemas/metaDataNextCursor'
title: getTeamAccessRequests
GetTeamAccessRequestsDataItemsEntityId:
oneOf:
- type: integer
- type: string
description: The entity's ID.
title: GetTeamAccessRequestsDataItemsEntityId
manageTeamMemberRolesResponse:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/ManageTeamMemberRolesResponseResultItems'
title: manageTeamMemberRolesResponse
GetTeamAccessRequestsDataItemsRole:
type: string
enum:
- TEAM_MANAGER
- TEAM_DEVELOPER
- TEAM_GUEST_DEVELOPER
- TEAM_GUEST_VIEWER
- TEAM_PARTNER_MANAGER
- TEAM_PARTNER_LEAD
- TEAM_GUEST
- TEAM_PARTNER
- TEAM_COMMUNITY_MANAGER
description: The requested team role.
title: GetTeamAccessRequestsDataItemsRole
GetTeamsRequestBadRequestError:
oneOf:
- $ref: '#/components/schemas/teamsError'
- $ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
title: GetTeamsRequestBadRequestError
ApproveDenyAccessRequestResponseResult:
type: object
properties:
entityType:
type: string
description: The entity type.
entityId:
$ref: '#/components/schemas/ApproveDenyAccessRequestResponseResultEntityId'
description: The entity's ID.
role:
type: string
description: The requested team role.
previousRole:
type:
- string
- 'null'
description: The entity's previous role. This value only returns if the entity's role is modified.
status:
type: string
description: The access request's status.
accessRequest:
$ref: '#/components/schemas/ApproveDenyAccessRequestResponseResultAccessRequest'
description: Information about the access request.
description: Information about the approved or denied access request.
title: ApproveDenyAccessRequestResponseResult
identifierType:
type: string
title: identifierType
TeamsErrorDetail:
oneOf:
- $ref: '#/components/schemas/teamsErrorDetail'
- $ref: '#/components/schemas/teamsErrorDetailInvalidEntries'
title: TeamsErrorDetail
TeamEntityInfoEntityType:
type: string
enum:
- user
- group
- team
- organization
description: The entity type.
title: TeamEntityInfoEntityType
approveDenyAccessRequestResponse:
type: object
properties:
result:
$ref: '#/components/schemas/ApproveDenyAccessRequestResponseResult'
description: Information about the approved or denied access request.
title: approveDenyAccessRequestResponse
CreateGetTeamResponseTeamCreatedBy:
oneOf:
- type: integer
- type: string
description: The user ID of the user who created the team.
title: CreateGetTeamResponseTeamCreatedBy
GetTeamAccessRequestsDataItems:
type: object
properties:
createdAt:
type: string
format: date-time
description: The date and time the access request was created.
updatedAt:
type: string
format: date-time
description: The date and time the access request was last updated.
id:
type: integer
description: The access request's ID.
role:
$ref: '#/components/schemas/GetTeamAccessRequestsDataItemsRole'
description: The requested team role.
requestType:
type: string
description: The access request type.
reason:
type: string
description: The reason the access request was created.
status:
type: string
description: The access request's status.
entityType:
type: string
description: The entity type.
entityId:
$ref: '#/components/schemas/GetTeamAccessRequestsDataItemsEntityId'
description: The entity's ID.
objectType:
type: string
description: The entity type.
objectId:
type: integer
description: The entity's ID.
createdBy:
$ref: '#/components/schemas/GetTeamAccessRequestsDataItemsCreatedBy'
description: The user ID of the user who created the access request.
description: Information about the access request.
title: GetTeamAccessRequestsDataItems
teamRoles:
type: string
enum:
- TEAM_MANAGER
- TEAM_DEVELOPER
- TEAM_GUEST_DEVELOPER
- TEAM_GUEST_VIEWER
- TEAM_PARTNER_MANAGER
- TEAM_PARTNER_LEAD
- TEAM_GUEST
- TEAM_PARTNER
- TEAM_COMMUNITY_MANAGER
title: teamRoles
createGetTeamSettingsResponse:
type: object
properties:
settings:
$ref: '#/components/schemas/CreateGetTeamSettingsResponseSettings'
title: createGetTeamSettingsResponse
userGroupsInfo:
type: object
properties:
'{{userGroupId}}':
type: array
items:
$ref: '#/components/schemas/teamRoles'
description: A list of the user group's roles. The array's name is the group's ID.
title: userGroupsInfo
CreateGetTeamSettingsResponseSettings:
type: object
properties:
rfa_for_add_member:
type: string
description: If enabled, admins must approve any new team members before they can join.
rfa_for_add_collaborator:
type: string
description: If enabled, collaborators require approval before they can access the team's workspaces.
title: CreateGetTeamSettingsResponseSettings
ApproveDenyAccessRequestResponseResultAccessRequest:
type: object
properties:
id:
type: integer
description: The access request's ID.
requestType:
type: string
description: The access request type.
reason:
type: string
description: The reason the access request was created.
status:
type: string
description: The access request's status.
objectType:
type: string
description: The entity type.
objectId:
type: integer
description: The entity's ID.
createdBy:
type: integer
description: The user ID of the user who created the access request.
description: Information about the access request.
title: ApproveDenyAccessRequestResponseResultAccessRequest
CreateTeamRequestBadRequestError:
oneOf:
- $ref: '#/components/schemas/teamsError'
- $ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
title: CreateTeamRequestBadRequestError
ManageTeamMemberRolesResponseResultItems:
type: object
properties:
entityType:
type: string
description: The entity type.
entityId:
$ref: '#/components/schemas/ManageTeamMemberRolesResponseResultItemsEntityId'
description: The entity's ID.
role:
type:
- string
- 'null'
description: The user's role.
previousRole:
type:
- string
- 'null'
description: The user's previous role. This value only returns if the user's role is modified.
status:
type: string
description: The request's status.
title: ManageTeamMemberRolesResponseResultItems
Teams_getTeams_Response_200:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/teamData'
description: A list of teams.
metadata:
$ref: '#/components/schemas/metaDataNextCursor'
title: Teams_getTeams_Response_200
teamsErrorDetail:
type: object
properties:
error:
$ref: '#/components/schemas/TeamsErrorDetailError'
description: Information about the error.
description: An explanation about the problem.
title: teamsErrorDetail
manageTeamMemberRoles:
type: object
properties:
add:
$ref: '#/components/schemas/manageTeamMemberRolesAdd'
remove:
$ref: '#/components/schemas/manageTeamMemberRolesRemove'
description: Information about the bulk add and bulk remove operations.
title: manageTeamMemberRoles
approveDenyAccessRequest:
type: object
properties:
action:
$ref: '#/components/schemas/ApproveDenyAccessRequestAction'
description: Whether to approve or deny the access request.
required:
- action
title: approveDenyAccessRequest
CreateAccessRequestRole:
type: string
enum:
- TEAM_MANAGER
- TEAM_DEVELOPER
- TEAM_GUEST_DEVELOPER
- TEAM_GUEST_VIEWER
- TEAM_PARTNER_MANAGER
- TEAM_PARTNER_LEAD
- TEAM_GUEST
- TEAM_PARTNER
- TEAM_COMMUNITY_MANAGER
description: The team role to request.
title: CreateAccessRequestRole
commonErrorTypeTitleDetailStatusInstance:
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.
title:
type: string
description: A short summary of the problem.
detail:
type: string
description: An explanation about the problem.
status:
type: integer
description: The HTTP status code generated by the origin server.
instance:
type: string
description: The URI reference that identifies the specific occurrence of the problem.
title: commonErrorTypeTitleDetailStatusInstance
GetTeamAccessRequestsRequestBadRequestError:
oneOf:
- $ref: '#/components/schemas/teamsError'
- $ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
title: GetTeamAccessRequestsRequestBadRequestError
userRolesQuery:
type: boolean
default: false
title: userRolesQuery
usersInfo:
type: object
properties:
'{{userId}}':
type: array
items:
$ref: '#/components/schemas/teamRoles'
description: A list of the user's roles. The array's name is the user's ID.
title: usersInfo
createTeam:
type: object
properties:
name:
type: string
description: The team's name. Accepts only alphanumeric characters and spaces.
description:
type:
- string
- 'null'
description: The team's description.
title: createTeam
ApproveDenyAccessRequestRequestBadRequestError:
oneOf:
- $ref: '#/components/schemas/teamsError'
- $ref: '#/components/schemas/commonErrorTypeTitleDetailStatusInstance'
title: ApproveDenyAccessRequestRequestBadRequestError
UpdateTeamSettingsSettingsRfaForAddCollaborator:
type: string
enum:
- enabled
- disabled
description: If enabled, collaborators require approval before they can access the team's workspaces.
title: UpdateTeamSettingsSettingsRfaForAddCollaborator
teamsInfo:
type: object
properties:
'{{teamId}}':
type: array
items:
$ref: '#/components/schemas/teamRoles'
description: A list of the team's roles. The array's name is the team's ID.
title: teamsInfo
ApproveDenyAccessRequestAction:
type: string
enum:
- approve
- deny
description: Whether to approve or deny the access request.
title: ApproveDenyAccessRequestAction
cursor:
type: string
title: cursor
orgsInfo:
type: object
properties:
'{{orgId}}':
type: array
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/postman/refs/heads/main/openapi/postman-teams-api-openapi.yml