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 1 endpoints

POST /addon/linkers/{linker_key}/values

Creates a [linker](https://dac-static.atlassian.com) value for the specified linker of 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_createLinkerValue

Responses

201 Successfully created the linker value.
401 Authentication must use app JWT
404 The linker does not exist.
409 The linker already has the value being added.
POST /addon/linkers/{linker_key}/values

Branch restrictions 1 endpoints

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

Creates a new branch restriction rule for a repository. `kind` describes what will be restricted. Allowed values include: `push`, `force`, `delete`, `restrict_merges`, `require_tasks_to_be_completed`, `require_approvals_to_merge`, `require_default_reviewer_approvals_to_merge`, `require_no_changes_requested`, `require_passing_builds_to_merge`, `require_commits_behind`, `reset_pullrequest_approvals_on_change`, `smart_reset_pullrequest_approvals`, `reset_pullrequest_changes_requested_on_change`, `require_all_dependencies_merged`, `enforce_merge_checks`, and `allow_auto_merge_when_builds_pass`. Different kinds of branch restrictions have different requirements: * `push` and `restrict_merges` require `users` and `groups` to be specified. Empty lists are allowed, in which case permission is denied for everybody. The restriction applies to all branches that match. There are two ways to match a branch. It is configured in `branch_match_kind`: 1. `glob`: Matches a branch against the `pattern`. A `'*'` in `pattern` will expand to match zero or more characters, and every other character matches itself. For example, `'foo*'` will match `'foo'` and `'foobar'`, but not `'barfoo'`. `'*'` will match all branches. 2. `branching_model`: Matches a branch against the repository's branching model. The `branch_type` controls the type of branch to match. Allowed values include: `production`, `development`, `bugfix`, `release`, `feature` and `hotfix`. The combination of `kind` and match must be unique. This means that two `glob` restrictions in a repository cannot have the same `kind` and `pattern`. Additionally, two `branching_model` restrictions in a repository cannot have the same `kind` and `branch_type`. `users` and `groups` are lists of users and groups that are except from the restriction. They can only be configured in `push` and `restrict_merges` restrictions. The `push` restriction stops a user pushing to matching branches unless that user is in `users` or is a member of a group in `groups`. The `restrict_merges` stops a user merging pull requests to matching branches unless that user is in `users` or is a member of a group in `groups`. Adding new users or groups to an existing restriction should be done via `PUT`. Note that branch restrictions with overlapping matchers is allowed, but the resulting behavior may be surprising.

operationId: BranchRestrictions_createRule

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/branchrestriction"
      }
    }
  },
  "required": true,
  "description": "The new rule"
}

Responses

201 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
POST /repositories/{workspace}/{repo_slug}/branch-restrictions

Commit statuses 1 endpoints

POST /repositories/{workspace}/{repo_slug}/commit/{commit}/statuses/build

Creates a new build status against the specified commit. If the specified key already exists, the existing status object will be overwritten. Example: ``` curl https://api.bitbucket.org/2.0/repositories/my-workspace/my-repo/commit/e10dae226959c2194f2b07b077c07762d93821cf/statuses/build/ -X POST -u jdoe -H 'Content-Type: application/json' -d '{ "key": "MY-BUILD", "state": "SUCCESSFUL", "description": "42 tests passed", "url": "https://www.example.org/my-build-result" }' ``` When creating a new commit status, you can use a URI template for the URL. Templates are URLs that contain variable names that Bitbucket will evaluate at runtime whenever the URL is displayed anywhere similar to parameter substitution in [Bitbucket Connect](https://developer.atlassian.com/bitbucket/concepts/context-parameters.html). 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. The context variables available are `repository` and `commit`.

operationId: CommitStatuses_createBuildStatus

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/commitstatus"
      }
    }
  },
  "description": "The new commit status object."
}

Responses

201 The newly created build status object.
401 If the repository is private and the request was not authenticated.
404 If the repository, commit, or build status key does not exist
POST /repositories/{workspace}/{repo_slug}/commit/{commit}/statuses/build

Commits 4 endpoints

POST /repositories/{workspace}/{repo_slug}/commit/{commit}/approve

Approve the specified commit as the authenticated user. This operation is only available to users that have explicit access to the repository. In contrast, just the fact that a repository is publicly accessible to users does not give them the ability to approve commits.

operationId: Commits_approveCommit

Responses

200 The `participant` object recording that the authenticated user approved the commit.
404 If the specified commit, or the repository does not exist.
POST /repositories/{workspace}/{repo_slug}/commit/{commit}/approve
POST /repositories/{workspace}/{repo_slug}/commit/{commit}/comments

Creates new comment on the specified commit. To post a reply to an existing comment, include the `parent.id` field: ``` $ curl https://api.bitbucket.org/2.0/repositories/atlassian/prlinks/commit/db9ba1e031d07a02603eae0e559a7adc010257fc/comments/ \ -X POST -u evzijst \ -H 'Content-Type: application/json' \ -d '{"content": {"raw": "One more thing!"}, "parent": {"id": 5728901}}' ```

operationId: Commits_createComment

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/commit_comment"
      }
    }
  },
  "required": true,
  "description": "The specified comment."
}

Responses

201 The newly created comment.
400 If the comment was detected as spam, or if the parent comment is not attached to the same node as the new comment
404 If a parent ID was passed in that cannot be found
POST /repositories/{workspace}/{repo_slug}/commit/{commit}/comments
POST /repositories/{workspace}/{repo_slug}/commits

Identical to `GET /repositories/{workspace}/{repo_slug}/commits`, except that POST allows clients to place the include and exclude parameters in the request body to avoid URL length issues. **Note that this resource does NOT support new commit creation.**

operationId: Commits_listWithIncludeExclude

Responses

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

Identical to `GET /repositories/{workspace}/{repo_slug}/commits/{revision}`, except that POST allows clients to place the include and exclude parameters in the request body to avoid URL length issues. **Note that this resource does NOT support new commit creation.**

operationId: Commits_listForRevision

Responses

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

Deployments 4 endpoints

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

