Bitbucket

Git code hosting and collaboration

developer.atlassian.com/cloud/bitbucket/rest ↗
Version
2.0
OpenAPI
3.0.0
Endpoints
318
Schemas
216
Updated
3 days ago
Developer tools git code-hosting developer-tools
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.bitbucket.org/2.0

Authentication

basic oauth2 apiKey

Endpoints

Clear filters

Addon 4 endpoints

GET /addon/linkers

Gets a list of all [linkers](https://dac-static.atlassian.com) for the authenticated application.

operationId: Addon_listLinkers

Responses

200 Successful.
401 Authentication must use app JWT
GET /addon/linkers
GET /addon/linkers/{linker_key}

Gets a [linker](https://dac-static.atlassian.com) specified by `linker_key` for the authenticated application.

operationId: Addon_getLinker

Responses

200 Successful.
401 Authentication must use app JWT
404 The linker does not exist.
GET /addon/linkers/{linker_key}
GET /addon/linkers/{linker_key}/values

Gets a list of all [linker](https://dac-static.atlassian.com) values for the specified linker of the authenticated application. A linker value lets applications supply values to modify its regular expression. The base regular expression must use a Bitbucket-specific match group `(?K)` which will be translated to `([\w\-]+)`. A value must match this pattern. [Read more about linker values](/cloud/bitbucket/modules/linker/#usingthebitbucketapitosupplyvalues)

operationId: Addon_listLinkerValues

Responses

200 Successful.
401 Authentication must use app JWT
404 The linker does not exist.
GET /addon/linkers/{linker_key}/values
GET /addon/linkers/{linker_key}/values/{value_id}

Get a single [linker](https://dac-static.atlassian.com) value of the authenticated application.

operationId: Addon_getLinkerValue

Responses

200 Successful.
401 Authentication must use app JWT
404 The linker value does not exist.
GET /addon/linkers/{linker_key}/values/{value_id}

Branch restrictions 2 endpoints

GET /repositories/{workspace}/{repo_slug}/branch-restrictions

Returns a paginated list of all branch restrictions on the repository.

operationId: BranchRestrictions_listBranchRestrictions

Parameters

Name In Required Type Description
kind query optional string Branch restrictions of this type
pattern query optional string Branch restrictions applied to branches of this pattern

Responses

200 A paginated list of branch restrictions
401 If the request was not authenticated
403 If the authenticated user does not have admin access to the repository
404 If the repository does not exist
GET /repositories/{workspace}/{repo_slug}/branch-restrictions
GET /repositories/{workspace}/{repo_slug}/branch-restrictions/{id}

Returns a specific branch restriction rule.

operationId: BranchRestrictions_getRule

Responses

200 The branch restriction rule
401 If the request was not authenticated
403 If the authenticated user does not have admin access to the repository
404 If the repository or branch restriction id does not exist
GET /repositories/{workspace}/{repo_slug}/branch-restrictions/{id}

Branching model 5 endpoints

GET /repositories/{workspace}/{repo_slug}/branching-model

Return the branching model as applied to the repository. This view is read-only. The branching model settings can be changed using the [settings](https://dac-static.atlassian.com) API. The returned object: 1. Always has a `development` property. `development.branch` contains the actual repository branch object that is considered to be the `development` branch. `development.branch` will not be present if it does not exist. 2. Might have a `production` property. `production` will not be present when `production` is disabled. `production.branch` contains the actual branch object that is considered to be the `production` branch. `production.branch` will not be present if it does not exist. 3. Always has a `branch_types` array which contains all enabled branch types.

operationId: BranchingModel_getBranchingModel

Responses

200 The branching model object
401 If the request was not authenticated
403 If the authenticated user does not have read access to the repository
404 If the repository does not exist
GET /repositories/{workspace}/{repo_slug}/branching-model
GET /repositories/{workspace}/{repo_slug}/branching-model/settings

Return the branching model configuration for a repository. The returned object: 1. Always has a `development` property for the development branch. 2. Always a `production` property for the production branch. The production branch can be disabled. 3. The `branch_types` contains all the branch types. This is the raw configuration for the branching model. A client wishing to see the branching model with its actual current branches may find the [active model API](/cloud/bitbucket/rest/api-group-branching-model/#api-repositories-workspace-repo-slug-branching-model-get) more useful.

operationId: BranchingModel_getRepositoryBranchingSettings

Responses

200 The branching model configuration
401 If the request was not authenticated
403 If the authenticated user does not have admin access to the repository
404 If the repository does not exist
GET /repositories/{workspace}/{repo_slug}/branching-model/settings
GET /repositories/{workspace}/{repo_slug}/effective-branching-model
operationId: BranchingModel_getEffectiveBranchingModel

Responses

200 The effective branching model object
401 If the request was not authenticated
403 If the authenticated user does not have read access to the repository
404 If the repository does not exist
GET /repositories/{workspace}/{repo_slug}/effective-branching-model
GET /workspaces/{workspace}/projects/{project_key}/branching-model

Return the branching model set at the project level. This view is read-only. The branching model settings can be changed using the [settings](https://dac-static.atlassian.com) API. The returned object: 1. Always has a `development` property. `development.name` is the user-specified branch that can be inherited by an individual repository's branching model. 2. Might have a `production` property. `production` will not be present when `production` is disabled. `production.name` is the user-specified branch that can be inherited by an individual repository's branching model. 3. Always has a `branch_types` array which contains all enabled branch types.

operationId: BranchingModel_getBranchingModel

Responses

200 The branching model object
401 If the request was not authenticated
403 If the authenticated user does not have read access to the project
404 If the project does not exist
GET /workspaces/{workspace}/projects/{project_key}/branching-model
GET /workspaces/{workspace}/projects/{project_key}/branching-model/settings

Return the branching model configuration for a project. The returned object: 1. Always has a `development` property for the development branch. 2. Always a `production` property for the production branch. The production branch can be disabled. 3. The `branch_types` contains all the branch types. This is the raw configuration for the branching model. A client wishing to see the branching model with its actual current branches may find the [active model API](https://dac-static.atlassian.com) more useful.

operationId: BranchingModel_getConfig

Responses

200 The branching model configuration
401 If the request was not authenticated
403 If the authenticated user does not have admin access to the project
404 If the project does not exist
GET /workspaces/{workspace}/projects/{project_key}/branching-model/settings

Commit statuses 2 endpoints

GET /repositories/{workspace}/{repo_slug}/commit/{commit}/statuses

Returns all statuses (e.g. build results) for a specific commit.

operationId: CommitStatuses_listForCommit

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). Defaults to `created_on`.

Responses

200 A paginated list of all commit statuses for this commit.
401 If the repository is private and the request was not authenticated.
404 If the repository or commit does not exist
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/statuses
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/statuses/build/{key}

Returns the specified build status for a commit.

operationId: CommitStatuses_getBuildStatus

Responses

200 The build status object with the specified key.
401 If the repository is private and the request was not authenticated.
404 If the repository, commit, or build status key does not exist
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/statuses/build/{key}

Commits 9 endpoints

GET /repositories/{workspace}/{repo_slug}/commit/{commit}

Returns the specified commit.

operationId: Commits_getCommitDetails

Responses

200 The commit object
404 If the specified commit or repository does not exist.
GET /repositories/{workspace}/{repo_slug}/commit/{commit}
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/comments

Returns the commit's comments. This includes both global and inline comments. The default sorting is oldest to newest and can be overridden with the `sort` query parameter.

operationId: Commits_listComments

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

Responses

200 A paginated list of commit comments.
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/comments
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/comments/{comment_id}

Returns the specified commit comment.

operationId: Commits_getCommitComment

Responses

200 The commit comment.
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/comments/{comment_id}
GET /repositories/{workspace}/{repo_slug}/commits

These are the repository's commits. They are paginated and returned in reverse chronological order, similar to the output of `git log`. Like these tools, the DAG can be filtered. #### GET /repositories/{workspace}/{repo_slug}/commits/ Returns all commits in the repo in topological order (newest commit first). All branches and tags are included (similar to `git log --all`). #### GET /repositories/{workspace}/{repo_slug}/commits/?exclude=master Returns all commits in the repo that are not on master (similar to `git log --all ^master`). #### GET /repositories/{workspace}/{repo_slug}/commits/?include=foo&include=bar&exclude=fu&exclude=fubar Returns all commits that are on refs `foo` or `bar`, but not on `fu` or `fubar` (similar to `git log foo bar ^fu ^fubar`). An optional `path` parameter can be specified that will limit the results to commits that affect that path. `path` can either be a file or a directory. If a directory is specified, commits are returned that have modified any file in the directory tree rooted by `path`. It is important to note that if the `path` parameter is specified, the commits returned by this endpoint may no longer be a DAG, parent commits that do not modify the path will be omitted from the response. #### GET /repositories/{workspace}/{repo_slug}/commits/?path=README.md&include=foo&include=bar&exclude=master Returns all commits that are on refs `foo` or `bar`, but not on `master` that changed the file README.md. #### GET /repositories/{workspace}/{repo_slug}/commits/?path=src/&include=foo&include=bar&exclude=master Returns all commits that are on refs `foo` or `bar`, but not on `master` that changed to a file in any file in the directory src or its children. Because the response could include a very large number of commits, it is paginated. Follow the 'next' link in the response to navigate to the next page of commits. As with other paginated resources, do not construct your own links. When the include and exclude parameters are more than can fit in a query string, clients can use a `x-www-form-urlencoded` POST instead.

operationId: Commits_list

Responses

200 A paginated list of commits
404 If the specified repository does not exist.
GET /repositories/{workspace}/{repo_slug}/commits
GET /repositories/{workspace}/{repo_slug}/commits/{revision}

These are the repository's commits. They are paginated and returned in reverse chronological order, similar to the output of `git log`. Like these tools, the DAG can be filtered. #### GET /repositories/{workspace}/{repo_slug}/commits/master Returns all commits on ref `master` (similar to `git log master`). #### GET /repositories/{workspace}/{repo_slug}/commits/dev?include=foo&exclude=master Returns all commits on ref `dev` or `foo`, except those that are reachable on `master` (similar to `git log dev foo ^master`). An optional `path` parameter can be specified that will limit the results to commits that affect that path. `path` can either be a file or a directory. If a directory is specified, commits are returned that have modified any file in the directory tree rooted by `path`. It is important to note that if the `path` parameter is specified, the commits returned by this endpoint may no longer be a DAG, parent commits that do not modify the path will be omitted from the response. #### GET /repositories/{workspace}/{repo_slug}/commits/dev?path=README.md&include=foo&include=bar&exclude=master Returns all commits that are on refs `dev` or `foo` or `bar`, but not on `master` that changed the file README.md. #### GET /repositories/{workspace}/{repo_slug}/commits/dev?path=src/&include=foo&exclude=master Returns all commits that are on refs `dev` or `foo`, but not on `master` that changed to a file in any file in the directory src or its children. Because the response could include a very large number of commits, it is paginated. Follow the 'next' link in the response to navigate to the next page of commits. As with other paginated resources, do not construct your own links. When the include and exclude parameters are more than can fit in a query string, clients can use a `x-www-form-urlencoded` POST instead.

operationId: Commits_listForRevision

Responses

200 A paginated list of commits
404 If the specified revision does not exist.
GET /repositories/{workspace}/{repo_slug}/commits/{revision}
GET /repositories/{workspace}/{repo_slug}/diff/{spec}

Produces a raw git-style diff. #### Single commit spec If the `spec` argument to this API is a single commit, the diff is produced against the first parent of the specified commit. #### Two commit spec Two commits separated by `..` may be provided as the `spec`, e.g., `3a8b42..9ff173`. When two commits are provided and the `topic` query parameter is true, this API produces a 2-way three dot diff. This is the diff between source commit and the merge base of the source commit and the destination commit. When the `topic` query param is false, a simple git-style diff is produced. The two commits are interpreted as follows: * First commit: the commit containing the changes we wish to preview * Second commit: the commit representing the state to which we want to compare the first commit * **Note**: This is the opposite of the order used in `git diff`. #### Comparison to patches While similar to patches, diffs: * Don't have a commit header (username, commit message, etc) * Support the optional `path=foo/bar.py` query param to filter the diff to just that one file diff #### Response The raw diff is returned as-is, in whatever encoding the files in the repository use. It is not decoded into unicode. As such, the content-type is `text/plain`.

operationId: Commits_compareTwoCommitsDiff

Parameters

Name In Required Type Description
context query optional integer Generate diffs with <n> lines of context instead of the usual three.
path query optional string Limit the diff to a particular file (this parameter can be repeated for multiple paths).
ignore_whitespace query optional boolean Generate diffs that ignore whitespace.
binary query optional boolean Generate diffs that include binary files, true if omitted.
renames query optional boolean Whether to perform rename detection, true if omitted.
merge query optional boolean This parameter is deprecated. The 'topic' parameter should be used instead. The 'merge' and 'topic' parameters cannot be both used at the same time. If true, the source commit is merged into the destination commit, and then a diff from the destination to the merge result is returned. If false, a simple 'two dot' diff between the source and destination is returned. True if omitted.
topic query optional boolean If true, returns 2-way 'three-dot' diff. This is a diff between the source commit and the merge base of the source commit and the destination commit. If false, a simple 'two dot' diff between the source and destination is returned.

Responses

200 The raw diff
555 If the diff was too large and timed out. Since this endpoint does not employ any form of pagination, but instead returns the diff as a single document, it can run into trouble on very large diffs. If Bitbucket times out in cases like these, a 555 status code is returned.
GET /repositories/{workspace}/{repo_slug}/diff/{spec}
GET /repositories/{workspace}/{repo_slug}/diffstat/{spec}

Produces a response in JSON format with a record for every path modified, including information on the type of the change and the number of lines added and removed. #### Single commit spec If the `spec` argument to this API is a single commit, the diff is produced against the first parent of the specified commit. #### Two commit spec Two commits separated by `..` may be provided as the `spec`, e.g., `3a8b42..9ff173`. When two commits are provided and the `topic` query parameter is true, this API produces a 2-way three dot diff. This is the diff between source commit and the merge base of the source commit and the destination commit. When the `topic` query param is false, a simple git-style diff is produced. The two commits are interpreted as follows: * First commit: the commit containing the changes we wish to preview * Second commit: the commit representing the state to which we want to compare the first commit * **Note**: This is the opposite of the order used in `git diff`.

operationId: Commits_compareDiffStats

Responses

200 The diff stats
555 If generating the diffstat timed out.
GET /repositories/{workspace}/{repo_slug}/diffstat/{spec}
GET /repositories/{workspace}/{repo_slug}/merge-base/{revspec}

Returns the best common ancestor between two commits, specified in a revspec of 2 commits (e.g. 3a8b42..9ff173). If more than one best common ancestor exists, only one will be returned. It is unspecified which will be returned.

operationId: Commits_getMergeBase

Responses

200 The merge base of the provided spec.
401 If the request was not authenticated.
403 If the authenticated user does not have access to any of the repositories specified.
404 If the repository or ref in the spec does not exist.
GET /repositories/{workspace}/{repo_slug}/merge-base/{revspec}
GET /repositories/{workspace}/{repo_slug}/patch/{spec}

Produces a raw patch for a single commit (diffed against its first parent), or a patch-series for a revspec of 2 commits (e.g. `3a8b42..9ff173` where the first commit represents the source and the second commit the destination). In case of the latter (diffing a revspec), a patch series is returned for the commits on the source branch (`3a8b42` and its ancestors in our example). While similar to diffs, patches: * Have a commit header (username, commit message, etc) * Do not support the `path=foo/bar.py` query parameter The raw patch is returned as-is, in whatever encoding the files in the repository use. It is not decoded into unicode. As such, the content-type is `text/plain`.

operationId: Commits_getPatchForCommits

Responses

200 The raw patches
555 If the diff was too large and timed out. Since this endpoint does not employ any form of pagination, but instead returns the diff as a single document, it can run into trouble on very large diffs. If Bitbucket times out in cases like these, a 555 status code is returned.
GET /repositories/{workspace}/{repo_slug}/patch/{spec}

Deployments 8 endpoints

GET /repositories/{workspace}/{repo_slug}/deploy-keys

Returns all deploy-keys belonging to a repository.

operationId: Deployments_listRepositoryDeployKeys

Responses

200 Deploy keys matching the repository
403 If the specified user or repository is not accessible to the current user
404 If the specified user or repository does not exist
GET /repositories/{workspace}/{repo_slug}/deploy-keys
GET /repositories/{workspace}/{repo_slug}/deploy-keys/{key_id}

Returns the deploy key belonging to a specific key.

operationId: Deployments_getDeployKey

Responses

200 Deploy key matching the key ID
403 If the specified user or repository is not accessible to the current user
404 If the specified user or repository does not exist
GET /repositories/{workspace}/{repo_slug}/deploy-keys/{key_id}
GET /repositories/{workspace}/{repo_slug}/deployments

Find deployments

operationId: Deployments_listDeployments

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.

Responses

200 The matching deployments.
GET /repositories/{workspace}/{repo_slug}/deployments
GET /repositories/{workspace}/{repo_slug}/deployments/{deployment_uuid}

Retrieve a deployment

operationId: Deployments_getSingleDeployment

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
deployment_uuid path required string The deployment UUID.

Responses

200 The deployment.
404 No account, repository or deployment with the UUID provided exists.
GET /repositories/{workspace}/{repo_slug}/deployments/{deployment_uuid}
GET /repositories/{workspace}/{repo_slug}/environments

Find environments

operationId: Deployments_listEnvironments

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.

Responses

200 The matching environments.
GET /repositories/{workspace}/{repo_slug}/environments
GET /repositories/{workspace}/{repo_slug}/environments/{environment_uuid}

Retrieve an environment

operationId: Deployments_getEnvironment

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
environment_uuid path required string The environment UUID.

Responses

200 The environment.
404 No account, repository or environment with the UUID provided exists.
GET /repositories/{workspace}/{repo_slug}/environments/{environment_uuid}
GET /workspaces/{workspace}/projects/{project_key}/deploy-keys

Returns all deploy keys belonging to a project.

operationId: Deployments_listProjectDeployKeys

Responses

200 Deploy keys matching the project
403 If the specified workspace or project is not accessible to the current user
404 If the specified workspace or project does not exist
GET /workspaces/{workspace}/projects/{project_key}/deploy-keys
GET /workspaces/{workspace}/projects/{project_key}/deploy-keys/{key_id}

Returns the deploy key belonging to a specific key ID.

operationId: Deployments_getDeployKeyById

Responses

200 Project deploy key matching the key ID
403 If the specified workspace or project is not accessible to the current user
404 If the specified workspace or project does not exist
GET /workspaces/{workspace}/projects/{project_key}/deploy-keys/{key_id}

Downloads 2 endpoints

GET /repositories/{workspace}/{repo_slug}/downloads

Returns a list of download links associated with the repository.

operationId: Downloads_listArtifacts

Responses

200 Returns a paginated list of the downloads associated with the repository.
403 User is not authorized to read from the repository.
GET /repositories/{workspace}/{repo_slug}/downloads
GET /repositories/{workspace}/{repo_slug}/downloads/{filename}

Return a redirect to the contents of a download artifact. This endpoint returns the actual file contents and not the artifact's metadata. $ curl -s -L https://api.bitbucket.org/2.0/repositories/evzijst/git-tests/downloads/hello.txt Hello World

operationId: Downloads_artifactLinkGet

Responses

200 OK
302 Redirects to the url of the specified download artifact.
403 User is not authorized to read from the repository.
404 The specified download artifact does not exist.
GET /repositories/{workspace}/{repo_slug}/downloads/{filename}

Issue tracker 18 endpoints

GET /repositories/{workspace}/{repo_slug}/components

Returns the components that have been defined in the issue tracker. This resource is only available on repositories that have the issue tracker enabled.

operationId: IssueTracker_listComponents

Responses

200 The components that have been defined in the issue tracker.
404 The specified repository does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/components
GET /repositories/{workspace}/{repo_slug}/components/{component_id}

Returns the specified issue tracker component object.

operationId: IssueTracker_getComponent

Responses

200 The specified component object.
404 The specified repository or component does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/components/{component_id}
GET /repositories/{workspace}/{repo_slug}/issues

Returns the issues in the issue tracker.

operationId: IssueTracker_listIssuesInWorkspace

Responses

200 A paginated list of the issues matching any filter criteria that were provided.
404 The specified repository does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/issues
GET /repositories/{workspace}/{repo_slug}/issues/export/{repo_name}-issues-{task_id}.zip

This endpoint is used to poll for the progress of an issue export job and return the zip file after the job is complete. As long as the job is running, this will return a 202 response with in the response body a description of the current status. After the job has been scheduled, but before it starts executing, the endpoint returns a 202 response with status `ACCEPTED`. Once it starts running, it is a 202 response with status `STARTED` and progress filled. After it is finished, it becomes a 200 response with status `SUCCESS` or `FAILURE`.

operationId: IssueTracker_checkExportStatus

Responses

202 Export job accepted
401 The request wasn't authenticated properly
403 When the authenticated user does not have admin permission on the repo
404 No export job has begun
GET /repositories/{workspace}/{repo_slug}/issues/export/{repo_name}-issues-{task_id}.zip
GET /repositories/{workspace}/{repo_slug}/issues/import

When using GET, this endpoint reports the status of the current import task. After the job has been scheduled, but before it starts executing, the endpoint returns a 202 response with status `ACCEPTED`. Once it starts running, it is a 202 response with status `STARTED` and progress filled. After it is finished, it becomes a 200 response with status `SUCCESS` or `FAILURE`.

operationId: IssueTracker_checkImportStatus

Responses

200 Import job complete with either FAILURE or SUCCESS status
202 Import job started
401 The request wasn't authenticated properly
403 When the authenticated user does not have admin permission on the repo
404 No export job has begun
GET /repositories/{workspace}/{repo_slug}/issues/import
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}

Returns the specified issue.

operationId: IssueTracker_getIssueById

Responses

200 The issue object.
403 When the authenticated user isn't authorized to access the issue.
404 The specified repository or issue does not exist or does not have the issue tracker enabled.
410 The specified issue is unavailable.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments

Returns all attachments for this issue. This returns the files' meta data. This does not return the files' actual contents. The files are always ordered by their upload date.

operationId: IssueTracker_listAttachmentsForIssue

Responses

200 A paginated list of all attachments for this issue.
401 If the issue tracker is private and the request was not authenticated.
404 The specified repository or issue does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments/{path}

Returns the contents of the specified file attachment. Note that this endpoint does not return a JSON response, but instead returns a redirect pointing to the actual file that in turn will return the raw contents. The redirect URL contains a one-time token that has a limited lifetime. As a result, the link should not be persisted, stored, or shared.

operationId: IssueTracker_getAttachmentContents

Responses

200 OK
302 A redirect to the file's contents
401 If the issue tracker is private and the request was not authenticated.
404 The specified repository or issue does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments/{path}
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes

Returns the list of all changes that have been made to the specified issue. Changes are returned in chronological order with the oldest change first. Each time an issue is edited in the UI or through the API, an immutable change record is created under the `/issues/123/changes` endpoint. It also has a comment associated with the change. Note that this operation is changing significantly, due to privacy changes. See the [announcement](https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-changes-gdpr/#changes-to-the-issue-changes-api) for details. Changes support [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) that can be used to search for specific changes. For instance, to see when an issue transitioned to "resolved": ``` $ curl -s https://api.bitbucket.org/2.0/repositories/site/master/issues/1/changes \ -G --data-urlencode='q=changes.state.new = "resolved"' ``` This resource is only available on repositories that have the issue tracker enabled. N.B. The `changes.assignee` and `changes.assignee_account_id` fields are not a `user` object. Instead, they contain the raw `username` and `account_id` of the user. This is to protect the integrity of the audit log even after a user account gets deleted. The `changes.assignee` field is deprecated will disappear in the future. Use `changes.assignee_account_id` instead.

operationId: IssueTracker_listIssueChanges

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for details.
sort query optional string Name of a response property to sort results. See [filtering and sorting](/cloud/bitbucket/rest/intro/#sorting-query-results) for details.

Responses

200 Returns all the issue changes that were made on the specified issue.
404 The specified repository or issue does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes/{change_id}

Returns the specified issue change object. This resource is only available on repositories that have the issue tracker enabled.

operationId: IssueTracker_getIssueChange

Responses

200 The specified issue change object.
404 The specified repository or issue change does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes/{change_id}
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments

Returns a paginated list of all comments that were made on the specified issue. The default sorting is oldest to newest and can be overridden with the `sort` query parameter. This endpoint also supports filtering and sorting of the results. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for more details.

operationId: IssueTracker_listCommentsOnIssue

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

Responses

200 A paginated list of issue comments.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments/{comment_id}

Returns the specified issue comment object.

operationId: IssueTracker_getComment

Responses

200 The issue comment.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments/{comment_id}
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/vote

Check whether the authenticated user has voted for this issue. A 204 status code indicates that the user has voted, while a 404 implies they haven't.

operationId: IssueTracker_checkUserVoted

Responses

204 If the authenticated user has not voted for this issue.
401 When the request wasn't authenticated.
404 If the authenticated user has not voted for this issue, or when the repo does not exist, or does not have an issue tracker.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/vote
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/watch

Indicated whether or not the authenticated user is watching this issue.

operationId: IssueTracker_checkIfWatchingIssue

Responses

204 If the authenticated user is watching this issue.
401 When the request wasn't authenticated.
404 If the authenticated user is not watching this issue, or when the repo does not exist, or does not have an issue tracker.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/watch
GET /repositories/{workspace}/{repo_slug}/milestones

Returns the milestones that have been defined in the issue tracker. This resource is only available on repositories that have the issue tracker enabled.

operationId: IssueTracker_listMilestones

Responses

200 The milestones that have been defined in the issue tracker.
404 The specified repository does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/milestones
GET /repositories/{workspace}/{repo_slug}/milestones/{milestone_id}

Returns the specified issue tracker milestone object.

operationId: IssueTracker_getMilestone

Responses

200 The specified milestone object.
404 The specified repository or milestone does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/milestones/{milestone_id}
GET /repositories/{workspace}/{repo_slug}/versions

Returns the versions that have been defined in the issue tracker. This resource is only available on repositories that have the issue tracker enabled.

operationId: IssueTracker_listDefinedVersions

Responses

200 The versions that have been defined in the issue tracker.
404 The specified repository does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/versions
GET /repositories/{workspace}/{repo_slug}/versions/{version_id}

Returns the specified issue tracker version object.

operationId: IssueTracker_getDefinedVersionForIssues

Responses

200 The specified version object.
404 The specified repository or version does not exist or does not have the issue tracker enabled.
GET /repositories/{workspace}/{repo_slug}/versions/{version_id}

Pipelines 25 endpoints

GET /repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables

Find deployment environment level variables.

operationId: Pipelines_listEnvironmentVariables

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
environment_uuid path required string The environment.

Responses

200 The retrieved deployment variables.
GET /repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables
GET /repositories/{workspace}/{repo_slug}/pipelines

Find pipelines

operationId: Pipelines_list

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.

Responses

200 The matching pipelines.
GET /repositories/{workspace}/{repo_slug}/pipelines
GET /repositories/{workspace}/{repo_slug}/pipelines-config/caches

Retrieve the repository pipelines caches.

operationId: Pipelines_getCaches

Parameters

Name In Required Type Description
workspace path required string The account.
repo_slug path required string The repository.

Responses

200 The list of caches for the given repository.
404 The account or repository was not found.
GET /repositories/{workspace}/{repo_slug}/pipelines-config/caches
GET /repositories/{workspace}/{repo_slug}/pipelines-config/caches/{cache_uuid}/content-uri

Retrieve the URI of the content of the specified cache.

operationId: Pipelines_getCacheContentUri

Parameters

Name In Required Type Description
workspace path required string The account.
repo_slug path required string The repository.
cache_uuid path required string The UUID of the cache.

Responses

200 The cache content uri.
404 The workspace, repository or cache_uuid with given UUID was not found.
GET /repositories/{workspace}/{repo_slug}/pipelines-config/caches/{cache_uuid}/content-uri
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}

Retrieve a specified pipeline

operationId: Pipelines_getSpecifiedPipeline

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
pipeline_uuid path required string The pipeline UUID.

Responses

200 The pipeline.
404 No account, repository or pipeline with the UUID provided exists.
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps

Find steps for the given pipeline.

operationId: Pipelines_getPipelineSteps

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
pipeline_uuid path required string The UUID of the pipeline.

Responses

200 The steps.
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}

Retrieve a given step of a pipeline.

operationId: Pipelines_getStep

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
pipeline_uuid path required string The UUID of the pipeline.
step_uuid path required string The UUID of the step.

Responses

200 The step.
404 No account, repository, pipeline or step with the UUID provided exists for the pipeline with the UUID provided.
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/log

Retrieve the log file for a given step of a pipeline. This endpoint supports (and encourages!) the use of [HTTP Range requests](https://tools.ietf.org/html/rfc7233) to deal with potentially very large log files.

operationId: Pipelines_getStepLog

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
pipeline_uuid path required string The UUID of the pipeline.
step_uuid path required string The UUID of the step.

Responses

200 The raw log file for this pipeline step.
304 The log has the same etag as the provided If-None-Match header.
404 A pipeline with the given UUID does not exist, a step with the given UUID does not exist in the pipeline or a log file does not exist for the given step.
416 The requested range does not exist for requests that specified the [HTTP Range header](https://tools.ietf.org/html/rfc7233#section-3.1).
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/log
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/logs/{log_uuid}

Retrieve the log file for a build container or service container. This endpoint supports (and encourages!) the use of [HTTP Range requests](https://tools.ietf.org/html/rfc7233) to deal with potentially very large log files.

operationId: Pipelines_getStepLogs

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
pipeline_uuid path required string The UUID of the pipeline.
step_uuid path required string The UUID of the step.
log_uuid path required string For the main build container specify the step UUID; for a service container specify the service container UUID

Responses

200 The raw log file for the build container or service container.
404 No account, repository, pipeline, step or log exist for the provided path.
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/logs/{log_uuid}
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports
operationId: Pipelines_getTestReportsForStep

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
pipeline_uuid path required string The UUID of the pipeline.
step_uuid path required string The UUID of the step.

Responses

200 A summary of test reports for this pipeline step.
404 No account, repository, pipeline, step or test reports exist for the provided path.
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports/test_cases
operationId: Pipelines_getTestCasesForStep

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
pipeline_uuid path required string The UUID of the pipeline.
step_uuid path required string The UUID of the step.

Responses

200 Test cases for this pipeline step.
404 No account, repository, pipeline, step or test reports exist for the provided path.
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports/test_cases
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports/test_cases/{test_case_uuid}/test_case_reasons
operationId: Pipelines_getTestCaseReasons

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
pipeline_uuid path required string The UUID of the pipeline.
step_uuid path required string The UUID of the step.
test_case_uuid path required string The UUID of the test case.

Responses

200 Test case reasons (output).
404 No account, repository, pipeline, step or test case with the UUID provided exists for the pipeline with the UUID provided.
GET /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/steps/{step_uuid}/test_reports/test_cases/{test_case_uuid}/test_case_reasons
GET /repositories/{workspace}/{repo_slug}/pipelines_config

Retrieve the repository pipelines configuration.

operationId: Pipelines_getConfiguration

Parameters

Name In Required Type Description
workspace path required string The account.
repo_slug path required string The repository.

Responses

200 The repository pipelines configuration.
GET /repositories/{workspace}/{repo_slug}/pipelines_config
GET /repositories/{workspace}/{repo_slug}/pipelines_config/schedules

Retrieve the configured schedules for the given repository.

operationId: Pipelines_listSchedules

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.

Responses

200 The list of schedules.
404 The account or repository was not found.
GET /repositories/{workspace}/{repo_slug}/pipelines_config/schedules
GET /repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid}

Retrieve a schedule by its UUID.

operationId: Pipelines_getConfigSchedule

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
schedule_uuid path required string The uuid of the schedule.

Responses

200 The requested schedule.
404 The account, repository or schedule was not found.
GET /repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid}
GET /repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid}/executions

Retrieve the executions of a given schedule.

operationId: Pipelines_listScheduleExecutions

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
schedule_uuid path required string The uuid of the schedule.

Responses

200 The list of executions of a schedule.
404 The account or repository was not found.
GET /repositories/{workspace}/{repo_slug}/pipelines_config/schedules/{schedule_uuid}/executions
GET /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/key_pair

Retrieve the repository SSH key pair excluding the SSH private key. The private key is a write only field and will never be exposed in the logs or the REST API.

operationId: Pipelines_getKeyPair

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.

Responses

200 The SSH key pair.
404 The account, repository or SSH key pair was not found.
GET /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/key_pair
GET /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts

Find repository level known hosts.

operationId: Pipelines_listKnownHosts

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.

Responses

200 The retrieved known hosts.
GET /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts
GET /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts/{known_host_uuid}

Retrieve a repository level known host.

operationId: Pipelines_getKnownHost

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
known_host_uuid path required string The UUID of the known host to retrieve.

Responses

200 The known host.
404 The account, repository or known host with the specified UUID was not found.
GET /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts/{known_host_uuid}
GET /repositories/{workspace}/{repo_slug}/pipelines_config/variables

Find repository level variables.

operationId: Pipelines_listRepositoryVariables

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.

Responses

200 The retrieved variables.
GET /repositories/{workspace}/{repo_slug}/pipelines_config/variables
GET /repositories/{workspace}/{repo_slug}/pipelines_config/variables/{variable_uuid}

Retrieve a repository level variable.

operationId: Pipelines_getRepositoryVariable

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
variable_uuid path required string The UUID of the variable to retrieve.

Responses

200 The variable.
404 The account, repository or variable with the specified UUID was not found.
GET /repositories/{workspace}/{repo_slug}/pipelines_config/variables/{variable_uuid}
GET /workspaces/{workspace}/pipelines-config/identity/oidc/.well-known/openid-configuration

This is part of OpenID Connect for Pipelines, see https://support.atlassian.com/bitbucket-cloud/docs/integrate-pipelines-with-resource-servers-using-oidc/

operationId: Pipelines_getOpenIdConfiguration

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.

Responses

200 The OpenID configuration
404 The workspace was not found.
GET /workspaces/{workspace}/pipelines-config/identity/oidc/.well-known/openid-configuration
GET /workspaces/{workspace}/pipelines-config/identity/oidc/keys.json

This is part of OpenID Connect for Pipelines, see https://support.atlassian.com/bitbucket-cloud/docs/integrate-pipelines-with-resource-servers-using-oidc/

operationId: Pipelines_getOidcKeys

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.

Responses

200 The keys in JSON web key format
404 The workspace was not found.
GET /workspaces/{workspace}/pipelines-config/identity/oidc/keys.json
GET /workspaces/{workspace}/pipelines-config/variables

Find workspace level variables.

operationId: Pipelines_listWorkspaceVariables

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.

Responses

200 The found workspace level variables.
GET /workspaces/{workspace}/pipelines-config/variables
GET /workspaces/{workspace}/pipelines-config/variables/{variable_uuid}

Retrieve a workspace level variable.

operationId: Pipelines_getVariableForWorkspace

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
variable_uuid path required string The UUID of the variable to retrieve.

Responses

200 The variable.
404 The workspace or variable with the given UUID was not found.
GET /workspaces/{workspace}/pipelines-config/variables/{variable_uuid}

Projects 7 endpoints

GET /workspaces/{workspace}/projects/{project_key}/default-reviewers

Return a list of all default reviewers for a project. This is a list of users that will be added as default reviewers to pull requests for any repository within the project.

operationId: Projects_listDefaultReviewers

Responses

200 The list of project default reviewers
403 If the authenticated user does not have admin access to the project
404 If the workspace or project does not exist at this location
GET /workspaces/{workspace}/projects/{project_key}/default-reviewers
GET /workspaces/{workspace}/projects/{project_key}/default-reviewers/{selected_user}

Returns the specified default reviewer.

operationId: Projects_getReviewer

Responses

200 The specified user that is a default reviewer
400 If the specified user is not a default reviewer for the project
403 If the authenticated user does not have admin access to the project
404 If the specified user, project, or workspace does not exist
GET /workspaces/{workspace}/projects/{project_key}/default-reviewers/{selected_user}
GET /workspaces/{workspace}/projects/{project_key}/permissions-config/groups

Returns a paginated list of explicit group permissions for the given project. This endpoint does not support BBQL features.

operationId: Projects_listGroupPermissions

Responses

200 Paginated list of project group permissions
401 The user couldn't be authenticated.
403 The user doesn't have admin access to the project.
404 One or both of the workspace and project don't exist for the given identifiers or the requesting user is not authenticated
GET /workspaces/{workspace}/projects/{project_key}/permissions-config/groups
GET /workspaces/{workspace}/projects/{project_key}/permissions-config/groups/{group_slug}

Returns the group permission for a given group and project. Only users with admin permission for the project may access this resource. Permissions can be: * `admin` * `create-repo` * `write` * `read` * `none`

operationId: Projects_getGroupPermission

Responses

200 Project group permission
401 The user couldn't be authenticated.
403 The user doesn't have admin access to the project.
404 One or more of the workspace, project, and group doesn't exist for the given identifiers or the requesting user is not authenticated
GET /workspaces/{workspace}/projects/{project_key}/permissions-config/groups/{group_slug}
GET /workspaces/{workspace}/projects/{project_key}/permissions-config/users

Returns a paginated list of explicit user permissions for the given project. This endpoint does not support BBQL features.

operationId: Projects_listUserPermissions

Responses

200 Paginated list of explicit user permissions.
401 The user couldn't be authenticated.
403 The user doesn't have admin access to the project.
404 One or both of the workspace and project don't exist for the given identifiers or the requesting user is not authenticated
GET /workspaces/{workspace}/projects/{project_key}/permissions-config/users
GET /workspaces/{workspace}/projects/{project_key}/permissions-config/users/{selected_user_id}

Returns the explicit user permission for a given user and project. Only users with admin permission for the project may access this resource. Permissions can be: * `admin` * `create-repo` * `write` * `read` * `none`

operationId: Projects_getUserPermission

Responses

200 Explicit user permission for user and project
401 The user couldn't be authenticated.
403 The requesting user isn't an admin of the project.
404 One or more of the workspace, project, and selected user doesn't exist for the given identifiers or the requesting user is not authenticated
GET /workspaces/{workspace}/projects/{project_key}/permissions-config/users/{selected_user_id}
GET /workspaces/{workspace}/projects/{project_key}

Returns the requested project.

operationId: Projects_getByWorkspace

Responses

200 The project that is part of a workspace.
401 The request wasn't authenticated.
403 The requesting user isn't authorized to access the project.
404 A project isn't hosted at this location.
GET /workspaces/{workspace}/projects/{project_key}

Pullrequests 19 endpoints

GET /pullrequests/{selected_user}

Returns all pull requests authored by the specified user. By default only open pull requests are returned. This can be controlled using the `state` query parameter. To retrieve pull requests that are in one of multiple states, repeat the `state` parameter for each individual state. This endpoint also supports filtering and sorting of the results. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for more details.

operationId: Pullrequests_listForUser

Parameters

Name In Required Type Description
state query optional string Only return pull requests that are in this state. This parameter can be repeated.

Responses

200 All pull requests authored by the specified user.
404 If the specified user does not exist.
GET /pullrequests/{selected_user}
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/pullrequests

Returns a paginated list of all pull requests as part of which this commit was reviewed. Pull Request Commit Links app must be installed first before using this API; installation automatically occurs when 'Go to pull request' is clicked from the web interface for a commit's details.

operationId: Pullrequests_listContainingCommit

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces
repo_slug path required string The repository; either the UUID in curly braces, or the slug
commit path required string The SHA1 of the commit
page query optional integer Which page to retrieve
pagelen query optional integer How many pull requests to retrieve per page

Responses

200 The paginated list of pull requests.
202 The repository's pull requests are still being indexed.
404 Either the repository does not exist, or pull request commit links have not yet been indexed.
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/pullrequests
GET /repositories/{workspace}/{repo_slug}/default-reviewers

Returns the repository's default reviewers. These are the users that are automatically added as reviewers on every new pull request that is created. To obtain the repository's default reviewers as well as the default reviewers inherited from the project, use the [effective-default-reveiwers](https://dac-static.atlassian.com) endpoint.

operationId: Pullrequests_listDefaultReviewers

Responses

200 The paginated list of default reviewers
403 If the authenticated user does not have access to view the default reviewers
GET /repositories/{workspace}/{repo_slug}/default-reviewers
GET /repositories/{workspace}/{repo_slug}/default-reviewers/{target_username}

Returns the specified reviewer. This can be used to test whether a user is among the repository's default reviewers list. A 404 indicates that that specified user is not a default reviewer.

operationId: Pullrequests_getDefaultReviewer

Responses

200 The specified user is a default reviewer
403 If the authenticated user does not have access to check if the specified user is a default reviewer
404 If the specified user does not exist or is not a default reviewer
GET /repositories/{workspace}/{repo_slug}/default-reviewers/{target_username}
GET /repositories/{workspace}/{repo_slug}/effective-default-reviewers

Returns the repository's effective default reviewers. This includes both default reviewers defined at the repository level as well as those inherited from its project. These are the users that are automatically added as reviewers on every new pull request that is created.

operationId: Pullrequests_listEffectiveDefaultReviewers

Responses

200 The paginated list of effective default reviewers
403 If the authenticated user does not have access to view the default reviewers
GET /repositories/{workspace}/{repo_slug}/effective-default-reviewers
GET /repositories/{workspace}/{repo_slug}/pullrequests

Returns all pull requests on the specified repository. By default only open pull requests are returned. This can be controlled using the `state` query parameter. To retrieve pull requests that are in one of multiple states, repeat the `state` parameter for each individual state. This endpoint also supports filtering and sorting of the results. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for more details.

operationId: Pullrequests_list

Parameters

Name In Required Type Description
state query optional string Only return pull requests that are in this state. This parameter can be repeated.

Responses

200 All pull requests on the specified repository.
401 If the repository is private and the request was not authenticated.
404 If the specified repository does not exist.
GET /repositories/{workspace}/{repo_slug}/pullrequests
GET /repositories/{workspace}/{repo_slug}/pullrequests/activity

Returns a paginated list of the pull request's activity log. This handler serves both a v20 and internal endpoint. The v20 endpoint returns reviewer comments, updates, approvals and request changes. The internal endpoint includes those plus tasks and attachments. Comments created on a file or a line of code have an inline property. Comment example: ``` { "pagelen": 20, "values": [ { "comment": { "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695/comments/118571088" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695/_/diff#comment-118571088" } }, "deleted": false, "pullrequest": { "type": "pullrequest", "id": 5695, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695" } }, "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it" }, "content": { "raw": "inline with to a dn from lines", "markup": "markdown", "html": "<p>inline with to a dn from lines</p>", "type": "rendered" }, "created_on": "2019-09-27T00:33:46.039178+00:00", "user": { "display_name": "Name Lastname", "uuid": "{}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/%7B%7D" }, "html": { "href": "https://bitbucket.org/%7B%7D/" }, "avatar": { "href": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/:/128" } }, "type": "user", "nickname": "Name", "account_id": "" }, "created_on": "2019-09-27T00:33:46.039178+00:00", "user": { "display_name": "Name Lastname", "uuid": "{}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/%7B%7D" }, "html": { "href": "https://bitbucket.org/%7B%7D/" }, "avatar": { "href": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/:/128" } }, "type": "user", "nickname": "Name", "account_id": "" }, "updated_on": "2019-09-27T00:33:46.055384+00:00", "inline": { "context_lines": "", "to": null, "path": "", "outdated": false, "from": 211 }, "type": "pullrequest_comment", "id": 118571088 }, "pull_request": { "type": "pullrequest", "id": 5695, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695" } }, "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it" } } ] } ``` Updates include a state property of OPEN, MERGED, or DECLINED. Update example: ``` { "pagelen": 20, "values": [ { "update": { "description": "", "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it", "destination": { "commit": { "type": "commit", "hash": "6a2c16e4a152", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/commit/6a2c16e4a152" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/commits/6a2c16e4a152" } } }, "branch": { "name": "master" }, "repository": { "name": "Atlaskit-MK-2", "type": "repository", "full_name": "atlassian/atlaskit-mk-2", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2" }, "avatar": { "href": "https://bytebucket.org/ravatar/%7B%7D?ts=js" } }, "uuid": "{}" } }, "reason": "", "source": { "commit": { "type": "commit", "hash": "728c8bad1813", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/commit/728c8bad1813" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/commits/728c8bad1813" } } }, "branch": { "name": "username/NONE-add-onClick-prop-for-accessibility" }, "repository": { "name": "Atlaskit-MK-2", "type": "repository", "full_name": "atlassian/atlaskit-mk-2", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2" }, "avatar": { "href": "https://bytebucket.org/ravatar/%7B%7D?ts=js" } }, "uuid": "{}" } }, "state": "OPEN", "author": { "display_name": "Name Lastname", "uuid": "{}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/%7B%7D" }, "html": { "href": "https://bitbucket.org/%7B%7D/" }, "avatar": { "href": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/:/128" } }, "type": "user", "nickname": "Name", "account_id": "" }, "date": "2019-05-10T06:48:25.305565+00:00" }, "pull_request": { "type": "pullrequest", "id": 5695, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695" } }, "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it" } } ] } ``` Approval example: ``` { "pagelen": 20, "values": [ { "approval": { "date": "2019-09-27T00:37:19.849534+00:00", "pullrequest": { "type": "pullrequest", "id": 5695, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695" } }, "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it" }, "user": { "display_name": "Name Lastname", "uuid": "{}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/%7B%7D" }, "html": { "href": "https://bitbucket.org/%7B%7D/" }, "avatar": { "href": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/:/128" } }, "type": "user", "nickname": "Name", "account_id": "" } }, "pull_request": { "type": "pullrequest", "id": 5695, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695" } }, "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it" } } ] } ```

operationId: Pullrequests_listActivityLog

Responses

200 The pull request activity log
401 If the repository is private and the request was not authenticated.
404 If the specified repository does not exist.
GET /repositories/{workspace}/{repo_slug}/pullrequests/activity
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}

Returns the specified pull request.

operationId: Pullrequests_getPullRequest

Responses

200 The pull request object
401 If the repository is private and the request was not authenticated.
404 If the repository or pull request does not exist
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/activity

Returns a paginated list of the pull request's activity log. This handler serves both a v20 and internal endpoint. The v20 endpoint returns reviewer comments, updates, approvals and request changes. The internal endpoint includes those plus tasks and attachments. Comments created on a file or a line of code have an inline property. Comment example: ``` { "pagelen": 20, "values": [ { "comment": { "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695/comments/118571088" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695/_/diff#comment-118571088" } }, "deleted": false, "pullrequest": { "type": "pullrequest", "id": 5695, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695" } }, "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it" }, "content": { "raw": "inline with to a dn from lines", "markup": "markdown", "html": "<p>inline with to a dn from lines</p>", "type": "rendered" }, "created_on": "2019-09-27T00:33:46.039178+00:00", "user": { "display_name": "Name Lastname", "uuid": "{}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/%7B%7D" }, "html": { "href": "https://bitbucket.org/%7B%7D/" }, "avatar": { "href": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/:/128" } }, "type": "user", "nickname": "Name", "account_id": "" }, "created_on": "2019-09-27T00:33:46.039178+00:00", "user": { "display_name": "Name Lastname", "uuid": "{}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/%7B%7D" }, "html": { "href": "https://bitbucket.org/%7B%7D/" }, "avatar": { "href": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/:/128" } }, "type": "user", "nickname": "Name", "account_id": "" }, "updated_on": "2019-09-27T00:33:46.055384+00:00", "inline": { "context_lines": "", "to": null, "path": "", "outdated": false, "from": 211 }, "type": "pullrequest_comment", "id": 118571088 }, "pull_request": { "type": "pullrequest", "id": 5695, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695" } }, "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it" } } ] } ``` Updates include a state property of OPEN, MERGED, or DECLINED. Update example: ``` { "pagelen": 20, "values": [ { "update": { "description": "", "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it", "destination": { "commit": { "type": "commit", "hash": "6a2c16e4a152", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/commit/6a2c16e4a152" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/commits/6a2c16e4a152" } } }, "branch": { "name": "master" }, "repository": { "name": "Atlaskit-MK-2", "type": "repository", "full_name": "atlassian/atlaskit-mk-2", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2" }, "avatar": { "href": "https://bytebucket.org/ravatar/%7B%7D?ts=js" } }, "uuid": "{}" } }, "reason": "", "source": { "commit": { "type": "commit", "hash": "728c8bad1813", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/commit/728c8bad1813" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/commits/728c8bad1813" } } }, "branch": { "name": "username/NONE-add-onClick-prop-for-accessibility" }, "repository": { "name": "Atlaskit-MK-2", "type": "repository", "full_name": "atlassian/atlaskit-mk-2", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2" }, "avatar": { "href": "https://bytebucket.org/ravatar/%7B%7D?ts=js" } }, "uuid": "{}" } }, "state": "OPEN", "author": { "display_name": "Name Lastname", "uuid": "{}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/%7B%7D" }, "html": { "href": "https://bitbucket.org/%7B%7D/" }, "avatar": { "href": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/:/128" } }, "type": "user", "nickname": "Name", "account_id": "" }, "date": "2019-05-10T06:48:25.305565+00:00" }, "pull_request": { "type": "pullrequest", "id": 5695, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695" } }, "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it" } } ] } ``` Approval example: ``` { "pagelen": 20, "values": [ { "approval": { "date": "2019-09-27T00:37:19.849534+00:00", "pullrequest": { "type": "pullrequest", "id": 5695, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695" } }, "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it" }, "user": { "display_name": "Name Lastname", "uuid": "{}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/%7B%7D" }, "html": { "href": "https://bitbucket.org/%7B%7D/" }, "avatar": { "href": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/:/128" } }, "type": "user", "nickname": "Name", "account_id": "" } }, "pull_request": { "type": "pullrequest", "id": 5695, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlaskit-mk-2/pullrequests/5695" }, "html": { "href": "https://bitbucket.org/atlassian/atlaskit-mk-2/pull-requests/5695" } }, "title": "username/NONE: small change from onFocus to onClick to handle tabbing through the page and not expand the editor unless a click event triggers it" } } ] } ```

operationId: Pullrequests_listActivityLog

Responses

200 The pull request activity log
401 If the repository is private and the request was not authenticated.
404 If the specified repository does not exist.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/activity
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments

Returns a paginated list of the pull request's comments. This includes both global, inline comments and replies. The default sorting is oldest to newest and can be overridden with the `sort` query parameter. This endpoint also supports filtering and sorting of the results. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for more details.

operationId: Pullrequests_listComments

Responses

200 A paginated list of comments made on the given pull request, in chronological order.
403 If the authenticated user does not have access to the pull request.
404 If the pull request does not exist.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}

Returns a specific pull request comment.

operationId: Pullrequests_getComment

Responses

200 The comment.
403 If the authenticated user does not have access to the pull request.
404 If the comment does not exist.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/commits

Returns a paginated list of the pull request's commits. These are the commits that are being merged into the destination branch when the pull requests gets accepted.

operationId: Pullrequests_listCommits

Responses

200 A paginated list of commits made on the given pull request, in chronological order. This list will be empty if the source branch no longer exists.
403 If the authenticated user does not have access to the pull request.
404 If the pull request does not exist or the source branch is from a forked repository which no longer exists.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/commits
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diff

Redirects to the [repository diff](/cloud/bitbucket/rest/api-group-commits/#api-repositories-workspace-repo-slug-diff-spec-get) with the revspec that corresponds to the pull request.

operationId: Pullrequests_listDiff

Responses

default Redirects to the [repository diff](/cloud/bitbucket/rest/api-group-commits/#api-repositories-workspace-repo-slug-diff-spec-get) with the revspec that corresponds to the pull request.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diff
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diffstat

Redirects to the [repository diffstat](/cloud/bitbucket/rest/api-group-commits/#api-repositories-workspace-repo-slug-diffstat-spec-get) with the revspec that corresponds to the pull request.

operationId: Pullrequests_getDiffstat

Responses

default Redirects to the [repository diffstat](/cloud/bitbucket/rest/api-group-commits/#api-repositories-workspace-repo-slug-diffstat-spec-get) with the revspec that corresponds to pull request.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/diffstat
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge/task-status/{task_id}

When merging a pull request takes too long, the client receives a task ID along with a 202 status code. The task ID can be used in a call to this endpoint to check the status of a merge task. ``` curl -X GET https://api.bitbucket.org/2.0/repositories/atlassian/bitbucket/pullrequests/2286/merge/task-status/<task_id> ``` If the merge task is not yet finished, a PENDING status will be returned. ``` HTTP/2 200 { "task_status": "PENDING", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bitbucket/pullrequests/2286/merge/task-status/<task_id>" } } } ``` If the merge was successful, a SUCCESS status will be returned. ``` HTTP/2 200 { "task_status": "SUCCESS", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bitbucket/pullrequests/2286/merge/task-status/<task_id>" } }, "merge_result": <the merged pull request object> } ``` If the merge task failed, an error will be returned. ``` { "type": "error", "error": { "message": "<error message>" } } ```

operationId: Pullrequests_mergeTaskStatus

Responses

200 Returns a task status if the merge is either pending or successful, and if it is successful, a pull request
400 If the provided task ID does not relate to this pull request, or if something went wrong during the merge operation
403 The user making the request does not have permission to the repo and is different from the user who queued the task
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge/task-status/{task_id}
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/patch

Redirects to the [repository patch](/cloud/bitbucket/rest/api-group-commits/#api-repositories-workspace-repo-slug-patch-spec-get) with the revspec that corresponds to pull request.

operationId: Pullrequests_getPatch

Responses

default Redirects to the [repository patch](/cloud/bitbucket/rest/api-group-commits/#api-repositories-workspace-repo-slug-patch-spec-get) with the revspec that corresponds to pull request.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/patch
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks

Returns a paginated list of the pull request's tasks. This endpoint supports filtering and sorting of the results by the 'task' field. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for more details.

operationId: Pullrequests_listTasksOnPullRequest

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for details.
sort query optional string Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). Defaults to `created_on`.
pagelen query optional integer 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.

Responses

200 A paginated list of pull request tasks for the given pull request.
400 If the user provides an invalid filter, sort, or fields query parameter.
403 If the authenticated user does not have access to the pull request.
404 If the pull request does not exist.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks/{task_id}

Returns a specific pull request task.

operationId: Pullrequests_getTask

Responses

200 The task.
403 If the authenticated user does not have access to the pull request.
404 If the task does not exist.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks/{task_id}
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/statuses

Returns all statuses (e.g. build results) for the given pull request.

operationId: Pullrequests_listCommitStatuses

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). Defaults to `created_on`.

Responses

200 A paginated list of all commit statuses for this pull request.
401 If the repository is private and the request was not authenticated.
404 If the specified repository or pull request does not exist.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/statuses

Refs 5 endpoints

GET /repositories/{workspace}/{repo_slug}/refs

Returns the branches and tags in the repository. By default, results will be in the order the underlying source control system returns them and identical to the ordering one sees when running "$ git show-ref". Note that this follows simple lexical ordering of the ref names. This can be undesirable as it does apply any natural sorting semantics, meaning for instance that refs are sorted ["branch1", "branch10", "branch2", "v10", "v11", "v9"] instead of ["branch1", "branch2", "branch10", "v9", "v10", "v11"]. Sorting can be changed using the ?sort= query parameter. When using ?sort=name to explicitly sort on ref name, Bitbucket will apply natural sorting and interpret numerical values as numbers instead of strings.

operationId: Refs_listBranchesAndTags

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). The `name` field is handled specially for refs in that, if specified as the sort field, it uses a natural sort order instead of the default lexicographical sort order. For example, it will return ['1.1', '1.2', '1.10'] instead of ['1.1', '1.10', '1.2'].

Responses

200 A paginated list of refs matching any filter criteria that were provided.
403 If the repository is private and the authenticated user does not have access to it.
404 The specified repository does not exist.
GET /repositories/{workspace}/{repo_slug}/refs
GET /repositories/{workspace}/{repo_slug}/refs/branches

Returns a list of all open branches within the specified repository. Results will be in the order the source control manager returns them. Branches support [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) that can be used to search for specific branches. For instance, to find all branches that have "stab" in their name: ``` curl -s https://api.bitbucket.org/2.0/repositories/atlassian/aui/refs/branches -G --data-urlencode 'q=name ~ "stab"' ``` By default, results will be in the order the underlying source control system returns them and identical to the ordering one sees when running "$ git branch --list". Note that this follows simple lexical ordering of the ref names. This can be undesirable as it does apply any natural sorting semantics, meaning for instance that tags are sorted ["v10", "v11", "v9"] instead of ["v9", "v10", "v11"]. Sorting can be changed using the ?q= query parameter. When using ?q=name to explicitly sort on ref name, Bitbucket will apply natural sorting and interpret numerical values as numbers instead of strings.

operationId: Refs_listOpenBranches

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). The `name` field is handled specially for branches in that, if specified as the sort field, it uses a natural sort order instead of the default lexicographical sort order. For example, it will return ['branch1', 'branch2', 'branch10'] instead of ['branch1', 'branch10', 'branch2'].

Responses

200 A paginated list of branches matching any filter criteria that were provided.
403 If the repository is private and the authenticated user does not have access to it.
404 The specified repository does not exist.
GET /repositories/{workspace}/{repo_slug}/refs/branches
GET /repositories/{workspace}/{repo_slug}/refs/branches/{name}

Returns a branch object within the specified repository. This call requires authentication. Private repositories require the caller to authenticate with an account that has appropriate authorization. For Git, the branch name should not include any prefixes (e.g. refs/heads).

operationId: Refs_getBranch

Responses

200 The branch object.
403 If the repository is private and the authenticated user does not have access to it.
404 The specified repository or branch does not exist.
GET /repositories/{workspace}/{repo_slug}/refs/branches/{name}
GET /repositories/{workspace}/{repo_slug}/refs/tags

Returns the tags in the repository. By default, results will be in the order the underlying source control system returns them and identical to the ordering one sees when running "$ git tag --list". Note that this follows simple lexical ordering of the ref names. This can be undesirable as it does apply any natural sorting semantics, meaning for instance that tags are sorted ["v10", "v11", "v9"] instead of ["v9", "v10", "v11"]. Sorting can be changed using the ?sort= query parameter. When using ?sort=name to explicitly sort on ref name, Bitbucket will apply natural sorting and interpret numerical values as numbers instead of strings.

operationId: Refs_listTags

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). The `name` field is handled specially for tags in that, if specified as the sort field, it uses a natural sort order instead of the default lexicographical sort order. For example, it will return ['1.1', '1.2', '1.10'] instead of ['1.1', '1.10', '1.2'].

Responses

200 A paginated list of tags matching any filter criteria that were provided.
403 If the repository is private and the authenticated user does not have access to it.
404 The specified repository does not exist.
GET /repositories/{workspace}/{repo_slug}/refs/tags
GET /repositories/{workspace}/{repo_slug}/refs/tags/{name}

Returns the specified tag. ``` $ curl -s https://api.bitbucket.org/2.0/repositories/seanfarley/hg/refs/tags/3.8 -G | jq . { "name": "3.8", "links": { "commits": { "href": "https://api.bitbucket.org/2.0/repositories/seanfarley/hg/commits/3.8" }, "self": { "href": "https://api.bitbucket.org/2.0/repositories/seanfarley/hg/refs/tags/3.8" }, "html": { "href": "https://bitbucket.org/seanfarley/hg/commits/tag/3.8" } }, "tagger": { "raw": "Matt Mackall <mpm@selenic.com>", "type": "author", "user": { "username": "mpmselenic", "nickname": "mpmselenic", "display_name": "Matt Mackall", "type": "user", "uuid": "{a4934530-db4c-419c-a478-9ab4964c2ee7}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/mpmselenic" }, "html": { "href": "https://bitbucket.org/mpmselenic/" }, "avatar": { "href": "https://bitbucket.org/account/mpmselenic/avatar/32/" } } } }, "date": "2016-05-01T18:52:25+00:00", "message": "Added tag 3.8 for changeset f85de28eae32", "type": "tag", "target": { "hash": "f85de28eae32e7d3064b1a1321309071bbaaa069", "repository": { "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/seanfarley/hg" }, "html": { "href": "https://bitbucket.org/seanfarley/hg" }, "avatar": { "href": "https://bitbucket.org/seanfarley/hg/avatar/32/" } }, "type": "repository", "name": "hg", "full_name": "seanfarley/hg", "uuid": "{c75687fb-e99d-4579-9087-190dbd406d30}" }, "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/seanfarley/hg/commit/f85de28eae32e7d3064b1a1321309071bbaaa069" }, "comments": { "href": "https://api.bitbucket.org/2.0/repositories/seanfarley/hg/commit/f85de28eae32e7d3064b1a1321309071bbaaa069/comments" }, "patch": { "href": "https://api.bitbucket.org/2.0/repositories/seanfarley/hg/patch/f85de28eae32e7d3064b1a1321309071bbaaa069" }, "html": { "href": "https://bitbucket.org/seanfarley/hg/commits/f85de28eae32e7d3064b1a1321309071bbaaa069" }, "diff": { "href": "https://api.bitbucket.org/2.0/repositories/seanfarley/hg/diff/f85de28eae32e7d3064b1a1321309071bbaaa069" }, "approve": { "href": "https://api.bitbucket.org/2.0/repositories/seanfarley/hg/commit/f85de28eae32e7d3064b1a1321309071bbaaa069/approve" }, "statuses": { "href": "https://api.bitbucket.org/2.0/repositories/seanfarley/hg/commit/f85de28eae32e7d3064b1a1321309071bbaaa069/statuses" } }, "author": { "raw": "Sean Farley <sean@farley.io>", "type": "author", "user": { "username": "seanfarley", "nickname": "seanfarley", "display_name": "Sean Farley", "type": "user", "uuid": "{a295f8a8-5876-4d43-89b5-3ad8c6c3c51d}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/seanfarley" }, "html": { "href": "https://bitbucket.org/seanfarley/" }, "avatar": { "href": "https://bitbucket.org/account/seanfarley/avatar/32/" } } } }, "parents": [ { "hash": "9a98d0e5b07fc60887f9d3d34d9ac7d536f470d2", "type": "commit", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/seanfarley/hg/commit/9a98d0e5b07fc60887f9d3d34d9ac7d536f470d2" }, "html": { "href": "https://bitbucket.org/seanfarley/hg/commits/9a98d0e5b07fc60887f9d3d34d9ac7d536f470d2" } } } ], "date": "2016-05-01T04:21:17+00:00", "message": "debian: alphabetize build deps", "type": "commit" } } ```

operationId: Refs_tagsByNameGet

Responses

200 The tag object.
403 If the repository is private and the authenticated user does not have access to it.
404 The specified repository or tag does not exist.
GET /repositories/{workspace}/{repo_slug}/refs/tags/{name}

Reports 4 endpoints

GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports

Returns a paginated list of Reports linked to this commit.

operationId: Reports_listLinkedReports

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
commit path required string The commit for which to retrieve reports.

Responses

200 OK
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}

Returns a single Report matching the provided ID.

operationId: Reports_getSingleReport

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
commit path required string The commit the report belongs to.
reportId path required string Either the uuid or external-id of the report.

Responses

200 OK
404 The report with the given ID was not found.
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations

Returns a paginated list of Annotations for a specified report.

operationId: Reports_listAnnotations

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
commit path required string The commit for which to retrieve reports.
reportId path required string Uuid or external-if of the report for which to get annotations for.

Responses

200 OK
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations/{annotationId}

Returns a single Annotation matching the provided ID.

operationId: Reports_getAnnotation

Parameters

Name In Required Type Description
workspace path required string This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`.
repo_slug path required string The repository.
commit path required string The commit the report belongs to.
reportId path required string Either the uuid or external-id of the report.
annotationId path required string Either the uuid or external-id of the annotation.

Responses

200 OK
404 The annotation with the given ID was not found.
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations/{annotationId}

Repositories 13 endpoints

GET /repositories

Returns a paginated list of all public repositories. This endpoint also supports filtering and sorting of the results. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for more details.

operationId: Repositories_listPublicRepositories

Parameters

Name In Required Type Description
after query optional string Filter the results to include only repositories created on or after this [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp. Example: `YYYY-MM-DDTHH:mm:ss.sssZ`
role query optional string Filters the result based on the authenticated user's role on each repository. * **member**: returns repositories to which the user has explicit read access * **contributor**: returns repositories to which the user has explicit write access * **admin**: returns repositories to which the user has explicit administrator access * **owner**: returns all repositories owned by the current user
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). `role` parameter must also be specified.
sort query optional string Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

Responses

200 All public repositories.
GET /repositories
GET /repositories/{workspace}

Returns a paginated list of all repositories owned by the specified workspace. The result can be narrowed down based on the authenticated user's role. E.g. with `?role=contributor`, only those repositories that the authenticated user has write access to are returned (this includes any repo the user is an admin on, as that implies write access). This endpoint also supports filtering and sorting of the results. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for more details.

operationId: Repositories_listInWorkspace

Parameters

Name In Required Type Description
role query optional string Filters the result based on the authenticated user's role on each repository. * **member**: returns repositories to which the user has explicit read access * **contributor**: returns repositories to which the user has explicit write access * **admin**: returns repositories to which the user has explicit administrator access * **owner**: returns all repositories owned by the current user
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

Responses

200 The repositories owned by the specified account.
404 If the specified account does not exist.
410 If the specified account marked as spam.
GET /repositories/{workspace}
GET /repositories/{workspace}/{repo_slug}

Returns the object describing this repository.

operationId: Repositories_getRepositoryDetails

Responses

200 The repository object.
403 If the repository is private and the authenticated user does not have access to it.
404 If no repository exists at this location.
GET /repositories/{workspace}/{repo_slug}
GET /repositories/{workspace}/{repo_slug}/forks

Returns a paginated list of all the forks of the specified repository.

operationId: Repositories_listForks

Parameters

Name In Required Type Description
role query optional string Filters the result based on the authenticated user's role on each repository. * **member**: returns repositories to which the user has explicit read access * **contributor**: returns repositories to which the user has explicit write access * **admin**: returns repositories to which the user has explicit administrator access * **owner**: returns all repositories owned by the current user
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

Responses

200 All forks.
GET /repositories/{workspace}/{repo_slug}/forks
GET /repositories/{workspace}/{repo_slug}/override-settings
operationId: Repositories_inheritanceStateGet

Responses

200 The repository setting inheritance state
404 If no repository exists at this location
GET /repositories/{workspace}/{repo_slug}/override-settings
GET /repositories/{workspace}/{repo_slug}/permissions-config/groups

Returns a paginated list of explicit group permissions for the given repository. This endpoint does not support BBQL features.

operationId: Repositories_listGroupPermissions

Responses

200 Paginated of explicit group permissions on the repository.
401 The user couldn't be authenticated.
403 The requesting user isn't an admin of the repository.
404 One or both of the workspace and repository doesn't exist for the given identifiers.
GET /repositories/{workspace}/{repo_slug}/permissions-config/groups
GET /repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug}

Returns the group permission for a given group slug and repository Only users with admin permission for the repository may access this resource. Permissions can be: * `admin` * `write` * `read` * `none`

operationId: Repositories_getGroupPermissions

Responses

200 Group permission for group slug and repository
401 The user couldn't be authenticated.
403 The requesting user isn't an admin of the repository.
404 The given user, workspace, and/or repository could not be found
GET /repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug}
GET /repositories/{workspace}/{repo_slug}/permissions-config/users

Returns a paginated list of explicit user permissions for the given repository. This endpoint does not support BBQL features.

operationId: Repositories_listUserPermissions

Responses

200 Paginated of explicit user permissions on the repository.
401 The user couldn't be authenticated.
403 The requesting user isn't an admin of the repository.
404 No repository exists for the given repository slug and workspace.
GET /repositories/{workspace}/{repo_slug}/permissions-config/users
GET /repositories/{workspace}/{repo_slug}/permissions-config/users/{selected_user_id}

Returns the explicit user permission for a given user and repository. Only users with admin permission for the repository may access this resource. Permissions can be: * `admin` * `write` * `read` * `none`

operationId: Repositories_explicitUserPermission

Responses

200 Explicit user permission for user and repository
401 The user couldn't be authenticated.
403 The requesting user isn't an admin of the repository.
404 One or both of the workspace and repository doesn't exist for the given identifiers.
GET /repositories/{workspace}/{repo_slug}/permissions-config/users/{selected_user_id}
GET /repositories/{workspace}/{repo_slug}/watchers

Returns a paginated list of all the watchers on the specified repository.

operationId: Repositories_listWatchers

Responses

200 A paginated list of all the watchers on the specified repository.
GET /repositories/{workspace}/{repo_slug}/watchers
GET /user/permissions/repositories

Returns an object for each repository the caller has explicit access to and their effective permission — the highest level of permission the caller has. This does not return public repositories that the user was not granted any specific permission in, and does not distinguish between explicit and implicit privileges. Permissions can be: * `admin` * `write` * `read` Results may be further [filtered or sorted](/cloud/bitbucket/rest/intro/#filtering) by repository or permission by adding the following query string parameters: * `q=repository.name="geordi"` or `q=permission>"read"` * `sort=repository.name` Note that the query parameter values need to be URL escaped so that `=` would become `%3D`.

operationId: Repositories_listUserPermissions

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Name of a response property sort the result by as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

Responses

200 Repository permissions for the repositories a caller has explicit access to.
GET /user/permissions/repositories
GET /repositories/{workspace}/{repo_slug}/hooks

Returns a paginated list of webhooks installed on this repository.

operationId: Repositories_listWebhooks

Responses

200 The paginated list of installed webhooks.
403 If the authenticated user does not have permission to access the webhooks.
404 If the repository does not exist.
GET /repositories/{workspace}/{repo_slug}/hooks
GET /repositories/{workspace}/{repo_slug}/hooks/{uid}

Returns the webhook with the specified id installed on the specified repository.

operationId: Repositories_getWebhookByUid

Responses

200 The webhook subscription object.
404 If the webhook or repository does not exist.
GET /repositories/{workspace}/{repo_slug}/hooks/{uid}

Snippets 13 endpoints

GET /snippets

Returns all snippets. Like pull requests, repositories and workspaces, the full set of snippets is defined by what the current user has access to. This includes all snippets owned by any of the workspaces the user is a member of, or snippets by other users that the current user is either watching or has collaborated on (for instance by commenting on it). To limit the set of returned snippets, apply the `?role=[owner|contributor|member]` query parameter where the roles are defined as follows: * `owner`: all snippets owned by the current user * `contributor`: all snippets owned by, or watched by the current user * `member`: created in a workspaces or watched by the current user When no role is specified, all public snippets are returned, as well as all privately owned snippets watched or commented on. The returned response is a normal paginated JSON list. This endpoint only supports `application/json` responses and no `multipart/form-data` or `multipart/related`. As a result, it is not possible to include the file contents.

operationId: Snippets_list

Parameters

Name In Required Type Description
role query optional string Filter down the result based on the authenticated user's role (`owner`, `contributor`, or `member`).

Responses

200 A paginated list of snippets.
404 If the snippet does not exist.
GET /snippets
GET /snippets/{workspace}

Identical to [`/snippets`](/cloud/bitbucket/rest/api-group-snippets/#api-snippets-get), except that the result is further filtered by the snippet owner and only those that are owned by `{workspace}` are returned.

operationId: Snippets_listInWorkspace

Parameters

Name In Required Type Description
role query optional string Filter down the result based on the authenticated user's role (`owner`, `contributor`, or `member`).

Responses

200 A paginated list of snippets.
404 If the user does not exist.
GET /snippets/{workspace}
GET /snippets/{workspace}/{encoded_id}

Retrieves a single snippet. Snippets support multiple content types: * application/json * multipart/related * multipart/form-data application/json ---------------- The default content type of the response is `application/json`. Since JSON is always `utf-8`, it cannot reliably contain file contents for files that are not text. Therefore, JSON snippet documents only contain the filename and links to the file contents. This means that in order to retrieve all parts of a snippet, N+1 requests need to be made (where N is the number of files in the snippet). multipart/related ----------------- To retrieve an entire snippet in a single response, use the `Accept: multipart/related` HTTP request header. $ curl -H "Accept: multipart/related" https://api.bitbucket.org/2.0/snippets/evzijst/1 Response: HTTP/1.1 200 OK Content-Length: 2214 Content-Type: multipart/related; start="snippet"; boundary="===============1438169132528273974==" MIME-Version: 1.0 --===============1438169132528273974== Content-Type: application/json; charset="utf-8" MIME-Version: 1.0 Content-ID: snippet { "links": { "self": { "href": "https://api.bitbucket.org/2.0/snippets/evzijst/kypj" }, "html": { "href": "https://bitbucket.org/snippets/evzijst/kypj" }, "comments": { "href": "https://api.bitbucket.org/2.0/snippets/evzijst/kypj/comments" }, "watchers": { "href": "https://api.bitbucket.org/2.0/snippets/evzijst/kypj/watchers" }, "commits": { "href": "https://api.bitbucket.org/2.0/snippets/evzijst/kypj/commits" } }, "id": kypj, "title": "My snippet", "created_on": "2014-12-29T22:22:04.790331+00:00", "updated_on": "2014-12-29T22:22:04.790331+00:00", "is_private": false, "files": { "foo.txt": { "links": { "self": { "href": "https://api.bitbucket.org/2.0/snippets/evzijst/kypj/files/367ab19/foo.txt" }, "html": { "href": "https://bitbucket.org/snippets/evzijst/kypj#file-foo.txt" } } }, "image.png": { "links": { "self": { "href": "https://api.bitbucket.org/2.0/snippets/evzijst/kypj/files/367ab19/image.png" }, "html": { "href": "https://bitbucket.org/snippets/evzijst/kypj#file-image.png" } } } ], "owner": { "username": "evzijst", "nickname": "evzijst", "display_name": "Erik van Zijst", "uuid": "{d301aafa-d676-4ee0-88be-962be7417567}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/evzijst" }, "html": { "href": "https://bitbucket.org/evzijst" }, "avatar": { "href": "https://bitbucket-staging-assetroot.s3.amazonaws.com/c/photos/2013/Jul/31/erik-avatar-725122544-0_avatar.png" } } }, "creator": { "username": "evzijst", "nickname": "evzijst", "display_name": "Erik van Zijst", "uuid": "{d301aafa-d676-4ee0-88be-962be7417567}", "links": { "self": { "href": "https://api.bitbucket.org/2.0/users/evzijst" }, "html": { "href": "https://bitbucket.org/evzijst" }, "avatar": { "href": "https://bitbucket-staging-assetroot.s3.amazonaws.com/c/photos/2013/Jul/31/erik-avatar-725122544-0_avatar.png" } } } } --===============1438169132528273974== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-ID: "foo.txt" Content-Disposition: attachment; filename="foo.txt" foo --===============1438169132528273974== Content-Type: image/png MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-ID: "image.png" Content-Disposition: attachment; filename="image.png" iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAYAAAD+MdrbAAABD0lEQVR4Ae3VMUoDQRTG8ccUaW2m TKONFxArJYJamCvkCnZTaa+VnQdJSBFl2SMsLFrEWNjZBZs0JgiL/+KrhhVmJRbCLPx4O+/DT2TB cbblJxf+UWFVVRNsEGAtgvJxnLm2H+A5RQ93uIl+3632PZyl/skjfOn9Gvdwmlcw5aPUwimG+NT5 EnNN036IaZePUuIcK533NVfal7/5yjWeot2z9ta1cAczHEf7I+3J0ws9Cgx0fsOFpmlfwKcWPuBQ 73Oc4FHzBaZ8llq4q1mr5B2mOUCt815qYR8eB1hG2VJ7j35q4RofaH7IG+Xrf/PfJhfmwtfFYoIN AqxFUD6OMxcvkO+UfKfkOyXfKdsv/AYCHMLVkHAFWgAAAABJRU5ErkJggg== --===============1438169132528273974==-- multipart/form-data ------------------- As with creating new snippets, `multipart/form-data` can be used as an alternative to `multipart/related`. However, the inherently flat structure of form-data means that only basic, root-level properties can be returned, while nested elements like `links` are omitted: $ curl -H "Accept: multipart/form-data" https://api.bitbucket.org/2.0/snippets/evzijst/kypj Response: HTTP/1.1 200 OK Content-Length: 951 Content-Type: multipart/form-data; boundary=----------------------------63a4b224c59f ------------------------------63a4b224c59f Content-Disposition: form-data; name="title" Content-Type: text/plain; charset="utf-8" My snippet ------------------------------63a4b224c59f-- Content-Disposition: attachment; name="file"; filename="foo.txt" Content-Type: text/plain foo ------------------------------63a4b224c59f Content-Disposition: attachment; name="file"; filename="image.png" Content-Transfer-Encoding: base64 Content-Type: application/octet-stream iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAYAAAD+MdrbAAABD0lEQVR4Ae3VMUoDQRTG8ccUaW2m TKONFxArJYJamCvkCnZTaa+VnQdJSBFl2SMsLFrEWNjZBZs0JgiL/+KrhhVmJRbCLPx4O+/DT2TB cbblJxf+UWFVVRNsEGAtgvJxnLm2H+A5RQ93uIl+3632PZyl/skjfOn9Gvdwmlcw5aPUwimG+NT5 EnNN036IaZePUuIcK533NVfal7/5yjWeot2z9ta1cAczHEf7I+3J0ws9Cgx0fsOFpmlfwKcWPuBQ 73Oc4FHzBaZ8llq4q1mr5B2mOUCt815qYR8eB1hG2VJ7j35q4RofaH7IG+Xrf/PfJhfmwtfFYoIN AqxFUD6OMxcvkO+UfKfkOyXfKdsv/AYCHMLVkHAFWgAAAABJRU5ErkJggg== ------------------------------5957323a6b76--

operationId: Snippets_getSingleSnippet

Responses

200 The snippet object.
401 If the snippet is private and the request was not authenticated.
403 If authenticated user does not have access to the private snippet.
404 If the snippet does not exist.
410 If the snippet marked as spam.
GET /snippets/{workspace}/{encoded_id}
GET /snippets/{workspace}/{encoded_id}/comments

Used to retrieve a paginated list of all comments for a specific snippet. This resource works identical to commit and pull request comments. The default sorting is oldest to newest and can be overridden with the `sort` query parameter.

operationId: Snippets_listComments

Responses

200 A paginated list of snippet comments, ordered by creation date.
403 If the authenticated user does not have access to the snippet.
404 If the snippet does not exist.
GET /snippets/{workspace}/{encoded_id}/comments
GET /snippets/{workspace}/{encoded_id}/comments/{comment_id}

Returns the specific snippet comment.

operationId: Snippets_getComment

Responses

200 The specified comment.
403 If the authenticated user does not have access to the snippet.
404 If the comment or snippet does not exist.
GET /snippets/{workspace}/{encoded_id}/comments/{comment_id}
GET /snippets/{workspace}/{encoded_id}/commits

Returns the changes (commits) made on this snippet.

operationId: Snippets_listChanges

Responses

200 The paginated list of snippet commits.
403 If the authenticated user does not have access to the snippet.
404 If the snippet does not exist.
GET /snippets/{workspace}/{encoded_id}/commits
GET /snippets/{workspace}/{encoded_id}/commits/{revision}

Returns the changes made on this snippet in this commit.

operationId: Snippets_getPreviousSnippetChange

Responses

200 The specified snippet commit.
403 If the authenticated user does not have access to the snippet.
404 If the commit or the snippet does not exist.
GET /snippets/{workspace}/{encoded_id}/commits/{revision}
GET /snippets/{workspace}/{encoded_id}/files/{path}

Convenience resource for getting to a snippet's raw files without the need for first having to retrieve the snippet itself and having to pull out the versioned file links.

operationId: Snippets_getSnippetFileAtHead

Responses

200 OK
302 A redirect to the most recent revision of the specified file.
403 If the authenticated user does not have access to the snippet.
404 If the snippet does not exist.
GET /snippets/{workspace}/{encoded_id}/files/{path}
GET /snippets/{workspace}/{encoded_id}/watch

Used to check if the current user is watching a specific snippet. Returns 204 (No Content) if the user is watching the snippet and 404 if not. Hitting this endpoint anonymously always returns a 404.

operationId: Snippets_checkUserWatchingSnippet

Responses

204 If the authenticated user is watching the snippet.
404 If the snippet does not exist, or if the authenticated user is not watching the snippet.
GET /snippets/{workspace}/{encoded_id}/watch
GET /snippets/{workspace}/{encoded_id}/{node_id}

Identical to `GET /snippets/encoded_id`, except that this endpoint can be used to retrieve the contents of the snippet as it was at an older revision, while `/snippets/encoded_id` always returns the snippet's current revision. Note that only the snippet's file contents are versioned, not its meta data properties like the title. Other than that, the two endpoints are identical in behavior.

operationId: Snippets_getPreviousRevision

Responses

200 The snippet object.
401 If the snippet is private and the request was not authenticated.
403 If authenticated user does not have access to the private snippet.
404 If the snippet, or the revision does not exist.
GET /snippets/{workspace}/{encoded_id}/{node_id}
GET /snippets/{workspace}/{encoded_id}/{node_id}/files/{path}

Retrieves the raw contents of a specific file in the snippet. The `Content-Disposition` header will be "attachment" to avoid issues with malevolent executable files. The file's mime type is derived from its filename and returned in the `Content-Type` header. Note that for text files, no character encoding is included as part of the content type.

operationId: Snippets_getRawFile

Responses

200 Returns the contents of the specified file.
403 If the authenticated user does not have access to the snippet.
404 If the file or snippet does not exist.
GET /snippets/{workspace}/{encoded_id}/{node_id}/files/{path}
GET /snippets/{workspace}/{encoded_id}/{revision}/diff

Returns the diff of the specified commit against its first parent. Note that this resource is different in functionality from the `patch` resource. The differences between a diff and a patch are: * patches have a commit header with the username, message, etc * diffs support the optional `path=foo/bar.py` query param to filter the diff to just that one file diff (not supported for patches) * for a merge, the diff will show the diff between the merge commit and its first parent (identical to how PRs work), while patch returns a response containing separate patches for each commit on the second parent's ancestry, up to the oldest common ancestor (identical to its reachability). Note that the character encoding of the contents of the diff is unspecified as Git does not track this, making it hard for Bitbucket to reliably determine this.

operationId: Snippets_getSnippetDiff

Parameters

Name In Required Type Description
path query optional string When used, only one the diff of the specified file will be returned.

Responses

200 The raw diff contents.
403 If the authenticated user does not have access to the snippet.
404 If the snippet does not exist.
GET /snippets/{workspace}/{encoded_id}/{revision}/diff
GET /snippets/{workspace}/{encoded_id}/{revision}/patch

Returns the patch of the specified commit against its first parent. Note that this resource is different in functionality from the `diff` resource. The differences between a diff and a patch are: * patches have a commit header with the username, message, etc * diffs support the optional `path=foo/bar.py` query param to filter the diff to just that one file diff (not supported for patches) * for a merge, the diff will show the diff between the merge commit and its first parent (identical to how PRs work), while patch returns a response containing separate patches for each commit on the second parent's ancestry, up to the oldest common ancestor (identical to its reachability). Note that the character encoding of the contents of the patch is unspecified as Git does not track this, making it hard for Bitbucket to reliably determine this.

operationId: Snippets_getSnippetPatch

Responses

200 The raw patch contents.
403 If the authenticated user does not have access to the snippet.
404 If the snippet does not exist.
GET /snippets/{workspace}/{encoded_id}/{revision}/patch

Source 3 endpoints

GET /repositories/{workspace}/{repo_slug}/filehistory/{commit}/{path}

Returns a paginated list of commits that modified the specified file. Commits are returned in reverse chronological order. This is roughly equivalent to the following commands: $ git log --follow --date-order <sha> <path> By default, Bitbucket will follow renames and the path name in the returned entries reflects that. This can be turned off using the `?renames=false` query parameter. Results are returned in descending chronological order by default, and like most endpoints you can [filter and sort](/cloud/bitbucket/rest/intro/#filtering) the response to only provide exactly the data you want. The example response returns commits made before 2011-05-18 against a file named `README.rst`. The results are filtered to only return the path and date. This request can be made using: ``` $ curl 'https://api.bitbucket.org/2.0/repositories/evzijst/dogslow/filehistory/master/README.rst'\ '?fields=values.next,values.path,values.commit.date&q=commit.date<=2011-05-18' ``` In the response you can see that the file was renamed to `README.rst` by the commit made on 2011-05-16, and was previously named `README.txt`.

operationId: Source_filehistoryListCommits

Parameters

Name In Required Type Description
renames query optional string When `true`, Bitbucket will follow the history of the file across renames (this is the default behavior). This can be turned off by specifying `false`.
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Name of a response property sort the result by as per [filtering and sorting](/cloud/bitbucket/rest/intro/#sorting-query-results).

Responses

200 A paginated list of commits that modified the specified file
404 If the repository does not exist.
GET /repositories/{workspace}/{repo_slug}/filehistory/{commit}/{path}
GET /repositories/{workspace}/{repo_slug}/src

This endpoint redirects the client to the directory listing of the root directory on the main branch. This is equivalent to directly hitting [/2.0/repositories/{username}/{repo_slug}/src/{commit}/{path}](src/%7Bcommit%7D/%7Bpath%7D) without having to know the name or SHA1 of the repo's main branch. To create new commits, [POST to this endpoint](https://dac-static.atlassian.com)

operationId: Source_getRootDirectory

Parameters

Name In Required Type Description
format query optional string Instead of returning the file's contents, return the (json) meta data for it.

Responses

200 If the path matches a file, then the raw contents of the file are returned (unless the `format=meta` query parameter was provided, in which case a json document containing the file's meta data is returned). If the path matches a directory, then a paginated list of file and directory entries is returned (if the `format=meta` query parameter was provided, then the json document containing the directory's meta data is returned).
404 If the path or commit in the URL does not exist.
GET /repositories/{workspace}/{repo_slug}/src
GET /repositories/{workspace}/{repo_slug}/src/{commit}/{path}

This endpoints is used to retrieve the contents of a single file, or the contents of a directory at a specified revision. #### Raw file contents When `path` points to a file, this endpoint returns the raw contents. The response's Content-Type is derived from the filename extension (not from the contents). The file contents are not processed and no character encoding/recoding is performed and as a result no character encoding is included as part of the Content-Type. The `Content-Disposition` header will be "attachment" to prevent browsers from running executable files. If the file is managed by LFS, then a 301 redirect pointing to Atlassian's media services platform is returned. The response includes an ETag that is based on the contents of the file and its attributes. This means that an empty `__init__.py` always returns the same ETag, regardless on the directory it lives in, or the commit it is on. #### File meta data When the request for a file path includes the query parameter `?format=meta`, instead of returning the file's raw contents, Bitbucket instead returns the JSON object describing the file's properties: ```javascript $ curl https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src/eefd5ef/tests/__init__.py?format=meta { "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src/eefd5ef5d3df01aed629f650959d6706d54cd335/tests/__init__.py" }, "meta": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src/eefd5ef5d3df01aed629f650959d6706d54cd335/tests/__init__.py?format=meta" } }, "path": "tests/__init__.py", "commit": { "type": "commit", "hash": "eefd5ef5d3df01aed629f650959d6706d54cd335", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/commit/eefd5ef5d3df01aed629f650959d6706d54cd335" }, "html": { "href": "https://bitbucket.org/atlassian/bbql/commits/eefd5ef5d3df01aed629f650959d6706d54cd335" } } }, "attributes": [], "type": "commit_file", "size": 0 } ``` File objects contain an `attributes` element that contains a list of possible modifiers. Currently defined values are: * `link` -- indicates that the entry is a symbolic link. The contents of the file represent the path the link points to. * `executable` -- indicates that the file has the executable bit set. * `subrepository` -- indicates that the entry points to a submodule or subrepo. The contents of the file is the SHA1 of the repository pointed to. * `binary` -- indicates whether Bitbucket thinks the file is binary. This endpoint can provide an alternative to how a HEAD request can be used to check for the existence of a file, or a file's size without incurring the overhead of receiving its full contents. #### Directory listings When `path` points to a directory instead of a file, the response is a paginated list of directory and file objects in the same order as the underlying SCM system would return them. For example: ```javascript $ curl https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src/eefd5ef/tests { "pagelen": 10, "values": [ { "path": "tests/test_project", "type": "commit_directory", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src/eefd5ef5d3df01aed629f650959d6706d54cd335/tests/test_project/" }, "meta": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src/eefd5ef5d3df01aed629f650959d6706d54cd335/tests/test_project/?format=meta" } }, "commit": { "type": "commit", "hash": "eefd5ef5d3df01aed629f650959d6706d54cd335", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/commit/eefd5ef5d3df01aed629f650959d6706d54cd335" }, "html": { "href": "https://bitbucket.org/atlassian/bbql/commits/eefd5ef5d3df01aed629f650959d6706d54cd335" } } } }, { "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src/eefd5ef5d3df01aed629f650959d6706d54cd335/tests/__init__.py" }, "meta": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src/eefd5ef5d3df01aed629f650959d6706d54cd335/tests/__init__.py?format=meta" } }, "path": "tests/__init__.py", "commit": { "type": "commit", "hash": "eefd5ef5d3df01aed629f650959d6706d54cd335", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/commit/eefd5ef5d3df01aed629f650959d6706d54cd335" }, "html": { "href": "https://bitbucket.org/atlassian/bbql/commits/eefd5ef5d3df01aed629f650959d6706d54cd335" } } }, "attributes": [], "type": "commit_file", "size": 0 } ], "page": 1, "size": 2 } ``` When listing the contents of the repo's root directory, the use of a trailing slash at the end of the URL is required. The response by default is not recursive, meaning that only the direct contents of a path are returned. The response does not recurse down into subdirectories. In order to "walk" the entire directory tree, the client can either parse each response and follow the `self` links of each `commit_directory` object, or can specify a `max_depth` to recurse to. The max_depth parameter will do a breadth-first search to return the contents of the subdirectories up to the depth specified. Breadth-first search was chosen as it leads to the least amount of file system operations for git. If the `max_depth` parameter is specified to be too large, the call will time out and return a 555. Each returned object is either a `commit_file`, or a `commit_directory`, both of which contain a `path` element. This path is the absolute path from the root of the repository. Each object also contains a `commit` object which embeds the commit the file is on. Note that this is merely the commit that was used in the URL. It is *not* the commit that last modified the file. Directory objects have 2 representations. Their `self` link returns the paginated contents of the directory. The `meta` link on the other hand returns the actual `directory` object itself, e.g.: ```javascript { "path": "tests/test_project", "type": "commit_directory", "links": { "self": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src/eefd5ef5d3df01aed629f650959d6706d54cd335/tests/test_project/" }, "meta": { "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src/eefd5ef5d3df01aed629f650959d6706d54cd335/tests/test_project/?format=meta" } }, "commit": { ... } } ``` #### Querying, filtering and sorting Like most API endpoints, this API supports the Bitbucket querying/filtering syntax and so you could filter a directory listing to only include entries that match certain criteria. For instance, to list all binary files over 1kb use the expression: `size > 1024 and attributes = "binary"` which after urlencoding yields the query string: `?q=size%3E1024+and+attributes%3D%22binary%22` To change the ordering of the response, use the `?sort` parameter: `.../src/eefd5ef/?sort=-size` See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for more details.

operationId: Source_getRepositorySrcContent

Parameters

Name In Required Type Description
format query optional string If 'meta' is provided, returns the (json) meta data for the contents of the file. If 'rendered' is provided, returns the contents of a non-binary file in HTML-formatted rendered markup. The 'rendered' option only supports these filetypes: `.md`, `.markdown`, `.mkd`, `.mkdn`, `.mdown`, `.text`, `.rst`, and `.textile`. Since Git does not generally track what text encoding scheme is used, this endpoint attempts to detect the most appropriate character encoding. While usually correct, determining the character encoding can be ambiguous which in exceptional cases can lead to misinterpretation of the characters. As such, the raw element in the response object should not be treated as equivalent to the file's actual contents.
q query optional string Optional filter expression as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Optional sorting parameter as per [filtering and sorting](/cloud/bitbucket/rest/intro/#sorting-query-results).
max_depth query optional integer If provided, returns the contents of the repository and its subdirectories recursively until the specified max_depth of nested directories. When omitted, this defaults to 1.

Responses

200 If the path matches a file, then the raw contents of the file are returned. If the `format=meta` query parameter is provided, a json document containing the file's meta data is returned. If the `format=rendered` query parameter is provided, the contents of the file in HTML-formated rendered markup is returned. If the path matches a directory, then a paginated list of file and directory entries is returned (if the `format=meta` query parameter was provided, then the json document containing the directory's meta data is returned.)
404 If the path or commit in the URL does not exist.
555 If the call times out, possibly because the specified recursion depth is too large.
GET /repositories/{workspace}/{repo_slug}/src/{commit}/{path}

Ssh 2 endpoints

GET /users/{selected_user}/ssh-keys

Returns a paginated list of the user's SSH public keys.

operationId: Ssh_listSshKeys

Responses

200 A list of the SSH keys associated with the account.
403 If the specified user's keys are not accessible to the current user
404 If the specified user does not exist
GET /users/{selected_user}/ssh-keys
GET /users/{selected_user}/ssh-keys/{key_id}

Returns a specific SSH public key belonging to a user.

operationId: Ssh_getKey

Responses

200 The specific SSH key matching the user and UUID
403 If the specified user or key is not accessible to the current user
404 If the specified user or key does not exist
GET /users/{selected_user}/ssh-keys/{key_id}

Users 4 endpoints

GET /user

Returns the currently logged in user.

operationId: Users_getCurrentUser

Responses

200 The current user.
401 When the request wasn't authenticated.
GET /user
GET /user/emails

Returns all the authenticated user's email addresses. Both confirmed and unconfirmed.

operationId: Users_listEmailAddresses

Responses

default Unexpected error.
GET /user/emails
GET /user/emails/{email}

Returns details about a specific one of the authenticated user's email addresses. Details describe whether the address has been confirmed by the user and whether it is the user's primary address or not.

operationId: Users_getEmailDetails

Responses

default Unexpected error.
GET /user/emails/{email}
GET /users/{selected_user}

Gets the public information associated with a user account. If the user's profile is private, `location`, `website` and `created_on` elements are omitted. Note that the user object returned by this operation is changing significantly, due to privacy changes. See the [announcement](https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-changes-gdpr/#changes-to-bitbucket-user-objects) for details.

operationId: Users_getUserDetails

Responses

200 The user object
404 If no user exists for the specified UUID, or if the specified account is a team account, not a personal account.
GET /users/{selected_user}

Webhooks 2 endpoints

GET /hook_events

Returns the webhook resource or subject types on which webhooks can be registered. Each resource/subject type contains an `events` link that returns the paginated list of specific events each individual subject type can emit. This endpoint is publicly accessible and does not require authentication or scopes.

operationId: Webhooks_getResourceEvents

Responses

200 A mapping of resource/subject types pointing to their individual event types.
GET /hook_events
GET /hook_events/{subject_type}

Returns a paginated list of all valid webhook events for the specified entity. **The team and user webhooks are deprecated, and you should use workspace instead. For more information, see [the announcement](https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-teams-deprecation/).** This is public data that does not require any scopes or authentication. NOTE: The example response is a truncated response object for the `workspace` `subject_type`. We return the same structure for the other `subject_type` objects.

operationId: Webhooks_listSubscribableTypes

Responses

200 A paginated list of webhook types available to subscribe on.
404 If an invalid `{subject_type}` value was specified.
GET /hook_events/{subject_type}

Workspaces 11 endpoints

GET /user/permissions/workspaces

Returns an object for each workspace the caller is a member of, and their effective role - the highest level of privilege the caller has. If a user is a member of multiple groups with distinct roles, only the highest level is returned. Permissions can be: * `owner` * `collaborator` * `member` **The `collaborator` role is being removed from the Bitbucket Cloud API. For more information, see the [deprecation announcement](https://dac-static.atlassian.com).** **When you move your administration from Bitbucket Cloud to admin.atlassian.com, the following fields on `workspace_membership` will no longer be present: `last_accessed` and `added_on`. See the [deprecation announcement](https://dac-static.atlassian.com).** Results may be further [filtered or sorted](/cloud/bitbucket/rest/intro/#filtering) by workspace or permission by adding the following query string parameters: * `q=workspace.slug="bbworkspace1"` or `q=permission="owner"` * `sort=workspace.slug` Note that the query parameter values need to be URL escaped so that `=` would become `%3D`.

operationId: Workspaces_listForCurrentUser

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for details.
sort query optional string Name of a response property to sort results. See [filtering and sorting](/cloud/bitbucket/rest/intro/#sorting-query-results) for details.

Responses

200 All of the workspace memberships for the authenticated user.
401 The request wasn't authenticated.
GET /user/permissions/workspaces
GET /workspaces

Returns a list of workspaces accessible by the authenticated user. Results may be further [filtered or sorted](/cloud/bitbucket/rest/intro/#filtering) by workspace or permission by adding the following query string parameters: * `q=slug="bbworkspace1"` or `q=is_private=true` * `sort=created_on` Note that the query parameter values need to be URL escaped so that `=` would become `%3D`. **The `collaborator` role is being removed from the Bitbucket Cloud API. For more information, see the [deprecation announcement](https://dac-static.atlassian.com).**

operationId: Workspaces_listForUser

Parameters

Name In Required Type Description
role query optional string Filters the workspaces based on the authenticated user's role on each workspace. * **member**: returns a list of all the workspaces which the caller is a member of at least one workspace group or repository * **collaborator**: returns a list of workspaces which the caller has write access to at least one repository in the workspace * **owner**: returns a list of workspaces which the caller has administrator access
q query optional string Query string to narrow down the response. See [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for details.
sort query optional string Name of a response property to sort results. See [filtering and sorting](/cloud/bitbucket/rest/intro/#sorting-query-results) for details.

Responses

200 The list of workspaces accessible by the authenticated user.
401 The request wasn't authenticated.
GET /workspaces
GET /workspaces/{workspace}

Returns the requested workspace.

operationId: Workspaces_getWorkspace

Responses

200 The workspace.
404 If no workspace exists for the specified name or UUID.
GET /workspaces/{workspace}
GET /workspaces/{workspace}/members

Returns all members of the requested workspace.

operationId: Workspaces_listMembers

Responses

200 The list of users that are part of a workspace.
401 The request wasn't authenticated.
GET /workspaces/{workspace}/members
GET /workspaces/{workspace}/members/{member}

Returns the workspace membership, which includes a `User` object for the member and a `Workspace` object for the requested workspace.

operationId: Workspaces_getUserMembership

Responses

200 The user that is part of a workspace.
401 The request wasn't authenticated.
404 A workspace cannot be found, or a user cannot be found, or the user is not a a member of the workspace.
GET /workspaces/{workspace}/members/{member}
GET /workspaces/{workspace}/permissions

Returns the list of members in a workspace and their permission levels. Permission can be: * `owner` * `collaborator` * `member` **The `collaborator` role is being removed from the Bitbucket Cloud API. For more information, see the [deprecation announcement](https://dac-static.atlassian.com).** **When you move your administration from Bitbucket Cloud to admin.atlassian.com, the following fields on `workspace_membership` will no longer be present: `last_accessed` and `added_on`. See the [deprecation announcement](https://dac-static.atlassian.com).** Results may be further [filtered](/cloud/bitbucket/rest/intro/#filtering) by permission by adding the following query string parameters: * `q=permission="owner"`

operationId: Workspaces_listPermissions

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

Responses

200 The list of users that are part of a workspace, along with their permission.
401 The request wasn't authenticated.
GET /workspaces/{workspace}/permissions
GET /workspaces/{workspace}/permissions/repositories

Returns an object for each repository permission for all of a workspace's repositories. Permissions returned are effective permissions: the highest level of permission the user has. This does not distinguish between direct and indirect (group) privileges. Only users with admin permission for the team may access this resource. Permissions can be: * `admin` * `write` * `read` Results may be further [filtered or sorted](/cloud/bitbucket/rest/intro/#filtering) by repository, user, or permission by adding the following query string parameters: * `q=repository.name="geordi"` or `q=permission>"read"` * `sort=user.display_name` Note that the query parameter values need to be URL escaped so that `=` would become `%3D`.

operationId: Workspaces_listRepositoryPermissions

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Name of a response property sort the result by as per [filtering and sorting](/cloud/bitbucket/rest/intro/#sorting-query-results).

Responses

200 List of workspace's repository permissions.
403 The requesting user isn't an admin of the workspace.
GET /workspaces/{workspace}/permissions/repositories
GET /workspaces/{workspace}/permissions/repositories/{repo_slug}

Returns an object for the repository permission of each user in the requested repository. Permissions returned are effective permissions: the highest level of permission the user has. This does not distinguish between direct and indirect (group) privileges. Only users with admin permission for the repository may access this resource. Permissions can be: * `admin` * `write` * `read` Results may be further [filtered or sorted](/cloud/bitbucket/rest/intro/#filtering) by user, or permission by adding the following query string parameters: * `q=permission>"read"` * `sort=user.display_name` Note that the query parameter values need to be URL escaped so that `=` would become `%3D`.

operationId: Workspaces_listRepositoryPermissions

Parameters

Name In Required Type Description
q query optional string Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).
sort query optional string Name of a response property sort the result by as per [filtering and sorting](/cloud/bitbucket/rest/intro/#sorting-query-results).

Responses

200 The repository permission for all users in this repository.
403 The requesting user isn't an admin of the repository.
GET /workspaces/{workspace}/permissions/repositories/{repo_slug}
GET /workspaces/{workspace}/projects

Returns the list of projects in this workspace.

operationId: Workspaces_listProjects

Responses

200 The list of projects in this workspace.
404 A workspace doesn't exist at this location.
GET /workspaces/{workspace}/projects
GET /workspaces/{workspace}/hooks

Returns a paginated list of webhooks installed on this workspace.

operationId: Workspaces_listWebhooks

Responses

200 The paginated list of installed webhooks.
403 If the authenticated user is not an owner on the specified workspace.
404 If the specified workspace does not exist.
GET /workspaces/{workspace}/hooks
GET /workspaces/{workspace}/hooks/{uid}

Returns the webhook with the specified id installed on the given workspace.

operationId: Workspaces_getWorkspaceWebhook

Responses

200 The webhook subscription object.
404 If the webhook or workspace does not exist.
GET /workspaces/{workspace}/hooks/{uid}

Properties 4 endpoints

GET /repositories/{workspace}/{repo_slug}/commit/{commit}/properties/{app_key}/{property_name}

Retrieve an [application property](https://dac-static.atlassian.com) value stored against a commit.

operationId: Properties_getValue

Parameters

Name In Required Type Description
workspace path required string The repository container; either the workspace slug or the UUID in curly braces.
repo_slug path required string The repository.
commit path required string The commit.
app_key path required string The key of the Connect app.
property_name path required string The name of the property.

Responses

200 The value of the property.
GET /repositories/{workspace}/{repo_slug}/commit/{commit}/properties/{app_key}/{property_name}
GET /repositories/{workspace}/{repo_slug}/properties/{app_key}/{property_name}

Retrieve an [application property](https://dac-static.atlassian.com) value stored against a repository.

operationId: Properties_getApplicationValue

Parameters

Name In Required Type Description
workspace path required string The repository container; either the workspace slug or the UUID in curly braces.
repo_slug path required string The repository.
app_key path required string The key of the Connect app.
property_name path required string The name of the property.

Responses

200 The value of the property.
GET /repositories/{workspace}/{repo_slug}/properties/{app_key}/{property_name}
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pullrequest_id}/properties/{app_key}/{property_name}

Retrieve an [application property](https://dac-static.atlassian.com) value stored against a pull request.

operationId: Properties_getPullRequestApplicationProperty

Parameters

Name In Required Type Description
workspace path required string The repository container; either the workspace slug or the UUID in curly braces.
repo_slug path required string The repository.
pullrequest_id path required string The pull request ID.
app_key path required string The key of the Connect app.
property_name path required string The name of the property.

Responses

200 The value of the property.
GET /repositories/{workspace}/{repo_slug}/pullrequests/{pullrequest_id}/properties/{app_key}/{property_name}
GET /users/{selected_user}/properties/{app_key}/{property_name}

Retrieve an [application property](https://dac-static.atlassian.com) value stored against a user.

operationId: Properties_getUserAppPropertyValue

Parameters

Name In Required Type Description
selected_user path required string Either the UUID of the account surrounded by curly-braces, for example `{account UUID}`, OR an Atlassian Account ID.
app_key path required string The key of the Connect app.
property_name path required string The name of the property.

Responses

200 The value of the property.
GET /users/{selected_user}/properties/{app_key}/{property_name}

Schemas

object A_pull_request_task
{
  "allOf": [
    {
      "$ref": "#/components/schemas/task"
    },
    {
      "type": "object",
      "title": "Pull Request Task",
      "properties": {
        "links": {
          "type": "object",
          "properties": {
            "html": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        }
      },
      "description": "A pull request task."
    }
  ]
}
object A_pullrequest_comment_task
{
  "allOf": [
    {
      "$ref": "#/components/schemas/A_pull_request_task"
    },
    {
      "type": "object",
      "title": "Pull Request Comment Task",
      "properties": {
        "comment": {
          "$ref": "#/components/schemas/comment"
        }
      },
      "description": "A pullrequest comment task"
    }
  ]
}
object A_pullrequest_task_create
{
  "type": "object",
  "title": "Pull Request Task Create",
  "required": [
    "content"
  ],
  "properties": {
    "comment": {
      "$ref": "#/components/schemas/comment"
    },
    "content": {
      "type": "object",
      "title": "Task Raw Content",
      "required": [
        "raw"
      ],
      "properties": {
        "raw": {
          "type": "string",
          "description": "The task contents"
        }
      },
      "description": "task raw content"
    },
    "pending": {
      "type": "boolean"
    }
  },
  "description": "A pullrequest task create"
}
object A_pullrequest_task_update
{
  "type": "object",
  "title": "Pull Request Task Update",
  "properties": {
    "state": {
      "enum": [
        "RESOLVED",
        "UNRESOLVED"
      ],
      "type": "string"
    },
    "content": {
      "type": "object",
      "title": "Task Raw Content",
      "required": [
        "raw"
      ],
      "properties": {
        "raw": {
          "type": "string",
          "description": "The task contents"
        }
      },
      "description": "task raw content"
    }
  },
  "description": "A pullrequest task update"
}
array ReportsBulkCreateOrUpdateAnnotationsRequest
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/report_annotation"
  },
  "maxItems": 100,
  "minItems": 1
}
array ReportsBulkCreateOrUpdateAnnotationsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/report_annotation"
  }
}
object account
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Account",
      "properties": {
        "uuid": {
          "type": "string"
        },
        "links": {
          "$ref": "#/components/schemas/account_links"
        },
        "username": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9_\\-]+$"
        },
        "created_on": {
          "type": "string",
          "format": "date-time"
        },
        "display_name": {
          "type": "string"
        }
      },
      "description": "An account object.",
      "additionalProperties": true
    }
  ]
}
object account_links
{
  "type": "object",
  "title": "Account Links",
  "properties": {
    "avatar": {
      "$ref": "#/components/schemas/link"
    }
  },
  "description": "Links related to an Account.",
  "additionalProperties": true
}
object app_user
{
  "allOf": [
    {
      "$ref": "#/components/schemas/account"
    },
    {
      "type": "object",
      "title": "App User",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The kind of App User."
        },
        "account_id": {
          "type": "string",
          "description": "The user's Atlassian account ID."
        },
        "account_status": {
          "type": "string",
          "description": "The status of the account. Currently the only possible value is \"active\", but more values may be added in the future."
        }
      },
      "description": "An app user object.",
      "additionalProperties": true
    }
  ]
}
object application_property
{
  "type": "object",
  "title": "Application Property",
  "properties": {
    "_attributes": {
      "type": "array",
      "items": {
        "enum": [
          "public",
          "read_only"
        ],
        "type": "string"
      }
    }
  },
  "description": "An application property. It is a caller defined JSON object that Bitbucket will store and return. \nThe `_attributes` field at its top level can be used to control who is allowed to read and update the property. \nThe keys of the JSON object must match an allowed pattern. For details, \nsee [Application properties](https://dac-static.atlassian.com).\n",
  "additionalProperties": true
}
object author
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Author",
      "properties": {
        "raw": {
          "type": "string",
          "description": "The raw author value from the repository. This may be the only value available if the author does not match a user in Bitbucket."
        },
        "user": {
          "$ref": "#/components/schemas/account"
        }
      },
      "description": "The author of a change in a repository",
      "additionalProperties": true
    }
  ]
}
object base_commit
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Base Commit",
      "properties": {
        "date": {
          "type": "string",
          "format": "date-time"
        },
        "hash": {
          "type": "string",
          "pattern": "[0-9a-f]{7,}?"
        },
        "author": {
          "$ref": "#/components/schemas/author"
        },
        "message": {
          "type": "string"
        },
        "parents": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/base_commit"
          },
          "minItems": 0
        },
        "summary": {
          "type": "object",
          "properties": {
            "raw": {
              "type": "string",
              "description": "The text as it was typed by a user."
            },
            "html": {
              "type": "string",
              "description": "The user's content rendered as HTML."
            },
            "markup": {
              "enum": [
                "markdown",
                "creole",
                "plaintext"
              ],
              "type": "string",
              "description": "The type of markup language the raw content is to be interpreted in."
            }
          }
        }
      },
      "description": "The common base type for both repository and snippet commits.",
      "additionalProperties": true
    }
  ]
}
object bitbucket.apps.permissions.serializers.ProjectPermissionUpdateSchema
{
  "type": "object",
  "required": [
    "permission"
  ],
  "properties": {
    "permission": {
      "enum": [
        "read",
        "write",
        "create-repo",
        "admin"
      ],
      "type": "string"
    }
  }
}
object bitbucket.apps.permissions.serializers.RepoPermissionUpdateSchema
{
  "type": "object",
  "required": [
    "permission"
  ],
  "properties": {
    "permission": {
      "enum": [
        "read",
        "write",
        "admin"
      ],
      "type": "string"
    }
  }
}
object branch
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ref"
    },
    {
      "type": "object",
      "title": "Branch",
      "properties": {
        "merge_strategies": {
          "type": "array",
          "items": {
            "enum": [
              "merge_commit",
              "squash",
              "fast_forward"
            ],
            "type": "string"
          },
          "description": "Available merge strategies for pull requests targeting this branch."
        },
        "default_merge_strategy": {
          "type": "string",
          "description": "The default merge strategy for pull requests targeting this branch."
        }
      },
      "description": "A branch object, representing a branch in a repository.",
      "additionalProperties": true
    }
  ]
}
object branching_model
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Branching Model",
      "properties": {
        "production": {
          "type": "object",
          "required": [
            "name",
            "use_mainbranch"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the target branch. Will be listed here even when the target branch does not exist. Will be `null` if targeting the main branch and the repository is empty."
            },
            "branch": {
              "$ref": "#/components/schemas/branch"
            },
            "use_mainbranch": {
              "type": "boolean",
              "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`)."
            }
          }
        },
        "development": {
          "type": "object",
          "required": [
            "name",
            "use_mainbranch"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the target branch. Will be listed here even when the target branch does not exist. Will be `null` if targeting the main branch and the repository is empty."
            },
            "branch": {
              "$ref": "#/components/schemas/branch"
            },
            "use_mainbranch": {
              "type": "boolean",
              "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`)."
            }
          }
        },
        "branch_types": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "kind",
              "prefix"
            ],
            "properties": {
              "kind": {
                "enum": [
                  "feature",
                  "bugfix",
                  "release",
                  "hotfix"
                ],
                "type": "string",
                "description": "The kind of branch."
              },
              "prefix": {
                "type": "string",
                "description": "The prefix for this branch type. A branch with this prefix will be classified as per `kind`. The prefix must be a valid prefix for a branch and must always exist. It cannot be blank, empty or `null`."
              }
            }
          },
          "maxItems": 4,
          "minItems": 0,
          "description": "The active branch types.",
          "uniqueItems": true
        }
      },
      "description": "A repository's branching model",
      "additionalProperties": true
    }
  ]
}
object branching_model_settings
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Branching Model Settings",
      "properties": {
        "links": {
          "type": "object",
          "properties": {
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "production": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The configured branch. It must be `null` when `use_mainbranch` is `true`. Otherwise it must be a non-empty value. It is possible for the configured branch to not exist (e.g. it was deleted after the settings are set). In this case `is_valid` will be `false`. The branch must exist when updating/setting the `name` or an error will occur."
            },
            "enabled": {
              "type": "boolean",
              "description": "Indicates if branch is enabled or not."
            },
            "is_valid": {
              "type": "boolean",
              "description": "Indicates if the configured branch is valid, that is, if the configured branch actually exists currently. Is always `true` when `use_mainbranch` is `true` (even if the main branch does not exist). This field is read-only. This field is ignored when updating/creating settings."
            },
            "use_mainbranch": {
              "type": "boolean",
              "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`). When `true` the `name` must be `null` or not provided. When `false` the `name` must contain a non-empty branch name."
            }
          }
        },
        "development": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The configured branch. It must be `null` when `use_mainbranch` is `true`. Otherwise it must be a non-empty value. It is possible for the configured branch to not exist (e.g. it was deleted after the settings are set). In this case `is_valid` will be `false`. The branch must exist when updating/setting the `name` or an error will occur."
            },
            "is_valid": {
              "type": "boolean",
              "description": "Indicates if the configured branch is valid, that is, if the configured branch actually exists currently. Is always `true` when `use_mainbranch` is `true` (even if the main branch does not exist). This field is read-only. This field is ignored when updating/creating settings."
            },
            "use_mainbranch": {
              "type": "boolean",
              "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`). When `true` the `name` must be `null` or not provided. When `false` the `name` must contain a non-empty branch name."
            }
          }
        },
        "branch_types": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "kind"
            ],
            "properties": {
              "kind": {
                "enum": [
                  "feature",
                  "bugfix",
                  "release",
                  "hotfix"
                ],
                "type": "string",
                "description": "The kind of the branch type."
              },
              "prefix": {
                "type": "string",
                "description": "The prefix for this branch type. A branch with this prefix will be classified as per `kind`. The `prefix` of an enabled branch type must be a valid branch prefix.Additionally, it cannot be blank, empty or `null`. The `prefix` for a disabled branch type can be empty or invalid."
              },
              "enabled": {
                "type": "boolean",
                "description": "Whether the branch type is enabled or not. A disabled branch type may contain an invalid `prefix`."
              }
            }
          },
          "maxItems": 4,
          "minItems": 0,
          "uniqueItems": true
        }
      },
      "description": "A repository's branching model settings",
      "additionalProperties": true
    }
  ]
}
object branchrestriction
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Branch Restriction",
      "properties": {
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/account"
          },
          "minItems": 0
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/group"
          },
          "minItems": 0
        }
      },
      "description": "A branch restriction rule.",
      "additionalProperties": true
    }
  ]
}
object comment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Comment",
      "properties": {
        "id": {
          "type": "integer"
        },
        "user": {
          "$ref": "#/components/schemas/account"
        },
        "links": {
          "type": "object",
          "properties": {
            "code": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "html": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "inline": {
          "type": "object",
          "required": [
            "path"
          ],
          "properties": {
            "to": {
              "type": "integer",
              "minimum": 1,
              "description": "The comment's anchor line in the new version of the file. If the 'from' line is also provided, this value will be removed."
            },
            "from": {
              "type": "integer",
              "minimum": 1,
              "description": "The comment's anchor line in the old version of the file."
            },
            "path": {
              "type": "string",
              "description": "The path of the file this comment is anchored to."
            }
          }
        },
        "parent": {
          "$ref": "#/components/schemas/comment"
        },
        "content": {
          "type": "object",
          "properties": {
            "raw": {
              "type": "string",
              "description": "The text as it was typed by a user."
            },
            "html": {
              "type": "string",
              "description": "The user's content rendered as HTML."
            },
            "markup": {
              "enum": [
                "markdown",
                "creole",
                "plaintext"
              ],
              "type": "string",
              "description": "The type of markup language the raw content is to be interpreted in."
            }
          }
        },
        "deleted": {
          "type": "boolean"
        },
        "created_on": {
          "type": "string",
          "format": "date-time"
        },
        "updated_on": {
          "type": "string",
          "format": "date-time"
        }
      },
      "description": "The base type for all comments. This type should be considered abstract. Each of the \"commentable\" resources defines its own subtypes (e.g. `issue_comment`).",
      "additionalProperties": true
    }
  ]
}
object comment_resolution
{
  "type": "object",
  "title": "Comment Resolution",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/account"
    },
    "created_on": {
      "type": "string",
      "format": "date-time",
      "description": "The ISO8601 timestamp the resolution was created."
    }
  },
  "description": "The resolution object for a Comment.",
  "additionalProperties": true
}
object commit
{
  "allOf": [
    {
      "$ref": "#/components/schemas/base_commit"
    },
    {
      "type": "object",
      "title": "Commit",
      "properties": {
        "repository": {
          "$ref": "#/components/schemas/repository"
        },
        "participants": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/participant"
          },
          "minItems": 0
        }
      },
      "description": "A repository commit object.",
      "additionalProperties": true
    }
  ]
}
object commit_comment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/comment"
    },
    {
      "type": "object",
      "title": "Commit Comment",
      "properties": {
        "commit": {
          "$ref": "#/components/schemas/commit"
        }
      },
      "description": "A commit comment.",
      "additionalProperties": true
    }
  ]
}
object commit_file
{
  "type": "object",
  "title": "Commit File",
  "required": [
    "type"
  ],
  "properties": {
    "path": {
      "type": "string",
      "description": "The path in the repository"
    },
    "type": {
      "type": "string"
    },
    "commit": {
      "$ref": "#/components/schemas/commit"
    },
    "attributes": {
      "enum": [
        "link",
        "executable",
        "subrepository",
        "binary",
        "lfs"
      ],
      "type": "string"
    },
    "escaped_path": {
      "type": "string",
      "description": "The escaped version of the path as it appears in a diff. If the path does not require escaping this will be the same as path."
    }
  },
  "description": "A file object, representing a file at a commit in a repository",
  "additionalProperties": true
}
object commitstatus
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Commit Status",
      "properties": {
        "key": {
          "type": "string",
          "description": "An identifier for the status that's unique to\n        its type (current \"build\" is the only supported type) and the vendor,\n        e.g. BB-DEPLOY"
        },
        "url": {
          "type": "string",
          "description": "A URL linking back to the vendor or build system, for providing more information about whatever process produced this status. Accepts context variables `repository` and `commit` that Bitbucket will evaluate at runtime whenever at runtime. For example, one could use https://foo.com/builds/{repository.full_name} which Bitbucket will turn into https://foo.com/builds/foo/bar at render time."
        },
        "name": {
          "type": "string",
          "description": "An identifier for the build itself, e.g. BB-DEPLOY-1"
        },
        "uuid": {
          "type": "string",
          "description": "The commit status' id."
        },
        "links": {
          "type": "object",
          "properties": {
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "commit": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "state": {
          "enum": [
            "FAILED",
            "INPROGRESS",
            "STOPPED",
            "SUCCESSFUL"
          ],
          "type": "string",
          "description": "Provides some indication of the status of this commit"
        },
        "refname": {
          "type": "string",
          "description": "\nThe name of the ref that pointed to this commit at the time the status\nobject was created. Note that this the ref may since have moved off of\nthe commit. This optional field can be useful for build systems whose\nbuild triggers and configuration are branch-dependent (e.g. a Pipeline\nbuild).\nIt is legitimate for this field to not be set, or even apply (e.g. a\nstatic linting job)."
        },
        "created_on": {
          "type": "string",
          "format": "date-time"
        },
        "updated_on": {
          "type": "string",
          "format": "date-time"
        },
        "description": {
          "type": "string",
          "description": "A description of the build (e.g. \"Unit tests in Bamboo\")"
        }
      },
      "description": "A commit status object.",
      "additionalProperties": true
    }
  ]
}
object component
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Component",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "links": {
          "type": "object",
          "properties": {
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        }
      },
      "description": "A component as defined in a repository's issue tracker.",
      "additionalProperties": true
    }
  ]
}
object ddev_report
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "description": "A report for a commit.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/commits/{commitHash}/reports/{uuid}",
  "x-bb-default-fields": [
    "uuid",
    "commitHash"
  ]
}
object default_reviewer_and_type
{
  "type": "object",
  "title": "Default Reviewer and Type",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/user"
    },
    "reviewer_type": {
      "type": "string"
    }
  },
  "description": "Object containing a user that is a default reviewer and the type of reviewer",
  "additionalProperties": true
}
object deploy_key
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deploy Key",
      "properties": {
        "key": {
          "type": "string",
          "description": "The deploy key value."
        },
        "label": {
          "type": "string",
          "description": "The user-defined label for the deploy key"
        },
        "links": {
          "type": "object",
          "properties": {
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "owner": {
          "$ref": "#/components/schemas/account"
        },
        "comment": {
          "type": "string",
          "description": "The comment parsed from the deploy key (if present)"
        },
        "added_on": {
          "type": "string",
          "format": "date-time"
        },
        "last_used": {
          "type": "string",
          "format": "date-time"
        },
        "repository": {
          "$ref": "#/components/schemas/repository"
        }
      },
      "description": "Represents deploy key for a repository.",
      "additionalProperties": true
    }
  ]
}
object deployment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deployment",
      "properties": {
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the deployment."
        },
        "state": {
          "$ref": "#/components/schemas/deployment_state"
        },
        "release": {
          "$ref": "#/components/schemas/deployment_release"
        },
        "environment": {
          "$ref": "#/components/schemas/deployment_environment"
        }
      },
      "description": "A Bitbucket Deployment.",
      "additionalProperties": true
    }
  ]
}
object deployment_environment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deployment Environment",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the environment."
        },
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the environment."
        }
      },
      "description": "A Bitbucket Deployment Environment.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/environments/{uuid}",
  "x-bb-batch-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/environments_batch",
  "x-bb-batch-max-size": 100,
  "x-bb-default-fields": [
    "uuid"
  ]
}
object deployment_environment_lock
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deployment Environment Lock",
      "properties": {
        "environmentUuid": {
          "type": "string",
          "description": "The UUID identifying the environment."
        }
      },
      "description": "A Bitbucket Deployment Environment Lock.",
      "additionalProperties": true
    }
  ],
  "x-bb-batch-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/environments/locks_batch",
  "x-bb-batch-max-size": 100,
  "x-bb-default-fields": [
    "*",
    "lock_opener.*",
    "owner.*"
  ]
}
object deployment_release
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deployment Release",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Link to the pipeline that produced the release."
        },
        "name": {
          "type": "string",
          "description": "The name of the release."
        },
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the release."
        },
        "commit": {
          "$ref": "#/components/schemas/commit"
        },
        "created_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the release was created."
        }
      },
      "description": "A Bitbucket Deployment Release.",
      "additionalProperties": true
    }
  ]
}
object deployment_state
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deployment State",
      "properties": {},
      "description": "The representation of the progress state of a deployment.",
      "additionalProperties": true
    }
  ]
}
object deployment_state_completed
{
  "allOf": [
    {
      "$ref": "#/components/schemas/deployment_state"
    },
    {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Link to the deployment result."
        },
        "name": {
          "enum": [
            "COMPLETED"
          ],
          "type": "string",
          "description": "The name of deployment state (COMPLETED)."
        },
        "status": {
          "$ref": "#/components/schemas/deployment_state_completed_status"
        },
        "deployer": {
          "$ref": "#/components/schemas/account"
        },
        "start_date": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the deployment was started."
        },
        "completion_date": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the deployment completed."
        }
      },
      "description": "A Bitbucket Deployment COMPLETED deployment state.",
      "additionalProperties": true
    }
  ]
}
object deployment_state_completed_status
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Completed Deployment",
      "properties": {},
      "description": "The status of a completed deployment.",
      "additionalProperties": true
    }
  ]
}
object deployment_state_completed_status_failed
{
  "allOf": [
    {
      "$ref": "#/components/schemas/deployment_state_completed_status"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "FAILED"
          ],
          "type": "string",
          "description": "The name of the completed deployment status (FAILED)."
        }
      },
      "description": "A FAILED completed deployment status.",
      "additionalProperties": true
    }
  ]
}
object deployment_state_completed_status_stopped
{
  "allOf": [
    {
      "$ref": "#/components/schemas/deployment_state_completed_status"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "STOPPED"
          ],
          "type": "string",
          "description": "The name of the completed deployment status (STOPPED)."
        }
      },
      "description": "A STOPPED completed deployment status.",
      "additionalProperties": true
    }
  ]
}
object deployment_state_completed_status_successful
{
  "allOf": [
    {
      "$ref": "#/components/schemas/deployment_state_completed_status"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "SUCCESSFUL"
          ],
          "type": "string",
          "description": "The name of the completed deployment status (SUCCESSFUL)."
        }
      },
      "description": "A SUCCESSFUL completed deployment status.",
      "additionalProperties": true
    }
  ]
}
object deployment_state_in_progress
{
  "allOf": [
    {
      "$ref": "#/components/schemas/deployment_state"
    },
    {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Link to the deployment result."
        },
        "name": {
          "enum": [
            "IN_PROGRESS"
          ],
          "type": "string",
          "description": "The name of deployment state (IN_PROGRESS)."
        },
        "deployer": {
          "$ref": "#/components/schemas/account"
        },
        "start_date": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the deployment was started."
        }
      },
      "description": "A Bitbucket Deployment IN_PROGRESS deployment state.",
      "additionalProperties": true
    }
  ]
}
object deployment_state_undeployed
{
  "allOf": [
    {
      "$ref": "#/components/schemas/deployment_state"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "UNDEPLOYED"
          ],
          "type": "string",
          "description": "The name of deployment state (UNDEPLOYED)."
        },
        "trigger_url": {
          "type": "string",
          "format": "uri",
          "description": "Link to trigger the deployment."
        }
      },
      "description": "A Bitbucket Deployment UNDEPLOYED deployment state.",
      "additionalProperties": true
    }
  ]
}
object deployment_variable
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deployment Variable",
      "properties": {
        "key": {
          "type": "string",
          "description": "The unique name of the variable."
        },
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the variable."
        },
        "value": {
          "type": "string",
          "description": "The value of the variable. If the variable is secured, this will be empty."
        },
        "secured": {
          "type": "boolean",
          "description": "If true, this variable will be treated as secured. The value will never be exposed in the logs or the REST API."
        }
      },
      "description": "A Pipelines deployment variable.",
      "additionalProperties": true
    }
  ]
}
object deployments_ddev_deployment_environment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deployment Environment",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the environment."
        },
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the environment."
        }
      },
      "description": "A Bitbucket Deployment Environment.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/environments/{uuid}",
  "x-bb-batch-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/environments_batch",
  "x-bb-batch-max-size": 100,
  "x-bb-default-fields": [
    "uuid"
  ]
}
object deployments_ddev_deployment_environment_lock
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deployment Environment Lock",
      "properties": {
        "environmentUuid": {
          "type": "string",
          "description": "The UUID identifying the environment."
        }
      },
      "description": "A Bitbucket Deployment Environment Lock.",
      "additionalProperties": true
    }
  ],
  "x-bb-batch-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/environments/locks_batch",
  "x-bb-batch-max-size": 100,
  "x-bb-default-fields": [
    "*",
    "lock_opener.*",
    "owner.*"
  ]
}
object deployments_ddev_paginated_environments
{
  "type": "object",
  "title": "Paginated Deployment Environments",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/deployments_ddev_deployment_environment"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of environments"
}
object deployments_stg_west_deployment_environment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deployment Environment",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the environment."
        },
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the environment."
        }
      },
      "description": "A Bitbucket Deployment Environment.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/environments/{uuid}",
  "x-bb-batch-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/environments_batch",
  "x-bb-batch-max-size": 100,
  "x-bb-default-fields": [
    "uuid"
  ]
}
object deployments_stg_west_deployment_environment_lock
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Deployment Environment Lock",
      "properties": {
        "environmentUuid": {
          "type": "string",
          "description": "The UUID identifying the environment."
        }
      },
      "description": "A Bitbucket Deployment Environment Lock.",
      "additionalProperties": true
    }
  ],
  "x-bb-batch-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/environments/locks_batch",
  "x-bb-batch-max-size": 100,
  "x-bb-default-fields": [
    "*",
    "lock_opener.*",
    "owner.*"
  ]
}
object deployments_stg_west_paginated_environments
{
  "type": "object",
  "title": "Paginated Deployment Environments",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/deployments_stg_west_deployment_environment"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of environments"
}
object diffstat
{
  "type": "object",
  "title": "Diff Stat",
  "required": [
    "type"
  ],
  "properties": {
    "new": {
      "$ref": "#/components/schemas/commit_file"
    },
    "old": {
      "$ref": "#/components/schemas/commit_file"
    },
    "type": {
      "type": "string"
    },
    "status": {
      "enum": [
        "added",
        "removed",
        "modified",
        "renamed"
      ],
      "type": "string"
    },
    "lines_added": {
      "type": "integer"
    },
    "lines_removed": {
      "type": "integer"
    }
  },
  "description": "A diffstat object that includes a summary of changes made to a file between two commits.",
  "additionalProperties": true
}
object effective_repo_branching_model
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Effective Repository Branching Model",
      "properties": {
        "production": {
          "type": "object",
          "required": [
            "name",
            "use_mainbranch"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the target branch. Will be listed here even when the target branch does not exist. Will be `null` if targeting the main branch and the repository is empty."
            },
            "branch": {
              "$ref": "#/components/schemas/branch"
            },
            "use_mainbranch": {
              "type": "boolean",
              "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`)."
            }
          }
        },
        "development": {
          "type": "object",
          "required": [
            "name",
            "use_mainbranch"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the target branch. Will be listed here even when the target branch does not exist. Will be `null` if targeting the main branch and the repository is empty."
            },
            "branch": {
              "$ref": "#/components/schemas/branch"
            },
            "use_mainbranch": {
              "type": "boolean",
              "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`)."
            }
          }
        },
        "branch_types": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "kind",
              "prefix"
            ],
            "properties": {
              "kind": {
                "enum": [
                  "feature",
                  "bugfix",
                  "release",
                  "hotfix"
                ],
                "type": "string",
                "description": "The kind of branch."
              },
              "prefix": {
                "type": "string",
                "description": "The prefix for this branch type. A branch with this prefix will be classified as per `kind`. The prefix must be a valid prefix for a branch and must always exist. It cannot be blank, empty or `null`."
              }
            }
          },
          "maxItems": 4,
          "minItems": 0,
          "description": "The active branch types.",
          "uniqueItems": true
        }
      },
      "description": "A repository's effective branching model",
      "additionalProperties": true
    }
  ]
}
object error
{
  "type": "object",
  "title": "Error",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "error": {
      "type": "object",
      "required": [
        "message"
      ],
      "properties": {
        "data": {
          "type": "object",
          "properties": {},
          "description": "Optional structured data that is endpoint-specific.",
          "additionalProperties": true
        },
        "detail": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  },
  "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`.",
  "additionalProperties": true
}
object export_options
{
  "type": "object",
  "title": "Export Options",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "send_email": {
      "type": "boolean"
    },
    "project_key": {
      "type": "string"
    },
    "project_name": {
      "type": "string"
    },
    "include_attachments": {
      "type": "boolean"
    }
  },
  "description": "Options for issue export.",
  "additionalProperties": true
}
object group
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Group",
      "properties": {
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string",
          "description": "The \"sluggified\" version of the group's name. This contains only ASCII\ncharacters and can therefore be slightly different than the name"
        },
        "links": {
          "type": "object",
          "properties": {
            "html": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "owner": {
          "$ref": "#/components/schemas/account"
        },
        "full_slug": {
          "type": "string",
          "description": "The concatenation of the workspace's slug and the group's slug,\nseparated with a colon (e.g. `acme:developers`)\n"
        },
        "workspace": {
          "$ref": "#/components/schemas/workspace"
        }
      },
      "description": "A group object",
      "additionalProperties": true
    }
  ]
}
object hook_event
{
  "type": "object",
  "title": "Hook Event",
  "properties": {
    "event": {
      "enum": [
        "pullrequest:updated",
        "issue:comment_created",
        "repo:transfer",
        "issue:created",
        "pullrequest:rejected",
        "repo:deleted",
        "pullrequest:fulfilled",
        "repo:commit_status_created",
        "repo:imported",
        "pullrequest:changes_request_created",
        "repo:push",
        "pullrequest:created",
        "pullrequest:comment_created",
        "project:updated",
        "repo:created",
        "repo:commit_status_updated",
        "pullrequest:unapproved",
        "repo:commit_comment_created",
        "pullrequest:comment_reopened",
        "repo:fork",
        "repo:updated",
        "pullrequest:comment_deleted",
        "issue:updated",
        "pullrequest:changes_request_removed",
        "pullrequest:comment_resolved",
        "pullrequest:approved",
        "pullrequest:comment_updated"
      ],
      "type": "string",
      "description": "The event identifier."
    },
    "label": {
      "type": "string",
      "description": "Summary of the webhook event type."
    },
    "category": {
      "type": "string",
      "description": "The category this event belongs to."
    },
    "description": {
      "type": "string",
      "description": "More detailed description of the webhook event type."
    }
  },
  "description": "An event, associated with a resource or subject type."
}
object issue
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Issue",
      "properties": {
        "id": {
          "type": "integer"
        },
        "kind": {
          "enum": [
            "bug",
            "enhancement",
            "proposal",
            "task"
          ],
          "type": "string"
        },
        "links": {
          "type": "object",
          "properties": {
            "html": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "vote": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "watch": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "comments": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "attachments": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "state": {
          "enum": [
            "submitted",
            "new",
            "open",
            "resolved",
            "on hold",
            "invalid",
            "duplicate",
            "wontfix",
            "closed"
          ],
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "votes": {
          "type": "integer"
        },
        "content": {
          "type": "object",
          "properties": {
            "raw": {
              "type": "string",
              "description": "The text as it was typed by a user."
            },
            "html": {
              "type": "string",
              "description": "The user's content rendered as HTML."
            },
            "markup": {
              "enum": [
                "markdown",
                "creole",
                "plaintext"
              ],
              "type": "string",
              "description": "The type of markup language the raw content is to be interpreted in."
            }
          }
        },
        "version": {
          "$ref": "#/components/schemas/version"
        },
        "assignee": {
          "$ref": "#/components/schemas/account"
        },
        "priority": {
          "enum": [
            "trivial",
            "minor",
            "major",
            "critical",
            "blocker"
          ],
          "type": "string"
        },
        "reporter": {
          "$ref": "#/components/schemas/account"
        },
        "component": {
          "$ref": "#/components/schemas/component"
        },
        "edited_on": {
          "type": "string",
          "format": "date-time"
        },
        "milestone": {
          "$ref": "#/components/schemas/milestone"
        },
        "created_on": {
          "type": "string",
          "format": "date-time"
        },
        "repository": {
          "$ref": "#/components/schemas/repository"
        },
        "updated_on": {
          "type": "string",
          "format": "date-time"
        }
      },
      "description": "An issue.",
      "additionalProperties": true
    }
  ]
}
object issue_attachment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Issue Attachment",
      "properties": {
        "name": {
          "type": "string"
        },
        "links": {
          "type": "object",
          "properties": {
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        }
      },
      "description": "An issue file attachment's meta data. Note this does not contain the file's actual contents.",
      "additionalProperties": true
    }
  ]
}
object issue_change
{
  "type": "object",
  "title": "Issue Change",
  "required": [
    "type"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/account"
    },
    "issue": {
      "$ref": "#/components/schemas/issue"
    },
    "links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        },
        "issue": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        }
      }
    },
    "changes": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "object",
          "properties": {
            "new": {
              "type": "string"
            },
            "old": {
              "type": "string"
            }
          }
        },
        "state": {
          "type": "object",
          "properties": {
            "new": {
              "type": "string"
            },
            "old": {
              "type": "string"
            }
          }
        },
        "title": {
          "type": "object",
          "properties": {
            "new": {
              "type": "string"
            },
            "old": {
              "type": "string"
            }
          }
        },
        "content": {
          "type": "object",
          "properties": {
            "new": {
              "type": "string"
            },
            "old": {
              "type": "string"
            }
          }
        },
        "version": {
          "type": "object",
          "properties": {
            "new": {
              "type": "string"
            },
            "old": {
              "type": "string"
            }
          }
        },
        "assignee": {
          "type": "object",
          "properties": {
            "new": {
              "type": "string"
            },
            "old": {
              "type": "string"
            }
          }
        },
        "priority": {
          "type": "object",
          "properties": {
            "new": {
              "type": "string"
            },
            "old": {
              "type": "string"
            }
          }
        },
        "component": {
          "type": "object",
          "properties": {
            "new": {
              "type": "string"
            },
            "old": {
              "type": "string"
            }
          }
        },
        "milestone": {
          "type": "object",
          "properties": {
            "new": {
              "type": "string"
            },
            "old": {
              "type": "string"
            }
          }
        }
      }
    },
    "message": {
      "type": "object",
      "properties": {
        "raw": {
          "type": "string",
          "description": "The text as it was typed by a user."
        },
        "html": {
          "type": "string",
          "description": "The user's content rendered as HTML."
        },
        "markup": {
          "enum": [
            "markdown",
            "creole",
            "plaintext"
          ],
          "type": "string",
          "description": "The type of markup language the raw content is to be interpreted in."
        }
      }
    },
    "created_on": {
      "type": "string",
      "format": "date-time"
    }
  },
  "description": "An issue change.",
  "additionalProperties": true
}
object issue_comment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/comment"
    },
    {
      "type": "object",
      "title": "Issue Comment",
      "properties": {
        "issue": {
          "$ref": "#/components/schemas/issue"
        }
      },
      "description": "A issue comment.",
      "additionalProperties": true
    }
  ]
}
object issue_job_status
{
  "type": "object",
  "title": "Issue Job Status",
  "properties": {
    "pct": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "The percentage of issues already imported/exported"
    },
    "type": {
      "type": "string"
    },
    "count": {
      "type": "integer",
      "description": "The total number of issues already imported/exported"
    },
    "phase": {
      "type": "string",
      "description": "The phase of the import/export job"
    },
    "total": {
      "type": "integer",
      "description": "The total number of issues being imported/exported"
    },
    "status": {
      "enum": [
        "ACCEPTED",
        "STARTED",
        "RUNNING",
        "FAILURE"
      ],
      "type": "string",
      "description": "The status of the import/export job"
    }
  },
  "description": "The status of an import or export job"
}
object jira_project
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "description": "A Jira Project.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/api/{target_user.uuid}/jira/sites/{cloudId}/projects/{id}?atlassian_account_id={user.account_id}",
  "x-bb-detail-fields": [
    "key",
    "name",
    "url",
    "avatarUrls.*",
    "site"
  ],
  "x-bb-default-fields": [
    "type",
    "cloudId",
    "id"
  ]
}
object jira_site
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "description": "A Jira Site.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/api/{target_user.uuid}/jira/sites/{cloudId}?atlassian_account_id={user.account_id}",
  "x-bb-detail-fields": [
    "connected"
  ],
  "x-bb-default-fields": [
    "type",
    "cloudId",
    "cloudUrl",
    "cloudName"
  ]
}
object link
{
  "type": "object",
  "title": "Link",
  "properties": {
    "href": {
      "type": "string",
      "format": "uri"
    },
    "name": {
      "type": "string"
    }
  },
  "description": "A link to a resource related to this object."
}
object milestone
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Milestone",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "links": {
          "type": "object",
          "properties": {
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        }
      },
      "description": "A milestone as defined in a repository's issue tracker.",
      "additionalProperties": true
    }
  ]
}
object object
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    }
  },
  "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`.",
  "discriminator": {
    "propertyName": "type"
  },
  "additionalProperties": true
}
object page
{
  "type": "object",
  "title": "Page",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  }
}
object paginated_accounts
{
  "type": "object",
  "title": "Paginated Accounts",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/account"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of accounts."
}
object paginated_annotations
{
  "type": "object",
  "title": "Paginated Annotations",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/report_annotation"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of annotations."
}
object paginated_branches
{
  "type": "object",
  "title": "Paginated Branches",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/branch"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of branches."
}
object paginated_branchrestrictions
{
  "type": "object",
  "title": "Paginated Branch Restrictions",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/branchrestriction"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of branch restriction rules."
}
object paginated_changeset
{
  "type": "object",
  "title": "Page",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/base_commit"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of commits."
}
object paginated_commit_comments
{
  "type": "object",
  "title": "Paginated Commit Comments",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/commit_comment"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of commit comments."
}
object paginated_commitstatuses
{
  "type": "object",
  "title": "Paginated Commit Statuses",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/commitstatus"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of commit status objects."
}
object paginated_components
{
  "type": "object",
  "title": "Paginated Components",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/component"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of issue tracker components."
}
object paginated_default_reviewer_and_type
{
  "type": "object",
  "title": "Paginated Default Reviewer and Type",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/default_reviewer_and_type"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of default reviewers with reviewer type."
}
object paginated_deploy_keys
{
  "type": "object",
  "title": "Paginated Deploy Keys",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/deploy_key"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of deploy keys."
}
object paginated_deployment_variable
{
  "type": "object",
  "title": "Paginated Deployment Variables",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/deployment_variable"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of deployment variables."
}
object paginated_deployments
{
  "type": "object",
  "title": "Paginated Deployments",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/deployment"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of deployments"
}
object paginated_diffstats
{
  "type": "object",
  "title": "Paginated Diff Stat",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/diffstat"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "description": "Current number of objects on the existing page. The default value is 500 with 5000 being the maximum allowed value."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of diffstats."
}
object paginated_environments
{
  "type": "object",
  "title": "Paginated Deployment Environments",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/deployment_environment"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of environments"
}
object paginated_files
{
  "type": "object",
  "title": "Paginated Files",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/commit_file"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of commit_file objects."
}
object paginated_hook_events
{
  "type": "object",
  "title": "Paginated Hook Events",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/hook_event"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of webhook types available to subscribe on."
}
object paginated_issue_attachments
{
  "type": "object",
  "title": "Paginated Issue Attachment",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/issue_attachment"
      },
      "minItems": 0
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of issue attachments."
}
object paginated_issue_comments
{
  "type": "object",
  "title": "Paginated Issue Comments",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/issue_comment"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of issue comments."
}
object paginated_issues
{
  "type": "object",
  "title": "Paginated Issues",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/issue"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of issues."
}
object paginated_log_entries
{
  "type": "object",
  "title": "Paginated Log Entries",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/issue_change"
      },
      "minItems": 0
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of issue changes."
}
object paginated_milestones
{
  "type": "object",
  "title": "Paginated Milestones",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/milestone"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of issue tracker milestones."
}
object paginated_pipeline_caches
{
  "type": "object",
  "title": "Paginated Pipeline Cache",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/pipeline_cache"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of pipeline caches"
}
object paginated_pipeline_known_hosts
{
  "type": "object",
  "title": "Paginated Pipeline Known Hosts",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/pipeline_known_host"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of known hosts."
}
object paginated_pipeline_schedule_executions
{
  "type": "object",
  "title": "Paginated Pipeline Schedule Executions",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/pipeline_schedule_execution"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of the executions of a schedule."
}
object paginated_pipeline_schedules
{
  "type": "object",
  "title": "Paginated Pipeline Schedule",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/pipeline_schedule"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of schedules"
}
object paginated_pipeline_steps
{
  "type": "object",
  "title": "Paginated Pipeline Steps",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/pipeline_step"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of pipeline steps."
}
object paginated_pipeline_variables
{
  "type": "object",
  "title": "Paginated Pipeline Variables",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/pipeline_variable"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of variables."
}
object paginated_pipelines
{
  "type": "object",
  "title": "Paginated Pipelines",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/pipeline"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paged list of pipelines"
}
object paginated_project_deploy_keys
{
  "type": "object",
  "title": "Paginated Project Deploy Keys",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/project_deploy_key"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of project deploy keys."
}
object paginated_project_group_permissions
{
  "type": "object",
  "title": "Paginated Project Group Permissions",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/project_group_permission"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of project group permissions."
}
object paginated_project_user_permissions
{
  "type": "object",
  "title": "Paginated Project User Permissions",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/project_user_permission"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of project user permissions."
}
object paginated_projects
{
  "type": "object",
  "title": "Paginated Projects",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/project"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of projects"
}
object paginated_pullrequest_comments
{
  "type": "object",
  "title": "Paginated Pull Request Comments",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/pullrequest_comment"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of pullrequest comments."
}
object paginated_pullrequests
{
  "type": "object",
  "title": "Paginated Pull Requests",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/pullrequest"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of pullrequests."
}
object paginated_refs
{
  "type": "object",
  "title": "Paginated Refs",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ref"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of refs."
}
object paginated_reports
{
  "type": "object",
  "title": "Paginated Reports",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/report"
      },
      "minItems": 0,
      "description": "The values of the current page."
    },
    "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of reports."
}
object paginated_repositories
{
  "type": "object",
  "title": "Paginated Repositories",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/repository"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of repositories."
}
object paginated_repository_group_permissions
{
  "type": "object",
  "title": "Paginated Repository Group Permissions",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/repository_group_permission"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of repository group permissions."
}
object paginated_repository_permissions
{
  "type": "object",
  "title": "Paginated Repository Permissions",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/repository_permission"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of repository permissions."
}
object paginated_repository_user_permissions
{
  "type": "object",
  "title": "Paginated Repository User Permissions",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/repository_user_permission"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of repository user permissions."
}
object paginated_snippet_comments
{
  "type": "object",
  "title": "Paginated Snippet Comments",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/snippet_comment"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of snippet comments."
}
object paginated_snippet_commit
{
  "type": "object",
  "title": "Paginated Snippet Commits",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/snippet_commit"
      },
      "minItems": 0
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of snippet commits."
}
object paginated_snippets
{
  "type": "object",
  "title": "Paginated Snippets",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/snippet"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of snippets."
}
object paginated_ssh_user_keys
{
  "type": "object",
  "title": "Paginated SSH User Keys",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ssh_account_key"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of SSH keys."
}
object paginated_tags
{
  "type": "object",
  "title": "Paginated Tags",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/tag"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of tags."
}
object paginated_tasks
{
  "type": "object",
  "title": "Paginated Tasks",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/A_pullrequest_comment_task"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of tasks."
}
object paginated_treeentries
{
  "type": "object",
  "title": "Paginated Tree Entry",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/treeentry"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of commit_file and/or commit_directory objects."
}
object paginated_versions
{
  "type": "object",
  "title": "Paginated Versions",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/version"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of issue tracker versions."
}
object paginated_webhook_subscriptions
{
  "type": "object",
  "title": "Paginated Webhook Subscriptions",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/webhook_subscription"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of webhook subscriptions"
}
object paginated_workspace_memberships
{
  "type": "object",
  "title": "Paginated Workspace Memberships",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/workspace_membership"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of workspace memberships."
}
object paginated_workspaces
{
  "type": "object",
  "title": "Paginated Workspaces",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "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."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number of the current results. This is an optional element that is not provided in all responses."
    },
    "size": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/workspace"
      },
      "minItems": 0,
      "uniqueItems": true
    },
    "pagelen": {
      "type": "integer",
      "minimum": 1,
      "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."
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "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."
    }
  },
  "description": "A paginated list of workspaces."
}
object participant
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Participant",
      "properties": {
        "role": {
          "enum": [
            "PARTICIPANT",
            "REVIEWER"
          ],
          "type": "string"
        },
        "user": {
          "$ref": "#/components/schemas/account"
        },
        "state": {
          "enum": [
            "approved",
            "changes_requested",
            null
          ],
          "type": "string"
        },
        "approved": {
          "type": "boolean"
        },
        "participated_on": {
          "type": "string",
          "format": "date-time",
          "description": "The ISO8601 timestamp of the participant's action. For approvers, this is the time of their approval. For commenters and pull request reviewers who are not approvers, this is the time they last commented, or null if they have not commented."
        }
      },
      "description": "Object describing a user's role on resources like commits or pull requests.",
      "additionalProperties": true
    }
  ]
}
object pipeline
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline",
      "properties": {
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the pipeline."
        },
        "state": {
          "$ref": "#/components/schemas/pipeline_state"
        },
        "target": {
          "$ref": "#/components/schemas/pipeline_target"
        },
        "creator": {
          "$ref": "#/components/schemas/account"
        },
        "trigger": {
          "$ref": "#/components/schemas/pipeline_trigger"
        },
        "variables": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/pipeline_variable"
          },
          "minItems": 0,
          "description": "The variables for the pipeline."
        },
        "created_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the pipeline was created."
        },
        "repository": {
          "$ref": "#/components/schemas/repository"
        },
        "build_number": {
          "type": "integer",
          "description": "The build number of the pipeline."
        },
        "completed_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the Pipeline was completed. This is not set if the pipeline is still in progress."
        },
        "build_seconds_used": {
          "type": "integer",
          "description": "The number of build seconds used by this pipeline."
        },
        "configuration_sources": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/pipeline_configuration_source"
          },
          "minItems": 0,
          "description": "An ordered list of sources of the pipeline configuration"
        }
      },
      "description": "A Bitbucket Pipeline. This represents an actual pipeline result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_build_number
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Build Number",
      "properties": {
        "next": {
          "type": "integer",
          "description": "The next number that will be used as build number."
        }
      },
      "description": "A Pipelines build number.",
      "additionalProperties": true
    }
  ]
}
object pipeline_cache
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Cache",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the cache."
        },
        "path": {
          "type": "string",
          "description": "The path where the cache contents were retrieved from."
        },
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the pipeline cache."
        },
        "key_hash": {
          "type": "string",
          "description": "The key hash of the cache version."
        },
        "step_uuid": {
          "type": "string",
          "description": "The uuid of the step that created the cache."
        },
        "created_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the cache was created."
        },
        "pipeline_uuid": {
          "type": "string",
          "description": "The UUID of the pipeline that created the cache."
        },
        "file_size_bytes": {
          "type": "integer",
          "description": "The size of the file containing the archive of the cache."
        }
      },
      "description": "A representation of metadata for a pipeline cache for given repository.",
      "additionalProperties": true
    }
  ]
}
object pipeline_cache_content_uri
{
  "type": "object",
  "title": "Pipeline Cache Content URI",
  "properties": {
    "uri": {
      "type": "string",
      "format": "uri",
      "description": "The uri for pipeline cache content."
    }
  },
  "description": "A representation of the location of pipeline cache content."
}
object pipeline_command
{
  "type": "object",
  "title": "Pipeline Command",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the command."
    },
    "command": {
      "type": "string",
      "description": "The executable command."
    }
  },
  "description": "An executable pipeline command."
}
object pipeline_commit_target
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_target"
    },
    {
      "type": "object",
      "title": "Pipeline Commit Target",
      "properties": {
        "commit": {
          "$ref": "#/components/schemas/commit"
        },
        "selector": {
          "$ref": "#/components/schemas/pipeline_selector"
        }
      },
      "description": "A Bitbucket Pipelines commit target.",
      "additionalProperties": true
    }
  ]
}
object pipeline_configuration_source
{
  "type": "object",
  "required": [
    "source",
    "uri"
  ],
  "properties": {
    "uri": {
      "type": "string",
      "format": "uri",
      "description": "Link to the configuration source view or its immediate content"
    },
    "source": {
      "type": "string",
      "description": "Identifier of the configuration source"
    }
  },
  "description": "Information about the source of the pipeline configuration"
}
object pipeline_error
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Error",
      "properties": {
        "key": {
          "type": "string",
          "description": "The error key."
        },
        "message": {
          "type": "string",
          "description": "The error message."
        }
      },
      "description": "An error causing a pipeline failure.",
      "additionalProperties": true
    }
  ]
}
object pipeline_image
{
  "type": "object",
  "title": "Pipeline Image",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the image. If the image is hosted on DockerHub the short name can be used, otherwise the fully qualified name is required here."
    },
    "email": {
      "type": "string",
      "description": "The email needed to authenticate with the Docker registry. Only required when using a private Docker image."
    },
    "password": {
      "type": "string",
      "description": "The password needed to authenticate with the Docker registry. Only required when using a private Docker image."
    },
    "username": {
      "type": "string",
      "description": "The username needed to authenticate with the Docker registry. Only required when using a private Docker image."
    }
  },
  "description": "The definition of a Docker image that can be used for a Bitbucket Pipelines step execution context."
}
object pipeline_known_host
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Known Host",
      "properties": {
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the known host."
        },
        "hostname": {
          "type": "string",
          "description": "The hostname of the known host."
        },
        "public_key": {
          "$ref": "#/components/schemas/pipeline_ssh_public_key"
        }
      },
      "description": "A Pipelines known host.",
      "additionalProperties": true
    }
  ]
}
object pipeline_ref_target
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_target"
    },
    {
      "type": "object",
      "title": "Pipeline Ref Target",
      "properties": {
        "commit": {
          "$ref": "#/components/schemas/commit"
        },
        "ref_name": {
          "type": "string",
          "description": "The name of the reference."
        },
        "ref_type": {
          "enum": [
            "branch",
            "tag",
            "named_branch",
            "bookmark"
          ],
          "type": "string",
          "description": "The type of reference (branch/tag)."
        },
        "selector": {
          "$ref": "#/components/schemas/pipeline_selector"
        }
      },
      "description": "A Bitbucket Pipelines reference target.",
      "additionalProperties": true
    }
  ]
}
object pipeline_schedule
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Schedule",
      "properties": {
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the schedule."
        },
        "target": {
          "$ref": "#/components/schemas/pipeline_ref_target"
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the schedule is enabled."
        },
        "created_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the schedule was created."
        },
        "updated_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the schedule was updated."
        },
        "cron_pattern": {
          "type": "string",
          "description": "The cron expression with second precision (7 fields) that the schedule applies. For example, for expression: 0 0 12 * * ? *, will execute at 12pm UTC every day."
        }
      },
      "description": "A Pipelines schedule.",
      "additionalProperties": true
    }
  ]
}
object pipeline_schedule_execution
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Schedule Execution",
      "properties": {},
      "description": "A Pipelines schedule execution.",
      "additionalProperties": true
    }
  ]
}
object pipeline_schedule_execution_errored
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_schedule_execution"
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "$ref": "#/components/schemas/pipeline_error"
        }
      },
      "description": "A Pipelines schedule execution that failed to be executed.",
      "additionalProperties": true
    }
  ]
}
object pipeline_schedule_execution_executed
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_schedule_execution"
    },
    {
      "type": "object",
      "properties": {
        "pipeline": {
          "$ref": "#/components/schemas/pipeline"
        }
      },
      "description": "A Pipelines executed schedule execution.",
      "additionalProperties": true
    }
  ]
}
object pipeline_schedule_post_request_body
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Request body for Pipeline Schedule POST request",
      "required": [
        "target",
        "cron_pattern"
      ],
      "properties": {
        "target": {
          "type": "object",
          "required": [
            "selector",
            "ref_name",
            "ref_type"
          ],
          "properties": {
            "ref_name": {
              "type": "string",
              "description": "The name of the reference."
            },
            "ref_type": {
              "enum": [
                "branch"
              ],
              "type": "string",
              "description": "The type of reference (branch only)."
            },
            "selector": {
              "$ref": "#/components/schemas/pipeline_selector"
            }
          },
          "description": "The target on which the schedule will be executed."
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the schedule is enabled."
        },
        "cron_pattern": {
          "type": "string",
          "description": "The cron expression with second precision (7 fields) that the schedule applies. For example, for expression: 0 0 12 * * ? *, will execute at 12pm UTC every day."
        }
      },
      "additionalProperties": true
    }
  ]
}
object pipeline_schedule_put_request_body
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Request body for Pipeline Schedule PUT request",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether the schedule is enabled."
        }
      },
      "additionalProperties": true
    }
  ]
}
object pipeline_selector
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Selector",
      "properties": {
        "type": {
          "enum": [
            "branches",
            "tags",
            "bookmarks",
            "default",
            "custom"
          ],
          "type": "string",
          "description": "The type of selector."
        },
        "pattern": {
          "type": "string",
          "description": "The name of the matching pipeline definition."
        }
      },
      "description": "A representation of the selector that was used to identify the pipeline in the YML file.",
      "additionalProperties": true
    }
  ]
}
object pipeline_ssh_key_pair
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline SSH Key Pair",
      "properties": {
        "public_key": {
          "type": "string",
          "description": "The SSH public key."
        },
        "private_key": {
          "type": "string",
          "description": "The SSH private key. This value will be empty when retrieving the SSH key pair."
        }
      },
      "description": "A Pipelines SSH key pair.",
      "additionalProperties": true
    }
  ]
}
object pipeline_ssh_public_key
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline SSH Public Key",
      "properties": {
        "key": {
          "type": "string",
          "description": "The base64 encoded public key."
        },
        "key_type": {
          "type": "string",
          "description": "The type of the public key."
        },
        "md5_fingerprint": {
          "type": "string",
          "description": "The MD5 fingerprint of the public key."
        },
        "sha256_fingerprint": {
          "type": "string",
          "description": "The SHA-256 fingerprint of the public key."
        }
      },
      "description": "A Pipelines known host public key.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline State",
      "properties": {},
      "description": "The representation of the progress state of a pipeline.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_completed
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_state"
    },
    {
      "type": "object",
      "title": "Pipeline Completed State",
      "properties": {
        "name": {
          "enum": [
            "COMPLETED"
          ],
          "type": "string",
          "description": "The name of pipeline state (COMPLETED)."
        },
        "result": {
          "$ref": "#/components/schemas/pipeline_state_completed_result"
        }
      },
      "description": "A Bitbucket Pipelines COMPLETED pipeline state.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_completed_error
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_state_completed_result"
    },
    {
      "type": "object",
      "title": "Pipeline Completed Error",
      "properties": {
        "name": {
          "enum": [
            "ERROR"
          ],
          "type": "string",
          "description": "The name of the result (ERROR)"
        },
        "error": {
          "$ref": "#/components/schemas/pipeline_error"
        }
      },
      "description": "A Bitbucket Pipelines ERROR pipeline result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_completed_expired
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_state_completed_result"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "EXPIRED"
          ],
          "type": "string",
          "description": "The name of the stopped result (EXPIRED)."
        }
      },
      "description": "A Bitbucket Pipelines EXPIRED pipeline result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_completed_failed
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_state_completed_result"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "FAILED"
          ],
          "type": "string",
          "description": "The name of the failed result (FAILED)."
        }
      },
      "description": "A Bitbucket Pipelines FAILED pipeline result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_completed_result
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Completed Result",
      "properties": {},
      "description": "A result of a completed pipeline state.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_completed_stopped
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_state_completed_result"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "STOPPED"
          ],
          "type": "string",
          "description": "The name of the stopped result (STOPPED)."
        }
      },
      "description": "A Bitbucket Pipelines STOPPED pipeline result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_completed_successful
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_state_completed_result"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "SUCCESSFUL"
          ],
          "type": "string",
          "description": "The name of the successful result (SUCCESSFUL)."
        }
      },
      "description": "A Bitbucket Pipelines SUCCESSFUL pipeline result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_in_progress
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_state"
    },
    {
      "type": "object",
      "title": "Pipeline In-Progress State",
      "properties": {
        "name": {
          "enum": [
            "IN_PROGRESS"
          ],
          "type": "string",
          "description": "The name of pipeline state (IN_PROGRESS)."
        },
        "stage": {
          "$ref": "#/components/schemas/pipeline_state_in_progress_stage"
        }
      },
      "description": "A Bitbucket Pipelines IN_PROGRESS pipeline state.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_in_progress_paused
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_state_in_progress_stage"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "PAUSED"
          ],
          "type": "string",
          "description": "The name of the stage (PAUSED)"
        }
      },
      "description": "A Bitbucket Pipelines PAUSED stage of a pipeline that is in progress.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_in_progress_running
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_state_in_progress_stage"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "RUNNING"
          ],
          "type": "string",
          "description": "The name of the stage (RUNNING)"
        }
      },
      "description": "A Bitbucket Pipelines RUNNING stage of a pipeline that is in progress.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_in_progress_stage
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline In-Progress Stage",
      "properties": {},
      "description": "A result of an in progress pipeline state.",
      "additionalProperties": true
    }
  ]
}
object pipeline_state_pending
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_state"
    },
    {
      "type": "object",
      "title": "Pipeline Pending State",
      "properties": {
        "name": {
          "enum": [
            "PENDING"
          ],
          "type": "string",
          "description": "The name of pipeline state (PENDING)."
        }
      },
      "description": "A Bitbucket Pipelines PENDING pipeline state.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Step",
      "properties": {
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the step."
        },
        "image": {
          "$ref": "#/components/schemas/pipeline_image"
        },
        "state": {
          "$ref": "#/components/schemas/pipeline_step_state"
        },
        "started_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the step execution was started. This is not set when the step hasn't executed yet."
        },
        "completed_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the step execution was completed. This is not set if the step is still in progress."
        },
        "setup_commands": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/pipeline_command"
          },
          "description": "The list of commands that are executed as part of the setup phase of the build. These commands are executed outside the build container."
        },
        "script_commands": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/pipeline_command"
          },
          "description": "The list of build commands. These commands are executed in the build container."
        }
      },
      "description": "A step of a Bitbucket pipeline. This represents the actual result of the step execution.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/rest/1.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/pipelines/{pipeline.uuid}/steps/{uuid}",
  "x-bb-batch-url": "/rest/1.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/pipelines/steps_batch",
  "x-bb-batch-max-size": 100,
  "x-bb-default-fields": [
    "uuid"
  ]
}
object pipeline_step_error
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Step Error",
      "properties": {
        "key": {
          "type": "string",
          "description": "The error key."
        },
        "message": {
          "type": "string",
          "description": "The error message."
        }
      },
      "description": "An error causing a step failure.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Step State",
      "properties": {},
      "description": "The representation of the progress state of a pipeline step.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_completed
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_step_state"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "COMPLETED"
          ],
          "type": "string",
          "description": "The name of pipeline step state (COMPLETED)."
        },
        "result": {
          "$ref": "#/components/schemas/pipeline_step_state_completed_result"
        }
      },
      "description": "A Bitbucket Pipelines COMPLETED pipeline step state.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_completed_error
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_step_state_completed_result"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "ERROR"
          ],
          "type": "string",
          "description": "The name of the result (ERROR)"
        },
        "error": {
          "$ref": "#/components/schemas/pipeline_step_error"
        }
      },
      "description": "A Bitbucket Pipelines ERROR pipeline step result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_completed_expired
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_step_state_completed_result"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "EXPIRED"
          ],
          "type": "string",
          "description": "The name of the result (EXPIRED)"
        }
      },
      "description": "A Bitbucket Pipelines EXPIRED pipeline step result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_completed_failed
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_step_state_completed_result"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "FAILED"
          ],
          "type": "string",
          "description": "The name of the result (FAILED)"
        }
      },
      "description": "A Bitbucket Pipelines FAILED pipeline step result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_completed_not_run
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_step_state_completed_result"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "NOT_RUN"
          ],
          "type": "string",
          "description": "The name of the result (NOT_RUN)"
        }
      },
      "description": "A Bitbucket Pipelines NOT_RUN pipeline step result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_completed_result
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Completed Step Result",
      "properties": {},
      "description": "A result of a completed pipeline step state.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_completed_stopped
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_step_state_completed_result"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "STOPPED"
          ],
          "type": "string",
          "description": "The name of the result (STOPPED)"
        }
      },
      "description": "A Bitbucket Pipelines STOPPED pipeline step result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_completed_successful
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_step_state_completed_result"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "SUCCESSFUL"
          ],
          "type": "string",
          "description": "The name of the result (SUCCESSFUL)"
        }
      },
      "description": "A Bitbucket Pipelines SUCCESSFUL pipeline step result.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_in_progress
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_step_state"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "IN_PROGRESS"
          ],
          "type": "string",
          "description": "The name of pipeline step state (IN_PROGRESS)."
        }
      },
      "description": "A Bitbucket Pipelines IN_PROGRESS pipeline step state.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_pending
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_step_state"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "PENDING"
          ],
          "type": "string",
          "description": "The name of pipeline step state (PENDING)."
        }
      },
      "description": "A Bitbucket Pipelines PENDING pipeline step state.",
      "additionalProperties": true
    }
  ]
}
object pipeline_step_state_ready
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_step_state"
    },
    {
      "type": "object",
      "properties": {
        "name": {
          "enum": [
            "READY"
          ],
          "type": "string",
          "description": "The name of pipeline step state (READY)."
        }
      },
      "description": "A Bitbucket Pipelines READY pipeline step state.",
      "additionalProperties": true
    }
  ]
}
object pipeline_target
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Target",
      "properties": {},
      "description": "A representation of the target that a pipeline executes on.",
      "additionalProperties": true
    }
  ]
}
object pipeline_trigger
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Trigger",
      "properties": {},
      "description": "A representation of the trigger used for a pipeline.",
      "additionalProperties": true
    }
  ]
}
object pipeline_trigger_manual
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_trigger"
    },
    {
      "type": "object",
      "title": "Pipeline Manual Trigger",
      "properties": {},
      "description": "A Bitbucket Pipelines MANUAL trigger.",
      "additionalProperties": true
    }
  ]
}
object pipeline_trigger_push
{
  "allOf": [
    {
      "$ref": "#/components/schemas/pipeline_trigger"
    },
    {
      "type": "object",
      "title": "Pipeline Push Trigger",
      "properties": {},
      "description": "A Bitbucket Pipelines PUSH trigger.",
      "additionalProperties": true
    }
  ]
}
object pipeline_variable
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Variable",
      "properties": {
        "key": {
          "type": "string",
          "description": "The unique name of the variable."
        },
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the variable."
        },
        "value": {
          "type": "string",
          "description": "The value of the variable. If the variable is secured, this will be empty."
        },
        "secured": {
          "type": "boolean",
          "description": "If true, this variable will be treated as secured. The value will never be exposed in the logs or the REST API."
        }
      },
      "description": "A Pipelines variable.",
      "additionalProperties": true
    }
  ]
}
object pipelines_config
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipelines Configuration",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether Pipelines is enabled for the repository."
        },
        "repository": {
          "$ref": "#/components/schemas/repository"
        }
      },
      "description": "The Pipelines configuration for a repository.",
      "additionalProperties": true
    }
  ]
}
object pipelines_ddev_links_section_href
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Links href",
      "properties": {
        "href": {
          "type": "string",
          "format": "uri",
          "description": "A link"
        }
      },
      "description": "A links section href",
      "additionalProperties": true
    }
  ]
}
object pipelines_ddev_pipeline
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline",
      "properties": {
        "uuid": {
          "type": "string",
          "description": "The UUID identifying the pipeline."
        },
        "links": {
          "$ref": "#/components/schemas/pipelines_ddev_pipeline_links"
        },
        "state": {
          "$ref": "#/components/schemas/pipeline_state"
        },
        "target": {
          "$ref": "#/components/schemas/pipeline_target"
        },
        "creator": {
          "$ref": "#/components/schemas/account"
        },
        "trigger": {
          "$ref": "#/components/schemas/pipeline_trigger"
        },
        "variables": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/pipeline_variable"
          },
          "minItems": 0,
          "description": "The variables for the pipeline."
        },
        "created_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the pipeline was created."
        },
        "repository": {
          "$ref": "#/components/schemas/repository"
        },
        "build_number": {
          "type": "integer",
          "description": "The build number of the pipeline."
        },
        "completed_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the Pipeline was completed. This is not set if the pipeline is still in progress."
        },
        "build_seconds_used": {
          "type": "integer",
          "description": "The number of build seconds used by this pipeline."
        }
      },
      "description": "A Bitbucket Pipeline. This represents an actual pipeline result.",
      "additionalProperties": true
    }
  ]
}
object pipelines_ddev_pipeline_error
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Error",
      "properties": {
        "key": {
          "type": "string",
          "description": "The error key."
        },
        "message": {
          "type": "string",
          "description": "The error message"
        }
      },
      "description": "An error causing a pipeline failure.",
      "additionalProperties": true
    }
  ]
}
object pipelines_ddev_pipeline_links
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pipeline Links",
      "properties": {
        "self": {
          "$ref": "#/components/schemas/pipelines_ddev_links_section_href"
        },
        "steps": {
          "$ref": "#/components/schemas/pipelines_ddev_links_section_href"
        }
      },
      "description": "Links section for a Pipeline.",
      "additionalProperties": true
    }
  ]
}
object pipelines_ddev_pipeline_step
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "description": "A step of a Bitbucket pipeline. This represents the actual result of the step execution.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/rest/1.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/pipelines/{pipeline.uuid}/steps/{uuid}",
  "x-bb-batch-url": "/rest/1.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/pipelines/steps_batch",
  "x-bb-batch-max-size": 100,
  "x-bb-default-fields": [
    "uuid"
  ]
}
object pipelines_stg_west_pipeline_step
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "description": "A step of a Bitbucket pipeline. This represents the actual result of the step execution.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/rest/1.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/pipelines/{pipeline.uuid}/steps/{uuid}",
  "x-bb-batch-url": "/rest/1.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/pipelines/steps_batch",
  "x-bb-batch-max-size": 100,
  "x-bb-default-fields": [
    "uuid"
  ]
}
object project
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Project",
      "properties": {
        "key": {
          "type": "string",
          "description": "The project's key."
        },
        "name": {
          "type": "string",
          "description": "The name of the project."
        },
        "uuid": {
          "type": "string",
          "description": "The project's immutable id."
        },
        "links": {
          "type": "object",
          "properties": {
            "html": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "avatar": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "owner": {
          "$ref": "#/components/schemas/team"
        },
        "created_on": {
          "type": "string",
          "format": "date-time"
        },
        "is_private": {
          "type": "boolean",
          "description": "\nIndicates whether the project is publicly accessible, or whether it is\nprivate to the team and consequently only visible to team members.\nNote that private projects cannot contain public repositories."
        },
        "updated_on": {
          "type": "string",
          "format": "date-time"
        },
        "description": {
          "type": "string"
        },
        "has_publicly_visible_repos": {
          "type": "boolean",
          "description": "\nIndicates whether the project contains publicly visible repositories.\nNote that private projects cannot contain public repositories."
        }
      },
      "description": "A Bitbucket project.\n            Projects are used by teams to organize repositories.",
      "additionalProperties": true
    }
  ]
}
object project_branching_model
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Project Branching Model",
      "properties": {
        "production": {
          "type": "object",
          "required": [
            "name",
            "use_mainbranch"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the target branch. If inherited by a repository, it will default to the main branch if the specified branch does not exist."
            },
            "use_mainbranch": {
              "type": "boolean",
              "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`)."
            }
          }
        },
        "development": {
          "type": "object",
          "required": [
            "name",
            "use_mainbranch"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the target branch. If inherited by a repository, it will default to the main branch if the specified branch does not exist."
            },
            "use_mainbranch": {
              "type": "boolean",
              "description": "Indicates if the setting points at an explicit branch (`false`) or tracks the main branch (`true`)."
            }
          }
        },
        "branch_types": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "kind",
              "prefix"
            ],
            "properties": {
              "kind": {
                "enum": [
                  "feature",
                  "bugfix",
                  "release",
                  "hotfix"
                ],
                "type": "string",
                "description": "The kind of branch."
              },
              "prefix": {
                "type": "string",
                "description": "The prefix for this branch type. A branch with this prefix will be classified as per `kind`. The prefix must be a valid prefix for a branch and must always exist. It cannot be blank, empty or `null`."
              }
            }
          },
          "maxItems": 4,
          "minItems": 0,
          "description": "The active branch types.",
          "uniqueItems": true
        }
      },
      "description": "A project's branching model",
      "additionalProperties": true
    }
  ]
}
object project_deploy_key
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Project Deploy Key",
      "properties": {
        "key": {
          "type": "string",
          "description": "The deploy key value."
        },
        "label": {
          "type": "string",
          "description": "The user-defined label for the deploy key"
        },
        "links": {
          "type": "object",
          "properties": {
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "comment": {
          "type": "string",
          "description": "The comment parsed from the deploy key (if present)"
        },
        "project": {
          "$ref": "#/components/schemas/project"
        },
        "added_on": {
          "type": "string",
          "format": "date-time"
        },
        "last_used": {
          "type": "string",
          "format": "date-time"
        },
        "created_by": {
          "$ref": "#/components/schemas/account"
        }
      },
      "description": "Represents deploy key for a project.",
      "additionalProperties": true
    }
  ]
}
object project_group_permission
{
  "type": "object",
  "title": "Project Group Permission",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "group": {
      "$ref": "#/components/schemas/group"
    },
    "links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        }
      }
    },
    "project": {
      "$ref": "#/components/schemas/project"
    },
    "permission": {
      "enum": [
        "read",
        "write",
        "create-repo",
        "admin",
        "none"
      ],
      "type": "string"
    }
  },
  "description": "A group's permission for a given project.",
  "additionalProperties": true
}
object project_user_permission
{
  "type": "object",
  "title": "Project User Permission",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/user"
    },
    "links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        }
      }
    },
    "project": {
      "$ref": "#/components/schemas/project"
    },
    "permission": {
      "enum": [
        "read",
        "write",
        "create-repo",
        "admin",
        "none"
      ],
      "type": "string"
    }
  },
  "description": "A user's direct permission for a given project.",
  "additionalProperties": true
}
object pullrequest
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Pull Request",
      "properties": {
        "id": {
          "type": "integer",
          "description": "The pull request's unique ID. Note that pull request IDs are only unique within their associated repository."
        },
        "links": {
          "type": "object",
          "properties": {
            "diff": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "html": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "merge": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "approve": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "commits": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "decline": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "activity": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "comments": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "diffstat": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "state": {
          "enum": [
            "OPEN",
            "MERGED",
            "DECLINED",
            "SUPERSEDED"
          ],
          "type": "string",
          "description": "The pull request's current status."
        },
        "title": {
          "type": "string",
          "description": "Title of the pull request."
        },
        "author": {
          "$ref": "#/components/schemas/account"
        },
        "reason": {
          "type": "string",
          "description": "Explains why a pull request was declined. This field is only applicable to pull requests in rejected state."
        },
        "source": {
          "$ref": "#/components/schemas/pullrequest_endpoint"
        },
        "summary": {
          "type": "object",
          "properties": {
            "raw": {
              "type": "string",
              "description": "The text as it was typed by a user."
            },
            "html": {
              "type": "string",
              "description": "The user's content rendered as HTML."
            },
            "markup": {
              "enum": [
                "markdown",
                "creole",
                "plaintext"
              ],
              "type": "string",
              "description": "The type of markup language the raw content is to be interpreted in."
            }
          }
        },
        "rendered": {
          "type": "object",
          "title": "Rendered Pull Request Markup",
          "properties": {
            "title": {
              "type": "object",
              "properties": {
                "raw": {
                  "type": "string",
                  "description": "The text as it was typed by a user."
                },
                "html": {
                  "type": "string",
                  "description": "The user's content rendered as HTML."
                },
                "markup": {
                  "enum": [
                    "markdown",
                    "creole",
                    "plaintext"
                  ],
                  "type": "string",
                  "description": "The type of markup language the raw content is to be interpreted in."
                }
              }
            },
            "reason": {
              "type": "object",
              "properties": {
                "raw": {
                  "type": "string",
                  "description": "The text as it was typed by a user."
                },
                "html": {
                  "type": "string",
                  "description": "The user's content rendered as HTML."
                },
                "markup": {
                  "enum": [
                    "markdown",
                    "creole",
                    "plaintext"
                  ],
                  "type": "string",
                  "description": "The type of markup language the raw content is to be interpreted in."
                }
              }
            },
            "description": {
              "type": "object",
              "properties": {
                "raw": {
                  "type": "string",
                  "description": "The text as it was typed by a user."
                },
                "html": {
                  "type": "string",
                  "description": "The user's content rendered as HTML."
                },
                "markup": {
                  "enum": [
                    "markdown",
                    "creole",
                    "plaintext"
                  ],
                  "type": "string",
                  "description": "The type of markup language the raw content is to be interpreted in."
                }
              }
            }
          },
          "description": "User provided pull request text, interpreted in a markup language and rendered in HTML"
        },
        "closed_by": {
          "$ref": "#/components/schemas/account"
        },
        "reviewers": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/account"
          },
          "description": "The list of users that were added as reviewers on this pull request when it was created. For performance reasons, the API only includes this list on a pull request's `self` URL."
        },
        "created_on": {
          "type": "string",
          "format": "date-time",
          "description": "The ISO8601 timestamp the request was created."
        },
        "task_count": {
          "type": "integer",
          "minimum": 0,
          "description": "The number of open tasks for a specific pull request."
        },
        "updated_on": {
          "type": "string",
          "format": "date-time",
          "description": "The ISO8601 timestamp the request was last updated."
        },
        "destination": {
          "$ref": "#/components/schemas/pullrequest_endpoint"
        },
        "merge_commit": {
          "type": "object",
          "title": "Pull Request Commit",
          "properties": {
            "hash": {
              "type": "string",
              "pattern": "[0-9a-f]{7,}?"
            }
          }
        },
        "participants": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/participant"
          },
          "description": "        The list of users that are collaborating on this pull request.\n        Collaborators are user that:\n\n        * are added to the pull request as a reviewer (part of the reviewers\n          list)\n        * are not explicit reviewers, but have commented on the pull request\n        * are not explicit reviewers, but have approved the pull request\n\n        Each user is wrapped in an object that indicates the user's role and\n        whether they have approved the pull request. For performance reasons,\n        the API only returns this list when an API requests a pull request by\n        id.\n        "
        },
        "comment_count": {
          "type": "integer",
          "minimum": 0,
          "description": "The number of comments for a specific pull request."
        },
        "close_source_branch": {
          "type": "boolean",
          "description": "A boolean flag indicating if merging the pull request closes the source branch."
        }
      },
      "description": "A pull request object.",
      "additionalProperties": true
    }
  ]
}
object pullrequest_comment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/comment"
    },
    {
      "type": "object",
      "title": "Pull Request Comment",
      "properties": {
        "pending": {
          "type": "boolean"
        },
        "resolution": {
          "$ref": "#/components/schemas/comment_resolution"
        },
        "pullrequest": {
          "$ref": "#/components/schemas/pullrequest"
        }
      },
      "description": "A pullrequest comment.",
      "additionalProperties": true
    }
  ]
}
object pullrequest_endpoint
{
  "type": "object",
  "title": "Pull Request Endpoint",
  "properties": {
    "branch": {
      "type": "object",
      "title": "Pull Request Branch",
      "properties": {
        "name": {
          "type": "string"
        },
        "merge_strategies": {
          "type": "array",
          "items": {
            "enum": [
              "merge_commit",
              "squash",
              "fast_forward"
            ],
            "type": "string"
          },
          "description": "Available merge strategies, when this endpoint is the destination of the pull request."
        },
        "default_merge_strategy": {
          "type": "string",
          "description": "The default merge strategy, when this endpoint is the destination of the pull request."
        }
      }
    },
    "commit": {
      "type": "object",
      "title": "Pull Request Commit",
      "properties": {
        "hash": {
          "type": "string",
          "pattern": "[0-9a-f]{7,}?"
        }
      }
    },
    "repository": {
      "$ref": "#/components/schemas/repository"
    }
  }
}
object pullrequest_merge_parameters
{
  "type": "object",
  "title": "Pull Request Merge Parameters",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "message": {
      "type": "string",
      "description": "The commit message that will be used on the resulting commit. Note that the size of the message is limited to 128 KiB."
    },
    "merge_strategy": {
      "enum": [
        "merge_commit",
        "squash",
        "fast_forward"
      ],
      "type": "string",
      "default": "merge_commit",
      "description": "The merge strategy that will be used to merge the pull request."
    },
    "close_source_branch": {
      "type": "boolean",
      "description": "Whether the source branch should be deleted. If this is not provided, we fallback to the value used when the pull request was created, which defaults to False"
    }
  },
  "description": "The metadata that describes a pull request merge.",
  "additionalProperties": true
}
object ref
{
  "type": "object",
  "title": "Ref",
  "required": [
    "type"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the ref."
    },
    "type": {
      "type": "string"
    },
    "links": {
      "type": "object",
      "properties": {
        "html": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        },
        "self": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        },
        "commits": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        }
      }
    },
    "target": {
      "$ref": "#/components/schemas/commit"
    }
  },
  "description": "A ref object, representing a branch or tag in a repository.",
  "additionalProperties": true
}
object report
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Commit Report",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/report_data"
          },
          "description": "An array of data fields to display information on the report. Maximum 10."
        },
        "link": {
          "type": "string",
          "format": "uri",
          "description": "A URL linking to the results of the report in an external tool."
        },
        "uuid": {
          "type": "string",
          "description": "The UUID that can be used to identify the report."
        },
        "title": {
          "type": "string",
          "description": "The title of the report."
        },
        "result": {
          "enum": [
            "PASSED",
            "FAILED",
            "PENDING"
          ],
          "type": "string",
          "description": "The state of the report. May be set to PENDING and later updated."
        },
        "details": {
          "type": "string",
          "description": "A string to describe the purpose of the report."
        },
        "logo_url": {
          "type": "string",
          "format": "uri",
          "description": "A URL to the report logo. If none is provided, the default insights logo will be used."
        },
        "reporter": {
          "type": "string",
          "description": "A string to describe the tool or company who created the report."
        },
        "created_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the report was created."
        },
        "updated_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the report was updated."
        },
        "external_id": {
          "type": "string",
          "description": "ID of the report provided by the report creator. It can be used to identify the report as an alternative to it's generated uuid. It is not used by Bitbucket, but only by the report creator for updating or deleting this specific report. Needs to be unique."
        },
        "report_type": {
          "enum": [
            "SECURITY",
            "COVERAGE",
            "TEST",
            "BUG"
          ],
          "type": "string",
          "description": "The type of the report."
        },
        "remote_link_enabled": {
          "type": "boolean",
          "description": "If enabled, a remote link is created in Jira for the issue associated with the commit the report belongs to."
        }
      },
      "description": "A report for a commit.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/commits/{commitHash}/reports/{uuid}",
  "x-bb-default-fields": [
    "uuid",
    "commitHash"
  ]
}
object report_annotation
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Report Annotation",
      "properties": {
        "line": {
          "type": "integer",
          "minimum": 1,
          "description": "The line number that the annotation should belong to. If no line number is provided, then it will default to 0 and in a pull request it will appear at the top of the file specified by the path field."
        },
        "link": {
          "type": "string",
          "format": "uri",
          "description": "A URL linking to the annotation in an external tool."
        },
        "path": {
          "type": "string",
          "description": "The path of the file on which this annotation should be placed. This is the path of the file relative to the git repository. If no path is provided, then it will appear in the overview modal on all pull requests where the tip of the branch is the given commit, regardless of which files were modified."
        },
        "uuid": {
          "type": "string",
          "description": "The UUID that can be used to identify the annotation."
        },
        "result": {
          "enum": [
            "PASSED",
            "FAILED",
            "SKIPPED",
            "IGNORED"
          ],
          "type": "string",
          "description": "The state of the report. May be set to PENDING and later updated."
        },
        "details": {
          "type": "string",
          "description": "The details to show to users when clicking on the annotation."
        },
        "summary": {
          "type": "string",
          "description": "The message to display to users."
        },
        "severity": {
          "enum": [
            "CRITICAL",
            "HIGH",
            "MEDIUM",
            "LOW"
          ],
          "type": "string",
          "description": "The severity of the annotation."
        },
        "created_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the report was created."
        },
        "updated_on": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the report was updated."
        },
        "external_id": {
          "type": "string",
          "description": "ID of the annotation provided by the annotation creator. It can be used to identify the annotation as an alternative to it's generated uuid. It is not used by Bitbucket, but only by the annotation creator for updating or deleting this specific annotation. Needs to be unique."
        },
        "annotation_type": {
          "enum": [
            "VULNERABILITY",
            "CODE_SMELL",
            "BUG"
          ],
          "type": "string",
          "description": "The type of the report."
        }
      },
      "description": "A report for a commit.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/commits/{commit.hash}/reports/{reportUuid}/annotations/{uuid}",
  "x-bb-default-fields": [
    "uuid"
  ]
}
object report_data
{
  "type": "object",
  "title": "Report Data",
  "properties": {
    "type": {
      "enum": [
        "BOOLEAN",
        "DATE",
        "DURATION",
        "LINK",
        "NUMBER",
        "PERCENTAGE",
        "TEXT"
      ],
      "type": "string",
      "description": "The type of data contained in the value field. If not provided, then the value will be detected as a boolean, number or string."
    },
    "title": {
      "type": "string",
      "description": "A string describing what this data field represents."
    },
    "value": {
      "type": "object",
      "description": "The value of the data element."
    }
  },
  "description": "A key-value element that will be displayed along with the report."
}
object repository
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Repository",
      "properties": {
        "scm": {
          "enum": [
            "git"
          ],
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "size": {
          "type": "integer"
        },
        "uuid": {
          "type": "string",
          "description": "The repository's immutable id. This can be used as a substitute for the slug segment in URLs. Doing this guarantees your URLs will survive renaming of the repository by its owner, or even transfer of the repository to a different user."
        },
        "links": {
          "type": "object",
          "properties": {
            "html": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "clone": {
              "type": "array",
              "items": {
                "type": "object",
                "title": "Link",
                "properties": {
                  "href": {
                    "type": "string",
                    "format": "uri"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "description": "A link to a resource related to this object."
              }
            },
            "forks": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "hooks": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "avatar": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "commits": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "watchers": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "downloads": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "pullrequests": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "owner": {
          "$ref": "#/components/schemas/account"
        },
        "parent": {
          "$ref": "#/components/schemas/repository"
        },
        "project": {
          "$ref": "#/components/schemas/project"
        },
        "has_wiki": {
          "type": "boolean",
          "description": "\nThe wiki for this repository is enabled. Wiki\nfeatures are not supported for repositories in workspaces\nadministered through admin.atlassian.com.\n"
        },
        "language": {
          "type": "string"
        },
        "full_name": {
          "type": "string",
          "description": "The concatenation of the repository owner's username and the slugified name, e.g. \"evzijst/interruptingcow\". This is the same string used in Bitbucket URLs."
        },
        "created_on": {
          "type": "string",
          "format": "date-time"
        },
        "has_issues": {
          "type": "boolean",
          "description": "\nThe issue tracker for this repository is enabled. Issue Tracker\nfeatures are not supported for repositories in workspaces\nadministered through admin.atlassian.com.\n"
        },
        "is_private": {
          "type": "boolean"
        },
        "mainbranch": {
          "$ref": "#/components/schemas/branch"
        },
        "updated_on": {
          "type": "string",
          "format": "date-time"
        },
        "description": {
          "type": "string"
        },
        "fork_policy": {
          "enum": [
            "allow_forks",
            "no_public_forks",
            "no_forks"
          ],
          "type": "string",
          "description": "\nControls the rules for forking this repository.\n\n* **allow_forks**: unrestricted forking\n* **no_public_forks**: restrict forking to private forks (forks cannot\n  be made public later)\n* **no_forks**: deny all forking\n"
        }
      },
      "description": "A Bitbucket repository.",
      "additionalProperties": true
    }
  ]
}
object repository_group_permission
{
  "type": "object",
  "title": "Repository Group Permission",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "group": {
      "$ref": "#/components/schemas/group"
    },
    "links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        }
      }
    },
    "permission": {
      "enum": [
        "read",
        "write",
        "admin",
        "none"
      ],
      "type": "string"
    },
    "repository": {
      "$ref": "#/components/schemas/repository"
    }
  },
  "description": "A group's permission for a given repository.",
  "additionalProperties": true
}
object repository_inheritance_state
{
  "type": "object",
  "title": "Repository Inheritance State",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "override_settings": {
      "type": "object"
    }
  },
  "description": "A json object representing the repository's inheritance state values",
  "additionalProperties": true
}
object repository_permission
{
  "type": "object",
  "title": "Repository Permission",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/user"
    },
    "permission": {
      "enum": [
        "read",
        "write",
        "admin",
        "none"
      ],
      "type": "string"
    },
    "repository": {
      "$ref": "#/components/schemas/repository"
    }
  },
  "description": "A user's permission for a given repository.",
  "additionalProperties": true
}
object repository_user_permission
{
  "type": "object",
  "title": "Repository User Permission",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "user": {
      "$ref": "#/components/schemas/user"
    },
    "links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        }
      }
    },
    "permission": {
      "enum": [
        "read",
        "write",
        "admin",
        "none"
      ],
      "type": "string"
    },
    "repository": {
      "$ref": "#/components/schemas/repository"
    }
  },
  "description": "A user's direct permission for a given repository.",
  "additionalProperties": true
}
object search_code_search_result
{
  "type": "object",
  "properties": {
    "file": {
      "$ref": "#/components/schemas/commit_file"
    },
    "type": {
      "type": "string",
      "readOnly": true
    },
    "path_matches": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/search_segment"
      },
      "readOnly": true
    },
    "content_matches": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/search_content_match"
      },
      "readOnly": true
    },
    "content_match_count": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
    }
  }
}
object search_content_match
{
  "type": "object",
  "properties": {
    "lines": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/search_line"
      },
      "readOnly": true
    }
  }
}
object search_line
{
  "type": "object",
  "properties": {
    "line": {
      "type": "integer",
      "format": "int32",
      "readOnly": true
    },
    "segments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/search_segment"
      },
      "readOnly": true
    }
  }
}
object search_result_page
{
  "type": "object",
  "properties": {
    "next": {
      "type": "string",
      "format": "uri",
      "readOnly": true
    },
    "page": {
      "type": "integer",
      "format": "int32",
      "readOnly": true
    },
    "size": {
      "type": "integer",
      "format": "int64",
      "readOnly": true
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/search_code_search_result"
      },
      "readOnly": true
    },
    "pagelen": {
      "type": "integer",
      "format": "int32",
      "readOnly": true
    },
    "previous": {
      "type": "string",
      "format": "uri",
      "readOnly": true
    },
    "query_substituted": {
      "type": "boolean",
      "readOnly": true
    }
  }
}
object search_segment
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "readOnly": true
    },
    "match": {
      "type": "boolean",
      "readOnly": true
    }
  }
}
object snippet
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Snippet",
      "properties": {
        "id": {
          "type": "integer",
          "minimum": 0
        },
        "scm": {
          "enum": [
            "git"
          ],
          "type": "string",
          "description": "The DVCS used to store the snippet."
        },
        "owner": {
          "$ref": "#/components/schemas/account"
        },
        "title": {
          "type": "string"
        },
        "creator": {
          "$ref": "#/components/schemas/account"
        },
        "created_on": {
          "type": "string",
          "format": "date-time"
        },
        "is_private": {
          "type": "boolean"
        },
        "updated_on": {
          "type": "string",
          "format": "date-time"
        }
      },
      "description": "A snippet object.",
      "additionalProperties": true
    }
  ]
}
object snippet_comment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Snippet Comment",
      "properties": {
        "links": {
          "type": "object",
          "properties": {
            "html": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "snippet": {
          "$ref": "#/components/schemas/snippet"
        }
      },
      "description": "A comment on a snippet.",
      "additionalProperties": true
    }
  ]
}
object snippet_commit
{
  "allOf": [
    {
      "$ref": "#/components/schemas/base_commit"
    },
    {
      "type": "object",
      "title": "Snippet Commit",
      "properties": {
        "links": {
          "type": "object",
          "properties": {
            "diff": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "html": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "snippet": {
          "$ref": "#/components/schemas/snippet"
        }
      },
      "description": "",
      "additionalProperties": true
    }
  ]
}
object ssh_account_key
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ssh_key"
    },
    {
      "type": "object",
      "title": "SSH Account Key",
      "properties": {
        "owner": {
          "$ref": "#/components/schemas/account"
        }
      },
      "description": "Represents an SSH public key for a user.",
      "additionalProperties": true
    }
  ]
}
object ssh_key
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "SSH Key",
      "properties": {
        "key": {
          "type": "string",
          "description": "The SSH public key value in OpenSSH format."
        },
        "uuid": {
          "type": "string",
          "description": "The SSH key's immutable ID."
        },
        "label": {
          "type": "string",
          "description": "The user-defined label for the SSH key"
        },
        "links": {
          "type": "object",
          "properties": {
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "comment": {
          "type": "string",
          "description": "The comment parsed from the SSH key (if present)"
        },
        "last_used": {
          "type": "string",
          "format": "date-time"
        },
        "created_on": {
          "type": "string",
          "format": "date-time"
        }
      },
      "description": "Base type for representing SSH public keys.",
      "additionalProperties": true
    }
  ]
}
object stg_west_report
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "description": "A report for a commit.",
      "additionalProperties": true
    }
  ],
  "x-bb-url": "/rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/commits/{commitHash}/reports/{uuid}",
  "x-bb-default-fields": [
    "uuid",
    "commitHash"
  ]
}
object subject_types
{
  "type": "object",
  "title": "Subject Types",
  "properties": {
    "workspace": {
      "type": "object",
      "properties": {
        "events": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        }
      }
    },
    "repository": {
      "type": "object",
      "properties": {
        "events": {
          "type": "object",
          "title": "Link",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri"
            },
            "name": {
              "type": "string"
            }
          },
          "description": "A link to a resource related to this object."
        }
      }
    }
  },
  "description": "The mapping of resource/subject types pointing to their individual event types."
}
object tag
{
  "allOf": [
    {
      "$ref": "#/components/schemas/ref"
    },
    {
      "type": "object",
      "title": "Tag",
      "properties": {
        "date": {
          "type": "string",
          "format": "date-time",
          "description": "The date that the tag was created, if available"
        },
        "tagger": {
          "$ref": "#/components/schemas/author"
        },
        "message": {
          "type": "string",
          "description": "The message associated with the tag, if available."
        }
      },
      "description": "A tag object, representing a tag in a repository.",
      "additionalProperties": true
    }
  ]
}
object task
{
  "type": "object",
  "title": "Task",
  "required": [
    "created_on",
    "updated_on",
    "state",
    "content",
    "creator"
  ],
  "properties": {
    "id": {
      "type": "integer"
    },
    "state": {
      "enum": [
        "RESOLVED",
        "UNRESOLVED"
      ],
      "type": "string"
    },
    "content": {
      "type": "object",
      "properties": {
        "raw": {
          "type": "string",
          "description": "The text as it was typed by a user."
        },
        "html": {
          "type": "string",
          "description": "The user's content rendered as HTML."
        },
        "markup": {
          "enum": [
            "markdown",
            "creole",
            "plaintext"
          ],
          "type": "string",
          "description": "The type of markup language the raw content is to be interpreted in."
        }
      }
    },
    "creator": {
      "$ref": "#/components/schemas/account"
    },
    "pending": {
      "type": "boolean"
    },
    "created_on": {
      "type": "string",
      "format": "date-time"
    },
    "updated_on": {
      "type": "string",
      "format": "date-time"
    },
    "resolved_by": {
      "$ref": "#/components/schemas/account"
    },
    "resolved_on": {
      "type": "string",
      "format": "date-time",
      "description": "The ISO8601 timestamp for when the task was resolved."
    }
  },
  "description": "A task object."
}
object team
{
  "allOf": [
    {
      "$ref": "#/components/schemas/account"
    },
    {
      "type": "object",
      "title": "Team",
      "properties": {
        "links": {
          "$ref": "#/components/schemas/team_links"
        }
      },
      "description": "A team object.",
      "additionalProperties": true
    }
  ]
}
object team_links
{
  "allOf": [
    {
      "$ref": "#/components/schemas/account_links"
    },
    {
      "type": "object",
      "title": "Team Links",
      "properties": {
        "html": {
          "$ref": "#/components/schemas/link"
        },
        "self": {
          "$ref": "#/components/schemas/link"
        },
        "members": {
          "$ref": "#/components/schemas/link"
        },
        "projects": {
          "$ref": "#/components/schemas/link"
        },
        "repositories": {
          "$ref": "#/components/schemas/link"
        }
      },
      "description": "Links related to a Team.",
      "additionalProperties": true
    }
  ]
}
object treeentry
{
  "type": "object",
  "title": "Tree Entry",
  "required": [
    "type"
  ],
  "properties": {
    "path": {
      "type": "string",
      "description": "The path in the repository"
    },
    "type": {
      "type": "string"
    },
    "commit": {
      "$ref": "#/components/schemas/commit"
    }
  },
  "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`.",
  "additionalProperties": true
}
object user
{
  "allOf": [
    {
      "$ref": "#/components/schemas/account"
    },
    {
      "type": "object",
      "title": "User",
      "properties": {
        "links": {
          "$ref": "#/components/schemas/user_links"
        },
        "website": {
          "type": "string"
        },
        "is_staff": {
          "type": "boolean"
        },
        "nickname": {
          "type": "string",
          "description": "Account name defined by the owner. Should be used instead of the \"username\" field. Note that \"nickname\" cannot be used in place of \"username\" in URLs and queries, as \"nickname\" is not guaranteed to be unique."
        },
        "account_id": {
          "type": "string",
          "description": "The user's Atlassian account ID."
        },
        "account_status": {
          "type": "string",
          "description": "The status of the account. Currently the only possible value is \"active\", but more values may be added in the future."
        },
        "has_2fa_enabled": {
          "type": "boolean"
        }
      },
      "description": "A user object.",
      "additionalProperties": true
    }
  ]
}
object user_links
{
  "allOf": [
    {
      "$ref": "#/components/schemas/account_links"
    },
    {
      "type": "object",
      "title": "User Links",
      "properties": {
        "html": {
          "$ref": "#/components/schemas/link"
        },
        "self": {
          "$ref": "#/components/schemas/link"
        },
        "repositories": {
          "$ref": "#/components/schemas/link"
        }
      },
      "description": "Links related to a User.",
      "additionalProperties": true
    }
  ]
}
object version
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Version",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "links": {
          "type": "object",
          "properties": {
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        }
      },
      "description": "A version as defined in a repository's issue tracker.",
      "additionalProperties": true
    }
  ]
}
object webhook_subscription
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Webhook Subscription",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "The URL events get delivered to."
        },
        "uuid": {
          "type": "string",
          "description": "The webhook's id"
        },
        "active": {
          "type": "boolean"
        },
        "events": {
          "type": "array",
          "items": {
            "enum": [
              "pullrequest:updated",
              "issue:comment_created",
              "repo:transfer",
              "issue:created",
              "pullrequest:rejected",
              "repo:deleted",
              "pullrequest:fulfilled",
              "repo:commit_status_created",
              "repo:imported",
              "pullrequest:changes_request_created",
              "repo:push",
              "pullrequest:created",
              "pullrequest:comment_created",
              "project:updated",
              "repo:created",
              "repo:commit_status_updated",
              "pullrequest:unapproved",
              "repo:commit_comment_created",
              "pullrequest:comment_reopened",
              "repo:fork",
              "repo:updated",
              "pullrequest:comment_deleted",
              "issue:updated",
              "pullrequest:changes_request_removed",
              "pullrequest:comment_resolved",
              "pullrequest:approved",
              "pullrequest:comment_updated"
            ],
            "type": "string"
          },
          "minItems": 1,
          "description": "The events this webhook is subscribed to.",
          "uniqueItems": true
        },
        "secret": {
          "type": "string",
          "maxLength": 128,
          "minLength": 0,
          "description": "The secret to associate with the hook. The secret is never returned via the API. As such, this field is only used during updates. The secret can be set to `null` or \"\" to remove the secret (or create a hook with no secret). Leaving out the secret field during updates will leave the secret unchanged. Leaving out the secret during creation will create a hook with no secret."
        },
        "subject": {
          "$ref": "#/components/schemas/object"
        },
        "created_at": {
          "type": "string",
          "format": "date-time"
        },
        "secret_set": {
          "type": "boolean",
          "description": "Indicates whether or not the hook has an associated secret. It is not possible to see the hook's secret. This field is ignored during updates."
        },
        "description": {
          "type": "string",
          "description": "A user-defined description of the webhook."
        },
        "subject_type": {
          "enum": [
            "repository",
            "workspace"
          ],
          "type": "string",
          "description": "The type of entity. Set to either `repository` or `workspace` based on where the subscription is defined."
        }
      },
      "description": "A Webhook subscription.",
      "additionalProperties": true
    }
  ]
}
object workspace
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Workspace",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the workspace."
        },
        "slug": {
          "type": "string",
          "description": "The short label that identifies this workspace."
        },
        "uuid": {
          "type": "string",
          "description": "The workspace's immutable id."
        },
        "links": {
          "type": "object",
          "properties": {
            "html": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "avatar": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "owners": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "members": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "projects": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "snippets": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            },
            "repositories": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "created_on": {
          "type": "string",
          "format": "date-time"
        },
        "is_private": {
          "type": "boolean",
          "description": "Indicates whether the workspace is publicly accessible, or whether it is\nprivate to the members and consequently only visible to members."
        },
        "updated_on": {
          "type": "string",
          "format": "date-time"
        }
      },
      "description": "A Bitbucket workspace.\n            Workspaces are used to organize repositories.",
      "additionalProperties": true
    }
  ]
}
object workspace_membership
{
  "allOf": [
    {
      "$ref": "#/components/schemas/object"
    },
    {
      "type": "object",
      "title": "Workspace Membership",
      "properties": {
        "user": {
          "$ref": "#/components/schemas/account"
        },
        "links": {
          "type": "object",
          "properties": {
            "self": {
              "type": "object",
              "title": "Link",
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "name": {
                  "type": "string"
                }
              },
              "description": "A link to a resource related to this object."
            }
          }
        },
        "workspace": {
          "$ref": "#/components/schemas/workspace"
        }
      },
      "description": "A Bitbucket workspace membership.\n            Links a user to a workspace.",
      "additionalProperties": true
    }
  ]
}