Atlassian Admin User Provisioning API
The Atlassian Admin User Provisioning API enables SCIM-based automated user and group provisioning between identity providers and Atlassian Cloud.
The Atlassian Admin User Provisioning API enables SCIM-based automated user and group provisioning between identity providers and Atlassian Cloud.
openapi: 3.1.0
info:
title: Atlassian Admin API
description: >-
The Atlassian Admin API provides programmatic access to manage Atlassian
organizations, users, domains, policies, and events. It enables
administrators to automate organization management tasks, integrate with
identity providers, and ensure appropriate access to Atlassian products.
version: 1.0.0
contact:
name: Atlassian Developer
url: https://developer.atlassian.com/cloud/admin/
license:
name: Atlassian Developer Terms
url: https://developer.atlassian.com/platform/marketplace/atlassian-developer-terms/
x-logo:
url: https://wac-cdn.atlassian.com/assets/img/favicons/atlassian/favicon.png
externalDocs:
description: Atlassian Admin REST API Documentation
url: https://developer.atlassian.com/cloud/admin/organization/rest/intro/
servers:
- url: https://api.atlassian.com
description: Atlassian Cloud API
security:
- bearerAuth: []
- oauth2: []
tags:
- name: Domains
description: Manage verified domains for an organization.
- name: Events
description: Retrieve organization audit events.
- name: Groups
description: Manage groups within an organization.
- name: Organizations
description: Manage Atlassian organizations.
- name: Policies
description: Manage organization-level policies.
- name: Users
description: Manage users within an organization.
paths:
/v1/orgs:
get:
operationId: getOrganizations
summary: Atlassian Get Organizations
description: >-
Returns a list of organizations accessible to the caller based on the
API key used for authentication.
tags:
- Organizations
parameters:
- name: cursor
in: query
description: >-
Sets the starting point for paginated results. Use the value
returned in the previous response to retrieve the next page.
required: false
schema:
type: string
responses:
'200':
description: Successful response containing a paginated list of organizations.
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPage'
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized. Authentication credentials are missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}:
get:
operationId: getOrganizationById
summary: Atlassian Get Organization by Id
description: Returns information about a single organization by its unique identifier.
tags:
- Organizations
parameters:
- $ref: '#/components/parameters/orgId'
responses:
'200':
description: Successful response containing the organization details.
content:
application/json:
schema:
$ref: '#/components/schemas/Organization'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/users:
get:
operationId: getOrganizationUsers
summary: Atlassian Get Managed Accounts
description: >-
Returns a list of managed user accounts in the organization. Results
are paginated using cursor-based pagination.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- name: cursor
in: query
description: Cursor for paginated results.
required: false
schema:
type: string
responses:
'200':
description: Successful response containing a paginated list of users.
content:
application/json:
schema:
$ref: '#/components/schemas/UserPage'
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v2/orgs/{orgId}/directories/{directoryId}/users:
get:
operationId: getDirectoryUsers
summary: Atlassian Get Users in Directory
description: >-
Returns a paginated list of users in a specific directory within the
organization.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/directoryId'
- name: cursor
in: query
description: Cursor for paginated results.
required: false
schema:
type: string
responses:
'200':
description: Successful response containing directory users.
content:
application/json:
schema:
$ref: '#/components/schemas/UserPage'
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Organization or directory not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}:
get:
operationId: getDirectoryUser
summary: Atlassian Get User in Directory
description: >-
Returns details of a specific user in a directory within the organization.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/directoryId'
- $ref: '#/components/parameters/accountId'
responses:
'200':
description: Successful response containing user details.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: User not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: removeDirectoryUser
summary: Atlassian Remove User From Directory
description: >-
Removes a user from a specific directory within the organization.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/directoryId'
- $ref: '#/components/parameters/accountId'
responses:
'204':
description: User successfully removed from the directory.
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: User not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v2/orgs/{orgId}/directories/{directoryId}/users/count:
get:
operationId: getDirectoryUserCount
summary: Atlassian Get Directory User Count
description: Returns the count of users in a specific directory.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/directoryId'
responses:
'200':
description: Successful response containing the user count.
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
count:
type: integer
description: The number of users in the directory.
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Organization or directory not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v2/orgs/{orgId}/users/invite:
post:
operationId: inviteUsers
summary: Atlassian Invite Users to Organization
description: >-
Invites one or more users to the organization, optionally assigning
them to directories, groups, and application roles.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InviteUsersRequest'
responses:
'200':
description: Users successfully invited.
content:
application/json:
schema:
$ref: '#/components/schemas/InviteUsersResponse'
'400':
description: Bad request. Invalid invitation parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}/suspend:
post:
operationId: suspendUser
summary: Atlassian Suspend User Access
description: >-
Suspends a user's access within a specific directory of the organization.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/directoryId'
- $ref: '#/components/parameters/accountId'
responses:
'204':
description: User access successfully suspended.
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: User not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}/restore:
post:
operationId: restoreUser
summary: Atlassian Restore User Access
description: >-
Restores a previously suspended user's access within a specific
directory of the organization.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/directoryId'
- $ref: '#/components/parameters/accountId'
responses:
'204':
description: User access successfully restored.
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: User not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/users/{userId}/roles/assign:
post:
operationId: grantUserAccess
summary: Atlassian Grant User Product Access
description: Grants a user access to organization products by assigning roles.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/userId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RoleAssignmentRequest'
responses:
'200':
description: Role successfully assigned.
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: User or organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/users/{userId}/roles/revoke:
post:
operationId: revokeUserAccess
summary: Atlassian Revoke User Product Access
description: Revokes a user's access to organization products by removing roles.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/userId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RoleAssignmentRequest'
responses:
'200':
description: Role successfully revoked.
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: User or organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v2/orgs/{orgId}/directories/{directoryId}/users/{accountId}/role-assignments:
get:
operationId: getUserRoleAssignments
summary: Atlassian List User Role Assignments
description: >-
Returns a list of role assignments for a specific user in a directory.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/directoryId'
- $ref: '#/components/parameters/accountId'
responses:
'200':
description: Successful response containing role assignments.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/RoleAssignment'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: User not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/users/{userId}/role-assignments/assign:
post:
operationId: assignOrganizationRole
summary: Atlassian Assign Organization-level Role
description: Assigns an organization-level role to a user.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/userId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrgRoleAssignmentRequest'
responses:
'204':
description: Organization role successfully assigned.
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: User or organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/users/{userId}/role-assignments/revoke:
post:
operationId: revokeOrganizationRole
summary: Atlassian Remove Organization-level Role
description: Removes an organization-level role from a user.
tags:
- Users
parameters:
- $ref: '#/components/parameters/orgId'
- $ref: '#/components/parameters/userId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrgRoleAssignmentRequest'
responses:
'204':
description: Organization role successfully removed.
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: User or organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/domains:
get:
operationId: getOrganizationDomains
summary: Atlassian Get Organization Domains
description: >-
Returns a list of domains associated with the organization. Domains
are used to claim and verify ownership of email domains for the
organization.
tags:
- Domains
parameters:
- $ref: '#/components/parameters/orgId'
- name: cursor
in: query
description: Cursor for paginated results.
required: false
schema:
type: string
responses:
'200':
description: Successful response containing a paginated list of domains.
content:
application/json:
schema:
$ref: '#/components/schemas/DomainPage'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/domains/{domainId}:
get:
operationId: getDomainById
summary: Atlassian Get Domain by Id
description: Returns details of a specific domain associated with the organization.
tags:
- Domains
parameters:
- $ref: '#/components/parameters/orgId'
- name: domainId
in: path
required: true
description: The unique identifier of the domain.
schema:
type: string
responses:
'200':
description: Successful response containing domain details.
content:
application/json:
schema:
$ref: '#/components/schemas/Domain'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Domain not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/policies:
get:
operationId: getOrganizationPolicies
summary: Atlassian Get Organization Policies
description: >-
Returns a list of policies configured for the organization. Policies
define rules and controls for security, authentication, data
residency, and other organizational governance settings.
tags:
- Policies
parameters:
- $ref: '#/components/parameters/orgId'
- name: cursor
in: query
description: Cursor for paginated results.
required: false
schema:
type: string
- name: type
in: query
description: Filter policies by type.
required: false
schema:
type: string
enum:
- ip-allowlist
- data-residency
- authentication
- external-user
- user-security
responses:
'200':
description: Successful response containing a paginated list of policies.
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyPage'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/policies/{policyId}:
get:
operationId: getPolicyById
summary: Atlassian Get Policy by Id
description: Returns details of a specific policy by its unique identifier.
tags:
- Policies
parameters:
- $ref: '#/components/parameters/orgId'
- name: policyId
in: path
required: true
description: The unique identifier of the policy.
schema:
type: string
responses:
'200':
description: Successful response containing the policy details.
content:
application/json:
schema:
$ref: '#/components/schemas/Policy'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Policy not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
operationId: updatePolicy
summary: Atlassian Update a Policy
description: Updates an existing organization policy.
tags:
- Policies
parameters:
- $ref: '#/components/parameters/orgId'
- name: policyId
in: path
required: true
description: The unique identifier of the policy.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyUpdateRequest'
responses:
'200':
description: Policy successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/Policy'
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Policy not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/events:
get:
operationId: getOrganizationEvents
summary: Atlassian Get Organization Events
description: >-
Returns a paginated list of events for the organization. Events
represent audit trail entries for actions performed within the
organization, such as user changes, policy updates, and access
modifications.
tags:
- Events
parameters:
- $ref: '#/components/parameters/orgId'
- name: cursor
in: query
description: Cursor for paginated results.
required: false
schema:
type: string
- name: from
in: query
description: >-
Filter events from this date-time (ISO 8601 format). Returns events
that occurred on or after this time.
required: false
schema:
type: string
format: date-time
- name: to
in: query
description: >-
Filter events up to this date-time (ISO 8601 format). Returns events
that occurred on or before this time.
required: false
schema:
type: string
format: date-time
- name: action
in: query
description: Filter events by action type.
required: false
schema:
type: string
responses:
'200':
description: Successful response containing a paginated list of events.
content:
application/json:
schema:
$ref: '#/components/schemas/EventPage'
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Organization not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/orgs/{orgId}/events/{eve
# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/openapi/atlassian-admin-api-openapi.yml