Create a new deploy key in a repository. Note: If authenticating a deploy key with an OAuth consumer, any changes to the OAuth consumer will subsequently invalidate the deploy key. Example: ``` $ curl -X POST \ -H "Authorization <auth header>" \ -H "Content-type: application/json" \ https://api.bitbucket.org/2.0/repositories/mleu/test/deploy-keys -d \ '{ "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAK/b1cHHDr/TEV1JGQl+WjCwStKG6Bhrv0rFpEsYlyTBm1fzN0VOJJYn4ZOPCPJwqse6fGbXntEs+BbXiptR+++HycVgl65TMR0b5ul5AgwrVdZdT7qjCOCgaSV74/9xlHDK8oqgGnfA7ZoBBU+qpVyaloSjBdJfLtPY/xqj4yHnXKYzrtn/uFc4Kp9Tb7PUg9Io3qohSTGJGVHnsVblq/rToJG7L5xIo0OxK0SJSQ5vuId93ZuFZrCNMXj8JDHZeSEtjJzpRCBEXHxpOPhAcbm4MzULgkFHhAVgp4JbkrT99/wpvZ7r9AdkTg7HGqL3rlaDrEcWfL7Lu6TnhBdq5 mleu@C02W454JHTD8", "label": "mydeploykey" }' ```

operationId: Deployments_addRepositoryDeployKey

Responses

200 The deploy key that was created
400 Invalid deploy key inputs
403 If the specified user or repository is not accessible to the current user
404 If the specified user or repository does not exist
POST /repositories/{workspace}/{repo_slug}/deploy-keys
POST /repositories/{workspace}/{repo_slug}/environments

Create an environment.

operationId: Deployments_createEnvironment

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.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/deployment_environment"
      }
    }
  },
  "required": true,
  "description": "The environment to create."
}

Responses

201 The environment was created.
404 The account or repository does not exist.
409 An environment host with the provided name already exists.
POST /repositories/{workspace}/{repo_slug}/environments
POST /repositories/{workspace}/{repo_slug}/environments/{environment_uuid}/changes

Update an environment

operationId: Deployments_updateEnvironment

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

202 The environment update request was accepted.
404 No account, repository or environment with the UUID provided exists.
POST /repositories/{workspace}/{repo_slug}/environments/{environment_uuid}/changes
POST /workspaces/{workspace}/projects/{project_key}/deploy-keys

Create a new deploy key in a project. Example: ``` $ curl -X POST \ -H "Authorization <auth header>" \ -H "Content-type: application/json" \ https://api.bitbucket.org/2.0/workspaces/standard/projects/TEST_PROJECT/deploy-keys/ -d \ '{ "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAK/b1cHHDr/TEV1JGQl+WjCwStKG6Bhrv0rFpEsYlyTBm1fzN0VOJJYn4ZOPCPJwqse6fGbXntEs+BbXiptR+++HycVgl65TMR0b5ul5AgwrVdZdT7qjCOCgaSV74/9xlHDK8oqgGnfA7ZoBBU+qpVyaloSjBdJfLtPY/xqj4yHnXKYzrtn/uFc4Kp9Tb7PUg9Io3qohSTGJGVHnsVblq/rToJG7L5xIo0OxK0SJSQ5vuId93ZuFZrCNMXj8JDHZeSEtjJzpRCBEXHxpOPhAcbm4MzULgkFHhAVgp4JbkrT99/wpvZ7r9AdkTg7HGqL3rlaDrEcWfL7Lu6TnhBdq5 mleu@C02W454JHTD8", "label": "mydeploykey" }' ```

operationId: Deployments_createProjectDeployKey

Responses

200 The project deploy key that was created
400 Invalid deploy key inputs
403 If the specified workspace or project is not accessible to the current user
404 If the specified workspace or project does not exist
POST /workspaces/{workspace}/projects/{project_key}/deploy-keys

Downloads 1 endpoints

POST /repositories/{workspace}/{repo_slug}/downloads

Upload new download artifacts. To upload files, perform a `multipart/form-data` POST containing one or more `files` fields: $ echo Hello World > hello.txt $ curl -s -u evzijst -X POST https://api.bitbucket.org/2.0/repositories/evzijst/git-tests/downloads -F files=@hello.txt When a file is uploaded with the same name as an existing artifact, then the existing file will be replaced.

operationId: Downloads_uploadArtifact

Responses

201 The artifact was uploaded sucessfully.
400 Bad Request.
403 User is not authorized to write to the repository.
406 Unsupported Content-Type. Use multiplart/form-data.
POST /repositories/{workspace}/{repo_slug}/downloads

Issue tracker 6 endpoints

POST /repositories/{workspace}/{repo_slug}/issues

Creates a new issue. This call requires authentication. Private repositories or private issue trackers require the caller to authenticate with an account that has appropriate authorization. The authenticated user is used for the issue's `reporter` field.

operationId: IssueTracker_createNewIssue

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/issue"
      }
    }
  },
  "required": true,
  "description": "The new issue. The only required element is `title`. All other elements can be omitted from the body."
}

Responses

201 The newly created issue.
401 When the request wasn't authenticated.
403 When the authenticated user isn't authorized to create the issue.
404 The specified repository does not exist or does not have the issue tracker enabled.
POST /repositories/{workspace}/{repo_slug}/issues
POST /repositories/{workspace}/{repo_slug}/issues/export

A POST request to this endpoint initiates a new background celery task that archives the repo's issues. When the job has been accepted, it will return a 202 (Accepted) along with a unique url to this job in the 'Location' response header. This url is the endpoint for where the user can obtain their zip files."

operationId: IssueTracker_initiateJob

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/export_options"
      }
    }
  },
  "description": "The options to apply to the export. Available options include `project_key` and `project_name` which, if specified, are used as the project key and name in the exported Jira json format. Option `send_email` specifies whether an email should be sent upon export result. Option `include_attachments` specifies whether attachments are included in the export."
}

Responses

202 The export job has been accepted
401 The request wasn't authenticated properly
403 When the authenticated user does not have admin permission on the repo
404 The repo does not exist or does not have an issue tracker
POST /repositories/{workspace}/{repo_slug}/issues/export
POST /repositories/{workspace}/{repo_slug}/issues/import

A POST request to this endpoint will import the zip file given by the archive parameter into the repository. All existing issues will be deleted and replaced by the contents of the imported zip file. Imports are done through a multipart/form-data POST. There is one valid and required form field, with the name "archive," which needs to be a file field: ``` $ curl -u <username> -X POST -F archive=@/path/to/file.zip https://api.bitbucket.org/2.0/repositories/<owner_username>/<repo_slug>/issues/import ```

