openapi: 3.1.0 info: title: Atlassian Admin Account Ssh 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 servers: - url: https://api.atlassian.com description: Atlassian Cloud API security: - bearerAuth: [] - oauth2: [] tags: - name: Ssh paths: /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/key_pair: get: tags: - Ssh summary: Atlassian Get Ssh Key Pair description: Retrieves the SSH key pair configured for Bitbucket Pipelines in a specific repository within a workspace. This endpoint returns the public and private SSH key that Pipelines uses to authenticate and access external resources during build and deployment processes. The key pair enables secure connections to remote servers, allowing pipelines to perform operations like deploying code or accessing private dependencies. Authentication is required to access this endpoint, and the requesting user must have appropriate permissions on the repository to view its pipeline configuration settings. operationId: getSshKeyPair parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string responses: '200': description: The SSH key pair. content: application/json: schema: $ref: '#/components/schemas/pipeline_ssh_key_pair' examples: pipeline-ssh-key-pair: $ref: '#/components/examples/pipeline-ssh-key-pair' '404': description: The account, repository or SSH key pair was not found. content: application/json: schema: $ref: '#/components/schemas/error' x-atlassian-oauth2-scopes: - state: Current scheme: oauth2 scopes: - read:pipeline:bitbucket security: - oauth2: - pipeline - basic: [] - api_key: [] x-api-evangelist-processing: WriteDescription: true ChooseTags: true GenerateExampleFromOperationResponseSchema: true x-microcks-operation: delay: 0 dispatcher: FALLBACK put: tags: - Ssh summary: Atlassian Update Ssh Key Pair description: Updates the SSH key pair configuration for Bitbucket Pipelines in a specific repository, allowing you to modify the private and public SSH keys used for secure authentication during pipeline builds. This operation requires you to specify the workspace and repository slug in the URL path, and you must provide the updated SSH key pair details in the request body, typically including both the private key for authentication and the corresponding public key. The endpoint is commonly used when rotating credentials, updating access to external services, or changing deployment keys that pipelines use to interact with remote servers or services during automated builds and deployments. operationId: updateSshKeyPair parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/pipeline_ssh_key_pair' examples: pipeline-ssh-key-pair_2: $ref: '#/components/examples/pipeline-ssh-key-pair_2' description: The created or updated SSH key pair. required: true responses: '200': description: The SSH key pair was created or updated. content: application/json: schema: $ref: '#/components/schemas/pipeline_ssh_key_pair' examples: pipeline-ssh-key-pair_2: $ref: '#/components/examples/pipeline-ssh-key-pair_2' '404': description: The account, repository or SSH key pair was not found. content: application/json: schema: $ref: '#/components/schemas/error' x-atlassian-oauth2-scopes: - state: Current scheme: oauth2 scopes: - admin:pipeline:bitbucket security: - oauth2: - pipeline:variable - basic: [] - api_key: [] x-api-evangelist-processing: WriteDescription: true ChooseTags: true GenerateExampleFromOperationRequestSchema: true GenerateExampleFromOperationResponseSchema: true x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: tags: - Ssh summary: Atlassian Delete Ssh Key Pair description: This API operation deletes the configured SSH key pair associated with a specific Bitbucket Pipelines configuration for a repository. By sending a DELETE request to this endpoint with the workspace identifier and repository slug, administrators can remove the SSH key pair that was previously set up for secure authentication during pipeline executions. This is typically used when rotating credentials, revoking access, or when the key pair is no longer needed for the repository's CI/CD pipeline operations. Once deleted, pipelines that relied on this SSH key pair for authentication to external services or remote servers will no longer have access until a new key pair is configured. operationId: deleteSshKeyPair parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string responses: '204': description: The SSH key pair was deleted. '404': description: The account, repository or SSH key pair was not found. content: application/json: schema: $ref: '#/components/schemas/error' x-atlassian-oauth2-scopes: - state: Current scheme: oauth2 scopes: - admin:pipeline:bitbucket security: - oauth2: - pipeline:variable - basic: [] - api_key: [] x-api-evangelist-processing: WriteDescription: true ChooseTags: true x-microcks-operation: delay: 0 dispatcher: FALLBACK /users/{selected_user}/ssh-keys: parameters: - name: selected_user in: path description: 'This can either be an Atlassian Account ID OR the UUID of the account, surrounded by curly-braces, for example: `{account UUID}`. ' required: true schema: type: string get: tags: - Ssh description: Returns a paginated list of the user's SSH keys for the selected user account in Bitbucket. This endpoint retrieves all public SSH keys that have been added to the specified user's profile, which are used for secure Git operations over SSH protocol. The response includes key details such as the key ID, label, public key content, and creation date. Authentication is required to access this endpoint, and users can only view SSH keys for their own account unless they have appropriate administrative permissions. summary: Atlassian List Ssh Keys responses: '200': description: A list of the SSH keys associated with the account. content: application/json: schema: $ref: '#/components/schemas/paginated_ssh_user_keys' examples: response: value: page: 1 pagelen: 10 size: 1 values: - comment: user@myhost created_on: '2018-03-14T13:17:05.196003+00:00' key: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqP3Cr632C2dNhhgKVcon4ldUSAeKiku2yP9O9/bDtY label: '' last_used: '2018-03-20T13:18:05.196003+00:00' links: self: href: https://api.bitbucket.org/2.0/users/{ed08f5e1-605b-4f4a-aee4-6c97628a673e}/ssh-keys/b15b6026-9c02-4626-b4ad-b905f99f763a owner: display_name: Mark Adams links: avatar: href: https://bitbucket.org/account/markadams-atl/avatar/32/ html: href: https://bitbucket.org/markadams-atl/ self: href: https://api.bitbucket.org/2.0/users/{ed08f5e1-605b-4f4a-aee4-6c97628a673e} type: user username: markadams-atl nickname: markadams-atl uuid: '{d7dd0e2d-3994-4a50-a9ee-d260b6cefdab}' type: ssh_key uuid: '{b15b6026-9c02-4626-b4ad-b905f99f763a}' '403': description: If the specified Users keys are not accessible to the current user '404': description: If the specified user does not exist content: application/json: schema: $ref: '#/components/schemas/error' security: - oauth2: - account - basic: [] - api_key: [] x-api-evangelist-processing: PascalCaseOperationSummaries: true CaselCaseOperationIds: true WriteDescription: true ChooseTags: true operationId: listSshKeys x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Ssh description: This API operation allows you to add a new SSH key to a specific Bitbucket user's account by making a POST request to the /users/{selected_user}/ssh-keys endpoint, where {selected_user} represents the username of the target account. The operation requires you to provide SSH key details in the request body, typically including the key content and an optional label for identification purposes. Once successfully added, the SSH key enables secure authentication for Git operations and other SSH-based interactions with Bitbucket repositories associated with that user account. This is commonly used for setting up automated deployments, CI/CD pipelines, or allowing developers to securely push and pull code without password authentication. summary: Atlassian Add New Ssh Key responses: '201': description: The newly created SSH key. content: application/json: schema: $ref: '#/components/schemas/ssh_account_key' examples: ssh-account-key: $ref: '#/components/examples/ssh-account-key' '400': description: If the submitted key or related value is invalid content: application/json: schema: $ref: '#/components/schemas/error' '403': description: If the current user does not have permission to add a key for the specified user '404': description: If the specified user does not exist content: application/json: schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/ssh_account_key' examples: ssh-account-key_2: $ref: '#/components/examples/ssh-account-key_2' description: The new SSH key object. Note that the username property has been deprecated due to [privacy changes](https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-changes-gdpr/#removal-of-usernames-from-user-referencing-apis). security: - oauth2: - account:write - basic: [] - api_key: [] x-api-evangelist-processing: PascalCaseOperationSummaries: true CaselCaseOperationIds: true WriteDescription: true ChooseTags: true GenerateExampleFromOperationResponseSchema: true GenerateExampleFromOperationRequestSchema: true operationId: addNewSshKey x-microcks-operation: delay: 0 dispatcher: FALLBACK /users/{selected_user}/ssh-keys/{key_id}: parameters: - name: key_id in: path description: The SSH key's UUID value. required: true schema: type: string - name: selected_user in: path description: 'This can either be an Atlassian Account ID OR the UUID of the account, surrounded by curly-braces, for example: `{account UUID}`. ' required: true schema: type: string delete: tags: - Ssh description: This API operation allows you to delete a specific SSH key associated with a Bitbucket user account by providing the username and the unique key identifier in the endpoint path. When executed via a DELETE request to `/users/{selected_user}/ssh-keys/{key_id}`, it permanently removes the specified SSH key from the user's account, revoking that key's access to Bitbucket repositories. This is commonly used when rotating security credentials, removing access for compromised keys, or cleaning up unused SSH keys from user accounts. The operation requires appropriate authentication and authorization to ensure only authorized parties can remove SSH keys from user accounts. summary: Atlassian Delete Ssh Key responses: '204': description: The key has been deleted '400': description: If the submitted key or related value is invalid content: application/json: schema: $ref: '#/components/schemas/error' '403': description: If the current user does not have permission to add a key for the specified user '404': description: If the specified user does not exist content: application/json: schema: $ref: '#/components/schemas/error' security: - oauth2: - account:write - basic: [] - api_key: [] x-api-evangelist-processing: PascalCaseOperationSummaries: true CaselCaseOperationIds: true WriteDescription: true ChooseTags: true operationId: deleteSshKey x-microcks-operation: delay: 0 dispatcher: FALLBACK get: tags: - Ssh description: This API operation retrieves a specific SSH key associated with a particular Bitbucket user by providing both the username and the unique key identifier in the request path. When executed, it returns detailed information about the specified SSH key, including its public key value, label, and other metadata. This endpoint is useful for administrators or applications that need to verify or audit SSH keys configured for user accounts, enabling secure authentication and repository access management within Bitbucket. summary: Atlassian Get Ssh Key responses: '200': description: The specific SSH key matching the user and UUID content: application/json: schema: $ref: '#/components/schemas/ssh_account_key' examples: ssh-account-key_2: $ref: '#/components/examples/ssh-account-key_2' '403': description: If the specified user or key is not accessible to the current user '404': description: If the specified user or key does not exist content: application/json: schema: $ref: '#/components/schemas/error' security: - oauth2: - account - basic: [] - api_key: [] x-api-evangelist-processing: PascalCaseOperationSummaries: true CaselCaseOperationIds: true WriteDescription: true ChooseTags: true GenerateExampleFromOperationResponseSchema: true operationId: getSshKey x-microcks-operation: delay: 0 dispatcher: FALLBACK put: tags: - Ssh description: 'The Update SSH Key operation is a PUT request to the Atlassian Bitbucket User API endpoint /users/{selected_user}/ssh-keys/{key_id} that allows authorized users to modify an existing SSH key associated with a specific user account. This endpoint requires two path parameters: {selected_user} which identifies the target user whose SSH key is being updated, and {key_id} which specifies the unique identifier of the particular SSH key to be modified. When invoked, this operation accepts the updated SSH key data in the request body and replaces the existing key configuration with the new values provided. This is typically used to update key labels, permissions, or other metadata associated with the SSH key while maintaining the same key identifier, enabling users or administrators to manage SSH authentication credentials for secure access to Bitbucket repositories without creating entirely new keys.' summary: Atlassian Update Ssh Key responses: '200': description: The newly updated SSH key. content: application/json: schema: $ref: '#/components/schemas/ssh_account_key' examples: ssh-account-key_2: $ref: '#/components/examples/ssh-account-key_2' '400': description: If the submitted key or related value is invalid content: application/json: schema: $ref: '#/components/schemas/error' '403': description: If the current user does not have permission to add a key for the specified user '404': description: If the specified user does not exist content: application/json: schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/ssh_account_key' examples: ssh-account-key_2: $ref: '#/components/examples/ssh-account-key_2' description: The updated SSH key object security: - oauth2: - account:write - basic: [] - api_key: [] x-api-evangelist-processing: PascalCaseOperationSummaries: true CaselCaseOperationIds: true WriteDescription: true ChooseTags: true GenerateExampleFromOperationResponseSchema: true GenerateExampleFromOperationRequestSchema: true operationId: updateSshKey x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: ssh_account_key: allOf: - $ref: '#/components/schemas/ssh_key' - type: object title: SSH Account Key description: Represents an SSH public key for a user. properties: owner: $ref: '#/components/schemas/account' additionalProperties: true account: allOf: - $ref: '#/components/schemas/object' - type: object title: Account description: An account object. properties: links: $ref: '#/components/schemas/account_links' created_on: type: string format: date-time display_name: type: string username: type: string pattern: ^[a-zA-Z0-9_\-]+$ uuid: type: string additionalProperties: true error: type: object title: Error description: Base type for most resource objects. It defines the common `type` element that identifies an object's type. It also identifies the element as Swagger's `discriminator`. properties: type: type: string example: example_value error: type: object properties: message: type: string detail: type: string data: type: object description: Optional structured data that is endpoint-specific. properties: {} additionalProperties: true required: - message additionalProperties: false example: example_value required: - type additionalProperties: true paginated_ssh_user_keys: type: object title: Paginated SSH User Keys description: A paginated list of SSH keys. properties: size: type: integer description: Total number of objects in the response. This is an optional element that is not provided in all responses, as it can be expensive to compute. minimum: 0 example: 10 page: type: integer description: Page number of the current results. This is an optional element that is not provided in all responses. minimum: 1 example: 10 pagelen: type: integer description: Current number of objects on the existing page. The default value is 10 with 100 being the maximum allowed value. Individual APIs may enforce different values. minimum: 1 example: 10 next: type: string description: Link to the next page if it exists. The last page of a collection does not have this value. Use this link to navigate the result set and refrain from constructing your own URLs. format: uri example: https://www.example.com previous: type: string description: Link to previous page if it exists. A collections first page does not have this value. This is an optional element that is not provided in all responses. Some result sets strictly support forward navigation and never provide previous links. Clients must anticipate that backwards navigation is not always available. Use this link to navigate the result set and refrain from constructing your own URLs. format: uri example: https://www.example.com values: type: array items: $ref: '#/components/schemas/ssh_account_key' minItems: 0 uniqueItems: true example: [] additionalProperties: false object: type: object description: Base type for most resource objects. It defines the common `type` element that identifies an object's type. It also identifies the element as Swagger's `discriminator`. properties: type: type: string example: example_value required: - type additionalProperties: true discriminator: propertyName: type ssh_key: allOf: - $ref: '#/components/schemas/object' - type: object title: SSH Key description: Base type for representing SSH public keys. properties: uuid: type: string description: The SSH key's immutable ID. key: type: string description: The SSH public key value in OpenSSH format. comment: type: string description: The comment parsed from the SSH key (if present) label: type: string description: The user-defined label for the SSH key created_on: type: string format: date-time last_used: type: string format: date-time links: type: object properties: self: type: object title: Link description: A link to a resource related to this object. properties: href: type: string format: uri name: type: string additionalProperties: false additionalProperties: false additionalProperties: true link: type: object title: Link description: A link to a resource related to this object. properties: href: type: string format: uri example: https://www.example.com name: type: string example: Example Title additionalProperties: false account_links: type: object title: Account Links description: Links related to an Account. properties: avatar: $ref: '#/components/schemas/link' additionalProperties: true pipeline_ssh_key_pair: allOf: - $ref: '#/components/schemas/object' - additionalProperties: true type: object title: Pipeline SSH Key Pair description: A Pipelines SSH key pair. properties: private_key: type: string description: The SSH private key. This value will be empty when retrieving the SSH key pair. public_key: type: string description: The SSH public key. examples: ssh-account-key: owner: id: '12345' username: johndoe email: johndoe@example.com key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC... fingerprint: SHA256:abc123def456ghi789 label: My Laptop Key created: '2024-01-15T10:30:00Z' ssh-account-key_2: owner: id: user123 username: john.doe email: john.doe@example.com key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7... fingerprint: SHA256:abcd1234efgh5678ijkl9012mnop3456 label: Work Laptop created_at: '2024-01-15T10:30:00Z' pipeline-ssh-key-pair_2: private_key: '-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA... -----END RSA PRIVATE KEY-----' public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC... user@example.com pipeline-ssh-key-pair: private_key: '-----BEGIN OPENSSH PRIVATE KEY----- b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn NhAAAAAwEAAQAAAYEAw5... -----END OPENSSH PRIVATE KEY-----' public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDl5Z8xYzKj3pQ7vXmF2wN4Hx9rL8mK1pR9tE= user@example.com securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: API Key description: Use an Atlassian API key as a Bearer token. Create API keys at https://admin.atlassian.com. oauth2: type: oauth2 description: OAuth 2.0 authorization for Atlassian Cloud APIs. flows: authorizationCode: authorizationUrl: https://auth.atlassian.com/authorize tokenUrl: https://auth.atlassian.com/oauth/token scopes: read:org:admin: Read organization information. write:org:admin: Modify organization settings. read:user:admin: Read user information. write:user:admin: Modify user accounts. read:policy:admin: Read organization policies. write:policy:admin: Modify organization policies. read:event:admin: Read organization events. externalDocs: description: Atlassian Admin REST API Documentation url: https://developer.atlassian.com/cloud/admin/organization/rest/intro/