operationId: IssueTracker_importIssuesFromZip

Responses

202 Import 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
409 Import already running
POST /repositories/{workspace}/{repo_slug}/issues/import
POST /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments

Upload new issue attachments. To upload files, perform a `multipart/form-data` POST containing one or more file fields. When a file is uploaded with the same name as an existing attachment, then the existing file will be replaced.

operationId: IssueTracker_uploadAttachment

Responses

201 An empty response document.
400 If no files were uploaded, or if the wrong `Content-Type` was used.
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.
POST /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments
POST /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes

Makes a change to the specified issue. For example, to change an issue's state and assignee, create a new change object that modifies these fields: ``` curl https://api.bitbucket.org/2.0/site/master/issues/1234/changes \ -s -u evzijst -X POST -H "Content-Type: application/json" \ -d '{ "changes": { "assignee_account_id": { "new": "557058:c0b72ad0-1cb5-4018-9cdc-0cde8492c443" }, "state": { "new": 'resolved" } } "message": { "raw": "This is now resolved." } }' ``` The above example also includes a custom comment to go alongside the change. This comment will also be visible on the issue page in the UI. The fields of the `changes` object are strings, not objects. This allows for immutable change log records, even after user accounts, milestones, or other objects recorded in a change entry, get renamed or deleted. The `assignee_account_id` field stores the account id. When POSTing a new change and changing the assignee, the client should therefore use the user's account_id in the `changes.assignee_account_id.new` field. This call requires authentication. Private repositories or private issue trackers require the caller to authenticate with an account that has appropriate authorization.

operationId: IssueTracker_modifyIssueState

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/issue_change"
      }
    }
  },
  "required": true,
  "description": "The new issue state change. The only required elements are `changes.[].new`. All other elements can be omitted from the body."
}

Responses

201 The newly created issue change.
401 When the request wasn't authenticated.
403 When the authenticated user isn't authorized to modify the issue.
404 The specified repository or issue does not exist or does not have the issue tracker enabled.
POST /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes
POST /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments

Creates a new issue comment. ``` $ curl https://api.bitbucket.org/2.0/repositories/atlassian/prlinks/issues/42/comments/ \ -X POST -u evzijst \ -H 'Content-Type: application/json' \ -d '{"content": {"raw": "Lorem ipsum."}}' ```

operationId: IssueTracker_createCommentOnIssue

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/issue_comment"
      }
    }
  },
  "required": true,
  "description": "The new issue comment object."
}

Responses

201 The newly created comment.
400 If the input was invalid, or if the comment being created is detected as spam
POST /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments

Pipelines 7 endpoints

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

Create a deployment environment level variable.

operationId: Pipelines_createDeploymentEnvironmentVariable

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.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/deployment_variable"
      }
    }
  },
  "required": true,
  "description": "The variable to create"
}

Responses

201 The variable was created.
404 The account, repository, environment or variable with the given UUID was not found.
409 A variable with the provided key already exists.
POST /repositories/{workspace}/{repo_slug}/deployments_config/environments/{environment_uuid}/variables
POST /repositories/{workspace}/{repo_slug}/pipelines

Endpoint to create and initiate a pipeline. There are a couple of different options to initiate a pipeline, where the payload of the request will determine which type of pipeline will be instantiated. # Trigger a Pipeline for a branch One way to trigger pipelines is by specifying the branch for which you want to trigger a pipeline. The specified branch will be used to determine which pipeline definition from the `bitbucket-pipelines.yml` file will be applied to initiate the pipeline. The pipeline will then do a clone of the repository and checkout the latest revision of the specified branch. ### Example ``` $ curl -X POST -is -u username:password \ -H 'Content-Type: application/json' \ https://api.bitbucket.org/2.0/repositories/jeroendr/meat-demo2/pipelines/ \ -d ' { "target": { "ref_type": "branch", "type": "pipeline_ref_target", "ref_name": "master" } }' ``` # Trigger a Pipeline for a commit on a branch or tag You can initiate a pipeline for a specific commit and in the context of a specified reference (e.g. a branch, tag or bookmark). The specified reference will be used to determine which pipeline definition from the bitbucket-pipelines.yml file will be applied to initiate the pipeline. The pipeline will clone the repository and then do a checkout the specified reference. The following reference types are supported: * `branch` * `named_branch` * `bookmark` * `tag` ### Example ``` $ curl -X POST -is -u username:password \ -H 'Content-Type: application/json' \ https://api.bitbucket.org/2.0/repositories/jeroendr/meat-demo2/pipelines/ \ -d ' { "target": { "commit": { "type": "commit", "hash": "ce5b7431602f7cbba007062eeb55225c6e18e956" }, "ref_type": "branch", "type": "pipeline_ref_target", "ref_name": "master" } }' ``` # Trigger a specific pipeline definition for a commit You can trigger a specific pipeline that is defined in your `bitbucket-pipelines.yml` file for a specific commit. In addition to the commit revision, you specify the type and pattern of the selector that identifies the pipeline definition. The resulting pipeline will then clone the repository and checkout the specified revision. ### Example ``` $ curl -X POST -is -u username:password \ -H 'Content-Type: application/json' \ https://api.bitbucket.org/2.0/repositories/jeroendr/meat-demo2/pipelines/ \ -d ' { "target": { "commit": { "hash":"a3c4e02c9a3755eccdc3764e6ea13facdf30f923", "type":"commit" }, "selector": { "type":"custom", "pattern":"Deploy to production" }, "type":"pipeline_commit_target" } }' ``` # Trigger a specific pipeline definition for a commit on a branch or tag You can trigger a specific pipeline that is defined in your `bitbucket-pipelines.yml` file for a specific commit in the context of a specified reference. In addition to the commit revision, you specify the type and pattern of the selector that identifies the pipeline definition, as well as the reference information. The resulting pipeline will then clone the repository a checkout the specified reference. ### Example ``` $ curl -X POST -is -u username:password \ -H 'Content-Type: application/json' \ https://api.bitbucket.org/2.0/repositories/jeroendr/meat-demo2/pipelines/ \ -d ' { "target": { "commit": { "hash":"a3c4e02c9a3755eccdc3764e6ea13facdf30f923", "type":"commit" }, "selector": { "type": "custom", "pattern": "Deploy to production" }, "type": "pipeline_ref_target", "ref_name": "master", "ref_type": "branch" } }' ``` # Trigger a custom pipeline with variables In addition to triggering a custom pipeline that is defined in your `bitbucket-pipelines.yml` file as shown in the examples above, you can specify variables that will be available for your build. In the request, provide a list of variables, specifying the following for each variable: key, value, and whether it should be secured or not (this field is optional and defaults to not secured). ### Example ``` $ curl -X POST -is -u username:password \ -H 'Content-Type: application/json' \ https://api.bitbucket.org/2.0/repositories/{workspace}/{repo_slug}/pipelines/ \ -d ' { "target": { "type": "pipeline_ref_target", "ref_type": "branch", "ref_name": "master", "selector": { "type": "custom", "pattern": "Deploy to production" } }, "variables": [ { "key": "var1key", "value": "var1value", "secured": true }, { "key": "var2key", "value": "var2value" } ] }' ``` # Trigger a pull request pipeline You can also initiate a pipeline for a specific pull request. ### Example ``` $ curl -X POST -is -u username:password \ -H 'Content-Type: application/json' \ https://api.bitbucket.org/2.0/repositories/{workspace}/{repo_slug}/pipelines/ \ -d ' { "target": { "type": "pipeline_pullrequest_target", "source": "pull-request-branch", "destination": "master", "destination_commit": { "hash": "9f848b7" }, "commit": { "hash": "1a372fc" }, "pullrequest": { "id": "3" }, "selector": { "type": "pull-requests", "pattern": "**" } } }' ```

operationId: Pipelines_createPipeline

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.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/pipeline"
      }
    }
  },
  "required": true,
  "description": "The pipeline to initiate."
}

Responses

201 The initiated pipeline.
400 The account or repository is not enabled, the yml file does not exist in the repository for the given revision, or the request body contained invalid properties.
404 The account or repository was not found.
POST /repositories/{workspace}/{repo_slug}/pipelines
POST /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/stopPipeline

Signal the stop of a pipeline and all of its steps that not have completed yet.

operationId: Pipelines_stopPipeline

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

204 The pipeline has been signaled to stop.
400 The specified pipeline has already completed.
404 Either the account, repository or pipeline with the given UUID does not exist.
POST /repositories/{workspace}/{repo_slug}/pipelines/{pipeline_uuid}/stopPipeline
POST /repositories/{workspace}/{repo_slug}/pipelines_config/schedules

Create a schedule for the given repository.

operationId: Pipelines_createSchedule

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.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/pipeline_schedule_post_request_body"
      }
    }
  },
  "required": true,
  "description": "The schedule to create."
}

Responses

201 The created schedule.
400 There were errors validating the request.
401 The maximum limit of schedules for this repository was reached.
404 The account or repository was not found.
POST /repositories/{workspace}/{repo_slug}/pipelines_config/schedules
POST /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts

Create a repository level known host.

operationId: Pipelines_createKnownHost

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.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/pipeline_known_host"
      }
    }
  },
  "required": true,
  "description": "The known host to create."
}

Responses

201 The known host was created.
404 The account or repository does not exist.
409 A known host with the provided hostname already exists.
POST /repositories/{workspace}/{repo_slug}/pipelines_config/ssh/known_hosts
POST /repositories/{workspace}/{repo_slug}/pipelines_config/variables

Create a repository level variable.

operationId: Pipelines_createVariable

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.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/pipeline_variable"
      }
    }
  },
  "required": true,
  "description": "The variable to create."
}

Responses

201 The variable was created.
404 The account or repository does not exist.
409 A variable with the provided key already exists.
POST /repositories/{workspace}/{repo_slug}/pipelines_config/variables
POST /workspaces/{workspace}/pipelines-config/variables

Create a workspace level variable.

operationId: Pipelines_createWorkspaceVariable

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}`.

Request Body

{
  "$ref": "#/components/requestBodies/pipeline_variable2"
}

Responses

201 The created variable.
404 The workspace does not exist.
409 A variable with the provided key already exists.
POST /workspaces/{workspace}/pipelines-config/variables

Projects 1 endpoints

POST /workspaces/{workspace}/projects

Creates a new project. Note that the avatar has to be embedded as either a data-url or a URL to an external image as shown in the examples below: ``` $ body=$(cat << EOF { "name": "Mars Project", "key": "MARS", "description": "Software for colonizing mars.", "links": { "avatar": { "href": "data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/..." } }, "is_private": false } EOF ) $ curl -H "Content-Type: application/json" \ -X POST \ -d "$body" \ https://api.bitbucket.org/2.0/workspaces/teams-in-space/projects/ | jq . { // Serialized project document } ``` or even: ``` $ body=$(cat << EOF { "name": "Mars Project", "key": "MARS", "description": "Software for colonizing mars.", "links": { "avatar": { "href": "http://i.imgur.com/72tRx4w.gif" } }, "is_private": false } EOF ) $ curl -H "Content-Type: application/json" \ -X POST \ -d "$body" \ https://api.bitbucket.org/2.0/workspaces/teams-in-space/projects/ | jq . { // Serialized project document } ```

operationId: Projects_createProjectInWorkspace

Request Body

{
  "$ref": "#/components/requestBodies/project"
}

Responses

201 A new project has been created.
403 The requesting user isn't authorized to create the project.
404 A workspace doesn't exist at this location.
POST /workspaces/{workspace}/projects

Pullrequests 8 endpoints

POST /repositories/{workspace}/{repo_slug}/pullrequests

Creates a new pull request where the destination repository is this repository and the author is the authenticated user. The minimum required fields to create a pull request are `title` and `source`, specified by a branch name. ``` curl https://api.bitbucket.org/2.0/repositories/my-workspace/my-repository/pullrequests \ -u my-username:my-password \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "title": "My Title", "source": { "branch": { "name": "staging" } } }' ``` If the pull request's `destination` is not specified, it will default to the `repository.mainbranch`. To open a pull request to a different branch, say from a feature branch to a staging branch, specify a `destination` (same format as the `source`): ``` { "title": "My Title", "source": { "branch": { "name": "my-feature-branch" } }, "destination": { "branch": { "name": "staging" } } } ``` Reviewers can be specified by adding an array of user objects as the `reviewers` property. ``` { "title": "My Title", "source": { "branch": { "name": "my-feature-branch" } }, "reviewers": [ { "uuid": "{504c3b62-8120-4f0c-a7bc-87800b9d6f70}" } ] } ``` Other fields: * `description` - a string * `close_source_branch` - boolean that specifies if the source branch should be closed upon merging

operationId: Pullrequests_create

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/pullrequest"
      }
    }
  },
  "description": "The new pull request.\n\nThe request URL you POST to becomes the destination repository URL. For this reason, you must specify an explicit source repository in the request object if you want to pull from a different repository (fork).\n\nSince not all elements are required or even mutable, you only need to include the elements you want to initialize, such as the source branch and the title."
}

Responses

201 The newly created pull request.
400 If the input document was invalid, or if the caller lacks the privilege to create repositories under the targeted account.
401 If the request was not authenticated.
POST /repositories/{workspace}/{repo_slug}/pullrequests
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/approve

Approve the specified pull request as the authenticated user.

operationId: Pullrequests_approveRequest

Responses

200 The `participant` object recording that the authenticated user approved the pull request.
401 The request wasn't authenticated.
404 The specified pull request or the repository does not exist.
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/approve
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments

Creates a new pull request comment. Returns the newly created pull request comment.

operationId: Pullrequests_createComment

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/pullrequest_comment"
      }
    }
  },
  "required": true,
  "description": "The comment object."
}

Responses

201 The newly created comment.
403 If the authenticated user does not have access to the pull request.
404 If the pull request does not exist.
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}/resolve
operationId: Pullrequests_resolveCommentThread

Responses

200 The comment resolution details.
403 If the authenticated user does not have access to the pull request, if the provided comment is not a top-level comment, or if the comment is not on the diff.
404 If the comment does not exist.
409 If the comment has already been resolved.
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments/{comment_id}/resolve
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/decline

Declines the pull request.

operationId: Pullrequests_declinePullRequest

Responses

200 The pull request was successfully declined.
555 If the decline took too long and timed out. In this case the caller should retry the request later.
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/decline
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge

Merges the pull request.

operationId: Pullrequests_mergePullRequest

Parameters

Name In Required Type Description
async query optional boolean Default value is false. When set to true, runs merge asynchronously and immediately returns a 202 with polling link to the task-status API in the Location header. When set to false, runs merge and waits for it to complete, returning 200 when it succeeds. If the duration of the merge exceeds a timeout threshold, the API returns a 202 with polling link to the task-status API in the Location header.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/pullrequest_merge_parameters"
      }
    }
  }
}

Responses

200 The pull request object.
202 In the Location header, the URL to poll for the pull request merge status
555 If the merge took too long and timed out. In this case the caller should retry the request later
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/request-changes
operationId: Pullrequests_requestChanges

Responses

200 The `participant` object recording that the authenticated user requested changes on the pull request.
400 Pull request changes cannot be requested because the pull request has already been merged.
401 The request wasn't authenticated.
404 The specified pull request or the repository does not exist.
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/request-changes
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks

Creates a new pull request task. Returns the newly created pull request task. Tasks can optionally be created in relation to a comment specified by the comment's ID which will cause the task to appear below the comment on a pull request when viewed in Bitbucket.

operationId: Pullrequests_createTask

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/A_pullrequest_task_create"
      }
    }
  },
  "required": true,
  "description": "The contents of the task"
}

Responses

201 The newly created task.
400 There is a missing required field in the request or the task content is blank.
403 If the authenticated user does not have access to the pull request.
404 If the pull request does not exist.
POST /repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/tasks

Refs 2 endpoints

POST /repositories/{workspace}/{repo_slug}/refs/branches

Creates a new branch in the specified repository. The payload of the POST should consist of a JSON document that contains the name of the tag and the target hash. ``` curl https://api.bitbucket.org/2.0/repositories/seanfarley/hg/refs/branches \ -s -u seanfarley -X POST -H "Content-Type: application/json" \ -d '{ "name" : "smf/create-feature", "target" : { "hash" : "default", } }' ``` This call requires authentication. Private repositories require the caller to authenticate with an account that has appropriate authorization. The branch name should not include any prefixes (e.g. refs/heads). This endpoint does support using short hash prefixes for the commit hash, but it may return a 400 response if the provided prefix is ambiguous. Using a full commit hash is the preferred approach.

operationId: Refs_createBranch

Responses

201 The newly created 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.
POST /repositories/{workspace}/{repo_slug}/refs/branches
POST /repositories/{workspace}/{repo_slug}/refs/tags

Creates a new tag in the specified repository. The payload of the POST should consist of a JSON document that contains the name of the tag and the target hash. ``` curl https://api.bitbucket.org/2.0/repositories/jdoe/myrepo/refs/tags \ -s -u jdoe -X POST -H "Content-Type: application/json" \ -d '{ "name" : "new-tag-name", "target" : { "hash" : "a1b2c3d4e5f6", } }' ``` This endpoint does support using short hash prefixes for the commit hash, but it may return a 400 response if the provided prefix is ambiguous. Using a full commit hash is the preferred approach.

operationId: Refs_createTag

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/tag"
      }
    }
  },
  "required": true
}

Responses

201 The newly created tag.
400 If the target hash is missing, ambiguous, or invalid, or if the name is not provided.
POST /repositories/{workspace}/{repo_slug}/refs/tags

Reports 1 endpoints

POST /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations

Bulk upload of annotations. Annotations are individual findings that have been identified as part of a report, for example, a line of code that represents a vulnerability. These annotations can be attached to a specific file and even a specific line in that file, however, that is optional. Annotations are not mandatory and a report can contain up to 1000 annotations. Add the annotations you want to upload as objects in a JSON array and make sure each annotation has the external_id field set to a unique value. If you want to use an existing id from your own system, we recommend prefixing it with your system's name to avoid collisions, for example, mySystem-annotation001. The external id can later be used to identify the report as an alternative to the generated [UUID](https://developer.atlassian.com/bitbucket/api/2/reference/meta/uri-uuid#uuid). You can upload up to 100 annotations per POST request. ### Sample cURL request: ``` curl --location 'https://api.bitbucket.org/2.0/repositories/<username>/<reposity-name>/commit/<commit-hash>/reports/mysystem-001/annotations' \ --header 'Content-Type: application/json' \ --data-raw '[ { "external_id": "mysystem-annotation001", "title": "Security scan report", "annotation_type": "VULNERABILITY", "summary": "This line represents a security threat.", "severity": "HIGH", "path": "my-service/src/main/java/com/myCompany/mysystem/logic/Main.java", "line": 42 }, { "external_id": "mySystem-annotation002", "title": "Bug report", "annotation_type": "BUG", "result": "FAILED", "summary": "This line might introduce a bug.", "severity": "MEDIUM", "path": "my-service/src/main/java/com/myCompany/mysystem/logic/Helper.java", "line": 13 } ]' ``` ### Possible field values: annotation_type: VULNERABILITY, CODE_SMELL, BUG result: PASSED, FAILED, IGNORED, SKIPPED severity: HIGH, MEDIUM, LOW, CRITICAL Please refer to the [Code Insights documentation](https://confluence.atlassian.com/bitbucket/code-insights-994316785.html) for more information.

operationId: Reports_bulkCreateOrUpdateAnnotations

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.

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ReportsBulkCreateOrUpdateAnnotationsRequest"
      }
    }
  },
  "required": true,
  "description": "The annotations to create or update"
}

Responses

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

Repositories 3 endpoints

POST /repositories/{workspace}/{repo_slug}

Creates a new repository. Note: In order to set the project for the newly created repository, pass in either the project key or the project UUID as part of the request body as shown in the examples below: ``` $ curl -X POST -H "Content-Type: application/json" -d '{ "scm": "git", "project": { "key": "MARS" } }' https://api.bitbucket.org/2.0/repositories/teamsinspace/hablanding ``` or ``` $ curl -X POST -H "Content-Type: application/json" -d '{ "scm": "git", "project": { "key": "{ba516952-992a-4c2d-acbd-17d502922f96}" } }' https://api.bitbucket.org/2.0/repositories/teamsinspace/hablanding ``` The project must be assigned for all repositories. If the project is not provided, the repository is automatically assigned to the oldest project in the workspace. Note: In the examples above, the workspace ID `teamsinspace`, and/or the repository name `hablanding` can be replaced by UUIDs.

operationId: Repositories_createRepo

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/repository"
      }
    }
  },
  "description": "The repository that is to be created. Note that most object elements are optional. Elements \"owner\" and \"full_name\" are ignored as the URL implies them."
}

Responses

200 The newly created repository.
400 If the input document was invalid, or if the caller lacks the privilege to create repositories under the targeted account.
401 If the request was not authenticated.
POST /repositories/{workspace}/{repo_slug}
POST /repositories/{workspace}/{repo_slug}/forks

Creates a new fork of the specified repository. #### Forking a repository To create a fork, specify the workspace explicitly as part of the request body: ``` $ curl -X POST -u jdoe https://api.bitbucket.org/2.0/repositories/atlassian/bbql/forks \ -H 'Content-Type: application/json' -d '{ "name": "bbql_fork", "workspace": { "slug": "atlassian" } }' ``` To fork a repository into the same workspace, also specify a new `name`. When you specify a value for `name`, it will also affect the `slug`. The `slug` is reflected in the repository URL of the new fork. It is derived from `name` by substituting non-ASCII characters, removes whitespace, and changes characters to lower case. For example, `My repo` would turn into `my_repo`. You need contributor access to create new forks within a workspace. #### Change the properties of a new fork By default the fork inherits most of its properties from the parent. However, since the optional POST body document follows the normal `repository` JSON schema and you can override the new fork's properties. Properties that can be overridden include: * description * fork_policy * language * mainbranch * is_private (note that a private repo's fork_policy might prohibit the creation of public forks, in which `is_private=False` would fail) * has_issues (to initialize or disable the new repo's issue tracker -- note that the actual contents of the parent repository's issue tracker are not copied during forking) * has_wiki (to initialize or disable the new repo's wiki -- note that the actual contents of the parent repository's wiki are not copied during forking) * project (when forking into a private project, the fork's `is_private` must be `true`) Properties that cannot be modified include: * scm * parent * full_name

operationId: Repositories_forkRepository

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/repository"
      }
    }
  },
  "description": "A repository object. This can be left blank."
}

Responses

201 The newly created fork.
POST /repositories/{workspace}/{repo_slug}/forks
POST /repositories/{workspace}/{repo_slug}/hooks

Creates a new webhook on the specified repository. Example: ``` $ curl -X POST -u credentials -H 'Content-Type: application/json' https://api.bitbucket.org/2.0/repositories/my-workspace/my-repo-slug/hooks -d ' { "description": "Webhook Description", "url": "https://example.com/", "active": true, "secret": "this is a really bad secret", "events": [ "repo:push", "issue:created", "issue:updated" ] }' ``` When the `secret` is provided it will be used as the key to generate a HMAC digest value sent in the `X-Hub-Signature` header at delivery time. Passing a `null` or empty `secret` or not passing a `secret` will leave the webhook's secret unset. Bitbucket only generates the `X-Hub-Signature` when the webhook's secret is set. Note that this call requires the webhook scope, as well as any scope that applies to the events that the webhook subscribes to. In the example above that means: `webhook`, `repository` and `issue`. Also note that the `url` must properly resolve and cannot be an internal, non-routed address.

operationId: Repositories_createWebhook

Responses

201 If the webhook was registered successfully.
403 If the authenticated user does not have permission to install webhooks on the specified repository.
404 If the repository does not exist.
POST /repositories/{workspace}/{repo_slug}/hooks

Snippets 3 endpoints

POST /snippets

Creates a new snippet under the authenticated user's account. Snippets can contain multiple files. Both text and binary files are supported. The simplest way to create a new snippet from a local file: $ curl -u username:password -X POST https://api.bitbucket.org/2.0/snippets -F file=@image.png Creating snippets through curl has a few limitations and so let's look at a more complicated scenario. Snippets are created with a multipart POST. Both `multipart/form-data` and `multipart/related` are supported. Both allow the creation of snippets with both meta data (title, etc), as well as multiple text and binary files. The main difference is that `multipart/related` can use rich encoding for the meta data (currently JSON). multipart/related (RFC-2387) ---------------------------- This is the most advanced and efficient way to create a paste. POST /2.0/snippets/evzijst HTTP/1.1 Content-Length: 1188 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 { "title": "My snippet", "is_private": true, "scm": "git", "files": { "foo.txt": {}, "image.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==-- The request contains multiple parts and is structured as follows. The first part is the JSON document that describes the snippet's properties or meta data. It either has to be the first part, or the request's `Content-Type` header must contain the `start` parameter to point to it. The remaining parts are the files of which there can be zero or more. Each file part should contain the `Content-ID` MIME header through which the JSON meta data's `files` element addresses it. The value should be the name of the file. `Content-Disposition` is an optional MIME header. The header's optional `filename` parameter can be used to specify the file name that Bitbucket should use when writing the file to disk. When present, `filename` takes precedence over the value of `Content-ID`. When the JSON body omits the `files` element, the remaining parts are not ignored. Instead, each file is added to the new snippet as if its name was explicitly linked (the use of the `files` elements is mandatory for some operations like deleting or renaming files). multipart/form-data ------------------- The use of JSON for the snippet's meta data is optional. Meta data can also be supplied as regular form fields in a more conventional `multipart/form-data` request: $ curl -X POST -u credentials https://api.bitbucket.org/2.0/snippets -F title="My snippet" -F file=@foo.txt -F file=@image.png POST /2.0/snippets HTTP/1.1 Content-Length: 951 Content-Type: multipart/form-data; boundary=----------------------------63a4b224c59f ------------------------------63a4b224c59f Content-Disposition: form-data; name="file"; filename="foo.txt" Content-Type: text/plain foo ------------------------------63a4b224c59f Content-Disposition: form-data; name="file"; filename="image.png" Content-Type: application/octet-stream ?PNG IHDR?1??I..... ------------------------------63a4b224c59f Content-Disposition: form-data; name="title" My snippet ------------------------------63a4b224c59f-- Here the meta data properties are included as flat, top-level form fields. The file attachments use the `file` field name. To attach multiple files, simply repeat the field. The advantage of `multipart/form-data` over `multipart/related` is that it can be easier to build clients. Essentially all properties are optional, `title` and `files` included. Sharing and Visibility ---------------------- Snippets can be either public (visible to anyone on Bitbucket, as well as anonymous users), or private (visible only to members of the workspace). This is controlled through the snippet's `is_private` element: * **is_private=false** -- everyone, including anonymous users can view the snippet * **is_private=true** -- only workspace members can view the snippet To create the snippet under a workspace, just append the workspace ID to the URL. See [`/2.0/snippets/{workspace}`](/cloud/bitbucket/rest/api-group-snippets/#api-snippets-workspace-post).

operationId: Snippets_createSnippet

Request Body

{
  "$ref": "#/components/requestBodies/snippet"
}

Responses

201 The newly created snippet object.
401 If the request was not authenticated
POST /snippets
POST /snippets/{workspace}

Identical to [`/snippets`](/cloud/bitbucket/rest/api-group-snippets/#api-snippets-post), except that the new snippet will be created under the workspace specified in the path parameter `{workspace}`.

operationId: Snippets_createForWorkspace

Request Body

{
  "$ref": "#/components/requestBodies/snippet"
}

Responses

201 The newly created snippet object.
401 If the request was not authenticated
403 If the authenticated user does not have permission to create snippets in the specified workspace.
POST /snippets/{workspace}
POST /snippets/{workspace}/{encoded_id}/comments

Creates a new comment. The only required field in the body is `content.raw`. To create a threaded reply to an existing comment, include `parent.id`.

operationId: Snippets_createComment

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/snippet_comment"
      }
    }
  },
  "required": true,
  "description": "The contents of the new comment."
}

Responses

201 The newly created comment.
403 If the authenticated user does not have access to the snippet.
404 If the snippet does not exist.
POST /snippets/{workspace}/{encoded_id}/comments

Source 1 endpoints

POST /repositories/{workspace}/{repo_slug}/src

This endpoint is used to create new commits in the repository by uploading files. To add a new file to a repository: ``` $ curl https://api.bitbucket.org/2.0/repositories/username/slug/src \ -F /repo/path/to/image.png=@image.png ``` This will create a new commit on top of the main branch, inheriting the contents of the main branch, but adding (or overwriting) the `image.png` file to the repository in the `/repo/path/to` directory. To create a commit that deletes files, use the `files` parameter: ``` $ curl https://api.bitbucket.org/2.0/repositories/username/slug/src \ -F files=/file/to/delete/1.txt \ -F files=/file/to/delete/2.txt ``` You can add/modify/delete multiple files in a request. Rename/move a file by deleting the old path and adding the content at the new path. This endpoint accepts `multipart/form-data` (as in the examples above), as well as `application/x-www-form-urlencoded`. Note: `multipart/form-data` is currently not supported by Forge apps for this API. #### multipart/form-data A `multipart/form-data` post contains a series of "form fields" that identify both the individual files that are being uploaded, as well as additional, optional meta data. Files are uploaded in file form fields (those that have a `Content-Disposition` parameter) whose field names point to the remote path in the repository where the file should be stored. Path field names are always interpreted to be absolute from the root of the repository, regardless whether the client uses a leading slash (as the above `curl` example did). File contents are treated as bytes and are not decoded as text. The commit message, as well as other non-file meta data for the request, is sent along as normal form field elements. Meta data fields share the same namespace as the file objects. For `multipart/form-data` bodies that should not lead to any ambiguity, as the `Content-Disposition` header will contain the `filename` parameter to distinguish between a file named "message" and the commit message field. #### application/x-www-form-urlencoded It is also possible to upload new files using a simple `application/x-www-form-urlencoded` POST. This can be convenient when uploading pure text files: ``` $ curl https://api.bitbucket.org/2.0/repositories/atlassian/bbql/src \ --data-urlencode "/path/to/me.txt=Lorem ipsum." \ --data-urlencode "message=Initial commit" \ --data-urlencode "author=Erik van Zijst <erik.van.zijst@gmail.com>" ``` There could be a field name clash if a client were to upload a file named "message", as this filename clashes with the meta data property for the commit message. To avoid this and to upload files whose names clash with the meta data properties, use a leading slash for the files, e.g. `curl --data-urlencode "/message=file contents"`. When an explicit slash is omitted for a file whose path matches that of a meta data parameter, then it is interpreted as meta data, not as a file. #### Executables and links While this API aims to facilitate the most common use cases, it is possible to perform some more advanced operations like creating a new symlink in the repository, or creating an executable file. Files can be supplied with a `x-attributes` value in the `Content-Disposition` header. For example, to upload an executable file, as well as create a symlink from `README.txt` to `README`: ``` --===============1438169132528273974== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-ID: "bin/shutdown.sh" Content-Disposition: attachment; filename="shutdown.sh"; x-attributes:"executable" #!/bin/sh halt --===============1438169132528273974== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-ID: "/README.txt" Content-Disposition: attachment; filename="README.txt"; x-attributes:"link" README --===============1438169132528273974==-- ``` Links are files that contain the target path and have `x-attributes:"link"` set. When overwriting links with files, or vice versa, the newly uploaded file determines both the new contents, as well as the attributes. That means uploading a file without specifying `x-attributes="link"` will create a regular file, even if the parent commit hosted a symlink at the same path. The same applies to executables. When modifying an existing executable file, the form-data file element must include `x-attributes="executable"` in order to preserve the executable status of the file. Note that this API does not support the creation or manipulation of subrepos / submodules.

operationId: Source_createCommitByUploadingFile

Parameters

Name In Required Type Description
message query optional string The commit message. When omitted, Bitbucket uses a canned string.
author query optional string The raw string to be used as the new commit's author. This string follows the format `Erik van Zijst <evzijst@atlassian.com>`. When omitted, Bitbucket uses the authenticated user's full/display name and primary email address. Commits cannot be created anonymously.
parents query optional string A comma-separated list of SHA1s of the commits that should be the parents of the newly created commit. When omitted, the new commit will inherit from and become a child of the main branch's tip/HEAD commit. When more than one SHA1 is provided, the first SHA1 identifies the commit from which the content will be inherited.".
files query optional string Optional field that declares the files that the request is manipulating. When adding a new file to a repo, or when overwriting an existing file, the client can just upload the full contents of the file in a normal form field and the use of this `files` meta data field is redundant. However, when the `files` field contains a file path that does not have a corresponding, identically-named form field, then Bitbucket interprets that as the client wanting to replace the named file with the null set and the file is deleted instead. Paths in the repo that are referenced in neither files nor an individual file field, remain unchanged and carry over from the parent to the new commit. This API does not support renaming as an explicit feature. To rename a file, simply delete it and recreate it under the new name in the same commit.
branch query optional string The name of the branch that the new commit should be created on. When omitted, the commit will be created on top of the main branch and will become the main branch's new head. When a branch name is provided that already exists in the repo, then the commit will be created on top of that branch. In this case, *if* a parent SHA1 was also provided, then it is asserted that the parent is the branch's tip/HEAD at the time the request is made. When this is not the case, a 409 is returned. When a new branch name is specified (that does not already exist in the repo), and no parent SHA1s are provided, then the new commit will inherit from the current main branch's tip/HEAD commit, but not advance the main branch. The new commit will be the new branch. When the request *also* specifies a parent SHA1, then the new commit and branch are created directly on top of the parent commit, regardless of the state of the main branch. When a branch name is not specified, but a parent SHA1 is provided, then Bitbucket asserts that it represents the main branch's current HEAD/tip, or a 409 is returned. When a branch name is not specified and the repo is empty, the new commit will become the repo's root commit and will be on the main branch. When a branch name is specified and the repo is empty, the new commit will become the repo's root commit and also define the repo's main branch going forward. This API cannot be used to create additional root commits in non-empty repos. The branch field cannot be repeated. As a side effect, this API can be used to create a new branch without modifying any files, by specifying a new branch name in this field, together with `parents`, but omitting the `files` fields, while not sending any files. This will create a new commit and branch with the same contents as the first parent. The diff of this commit against its first parent will be empty.

Responses

201
403 If the authenticated user does not have write or admin access
404 If the repository does not exist.
POST /repositories/{workspace}/{repo_slug}/src

Ssh 1 endpoints

POST /users/{selected_user}/ssh-keys

Adds a new SSH public key to the specified user account and returns the resulting key. Example: ``` $ curl -X POST -H "Content-Type: application/json" -d '{"key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqP3Cr632C2dNhhgKVcon4ldUSAeKiku2yP9O9/bDtY user@myhost"}' https://api.bitbucket.org/2.0/users/{ed08f5e1-605b-4f4a-aee4-6c97628a673e}/ssh-keys ```

operationId: Ssh_keyAddition

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ssh_account_key"
      }
    }
  },
  "description": "The new SSH key object. Note that the username property has been deprecated due to [privacy changes](https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-changes-gdpr/#removal-of-usernames-from-user-referencing-apis)."
}

Responses

201 The newly created SSH key.
400 If the submitted key or related value is invalid
403 If the current user does not have permission to add a key for the specified user
404 If the specified user does not exist
POST /users/{selected_user}/ssh-keys

Workspaces 1 endpoints

POST /workspaces/{workspace}/hooks

Creates a new webhook on the specified workspace. Workspace webhooks are fired for events from all repositories contained by that workspace. Example: ``` $ curl -X POST -u credentials -H 'Content-Type: application/json' https://api.bitbucket.org/2.0/workspaces/my-workspace/hooks -d ' { "description": "Webhook Description", "url": "https://example.com/", "active": true, "secret": "this is a really bad secret", "events": [ "repo:push", "issue:created", "issue:updated" ] }' ``` When the `secret` is provided it will be used as the key to generate a HMAC digest value sent in the `X-Hub-Signature` header at delivery time. Passing a `null` or empty `secret` or not passing a `secret` will leave the webhook's secret unset. Bitbucket only generates the `X-Hub-Signature` when the webhook's secret is set. This call requires the webhook scope, as well as any scope that applies to the events that the webhook subscribes to. In the example above that means: `webhook`, `repository` and `issue`. The `url` must properly resolve and cannot be an internal, non-routed address. Only workspace owners can install webhooks on workspaces.

operationId: Workspaces_createWebhook

Responses

201 If the webhook was registered successfully.
403 If the authenticated user does not have permission to install webhooks on the specified workspace.
404 If the specified workspace does not exist.
POST /workspaces/{workspace}/hooks

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
    }
  ]
}