openapi: 3.1.0 info: title: Atlassian Admin Account Reports - Commits API description: The Atlassian Admin API provides programmatic access to manage Atlassian organizations, users, domains, policies, and events. It enables administrators to automate organization management tasks, integrate with identity providers, and ensure appropriate access to Atlassian products. version: 1.0.0 contact: name: Atlassian Developer url: https://developer.atlassian.com/cloud/admin/ license: name: Atlassian Developer Terms url: https://developer.atlassian.com/platform/marketplace/atlassian-developer-terms/ x-logo: url: https://wac-cdn.atlassian.com/assets/img/favicons/atlassian/favicon.png servers: - url: https://api.atlassian.com description: Atlassian Cloud API security: - bearerAuth: [] - oauth2: [] tags: - name: Reports - Commits paths: /repositories/{workspace}/{repo_slug}/commit/{commit}/reports: get: tags: - Reports - Commits description: Returns a paginated list of Reports linked to this commit. summary: Atlassian List Reports operationId: atlassianGetreportsforcommit parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string - name: commit description: The commit for which to retrieve reports. required: true in: path schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/paginated_reports' x-atlassian-oauth2-scopes: - state: Current scheme: oauth2 scopes: - read:repository:bitbucket security: - oauth2: - repository - basic: [] - api_key: [] /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}: put: tags: - Reports - Commits description: "Creates or updates a report for the specified commit.
To upload a report, make sure to generate an ID that is unique across all reports for that commit. 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-001.

### Sample cURL request:
```
curl --request PUT 'https://api.bitbucket.org/2.0/repositories///commit//reports/mysystem-001' \\
--header 'Content-Type: application/json' \\
--data-raw '{
\"title\": \"Security scan report\",
\"details\": \"This pull request introduces 10 new dependency vulnerabilities.\",
\"report_type\": \"SECURITY\",
\"reporter\": \"mySystem\",
\"link\": \"http://www.mysystem.com/reports/001\",
\"result\": \"FAILED\",
\"data\": [
{
\"title\": \"Duration (seconds)\",
\"type\": \"DURATION\",
\"value\": 14
},
{
\"title\": \"Safe to merge?\",
\"type\": \"BOOLEAN\",
\"value\": false
}
]
}'
```

### Possible field values:
report_type: SECURITY, COVERAGE, TEST, BUG
result: PASSED, FAILED, PENDING
data.type: BOOLEAN, DATE, DURATION, LINK, NUMBER, PERCENTAGE, TEXT

#### Data field formats
| Type Field | Value Field Type | Value Field Display |
|:--|:|:--|
| None/ Omitted | Number, String or Boolean (not an array or object) | Plain text |
| BOOLEAN\t| Boolean | The value will be read as a JSON boolean and displayed as 'Yes' or 'No'. |
| DATE | Number | The value will be read as a JSON number in the form of a Unix timestamp (milliseconds) and will be displayed as a relative date if the date is less than one week ago, otherwise it will be displayed as an absolute date. |
| DURATION | Number | The value will be read as a JSON number in milliseconds and will be displayed in a human readable duration format. |
| LINK | Object: `{\"text\": \"Link text here\", \"href\": \"https://link.to.annotation/in/external/tool\"}` | The value will be read as a JSON object containing the fields \"text\" and \"href\" and will be displayed as a clickable link on the report. |
| NUMBER | Number | The value will be read as a JSON number and large numbers will be displayed in a human readable format (e.g. 14.3k). |
| PERCENTAGE | Number (between 0 and 100) | The value will be read as a JSON number between 0 and 100 and will be displayed with a percentage sign. |
| TEXT | String | The value will be read as a JSON string and will be displayed as-is |

Please refer to the [Code Insights documentation](https://confluence.atlassian.com/bitbucket/code-insights-994316785.html) for more information.
" operationId: atlassianCreateorupdatereport summary: Atlassian Create Or Update A Report parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string - name: commit description: The commit the report belongs to. required: true in: path schema: type: string - name: reportId description: Either the uuid or external-id of the report. required: true in: path schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/report' description: The report to create or update required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/report' '400': description: The provided Report object is malformed or incomplete. content: application/json: schema: $ref: '#/components/schemas/error' security: - oauth2: - repository - basic: [] - api_key: [] get: tags: - Reports - Commits description: Returns a single Report matching the provided ID. summary: Atlassian Get A Report operationId: atlassianGetreport parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string - name: commit description: The commit the report belongs to. required: true in: path schema: type: string - name: reportId description: Either the uuid or external-id of the report. required: true in: path schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/report' '404': description: The report with the given ID was not found. content: application/json: schema: $ref: '#/components/schemas/error' x-atlassian-oauth2-scopes: - state: Current scheme: oauth2 scopes: - read:repository:bitbucket security: - oauth2: - repository - basic: [] - api_key: [] delete: tags: - Reports - Commits description: Deletes a single Report matching the provided ID. summary: Atlassian Delete A Report operationId: atlassianDeletereport parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string - name: commit description: The commit the report belongs to. required: true in: path schema: type: string - name: reportId description: Either the uuid or external-id of the report. required: true in: path schema: type: string responses: '204': description: No content security: - oauth2: - repository - basic: [] - api_key: [] /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations: get: tags: - Reports - Commits description: Returns a paginated list of Annotations for a specified report. summary: Atlassian List Annotations operationId: atlassianGetannotationsforreport parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string - name: commit description: The commit for which to retrieve reports. required: true in: path schema: type: string - name: reportId description: Uuid or external-if of the report for which to get annotations for. required: true in: path schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/paginated_annotations' x-atlassian-oauth2-scopes: - state: Current scheme: oauth2 scopes: - read:repository:bitbucket security: - oauth2: - repository - basic: [] - api_key: [] post: tags: - Reports - Commits description: '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///commit//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: atlassianBulkcreateorupdateannotations summary: Atlassian Bulk Create Or Update Annotations parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string - name: commit description: The commit for which to retrieve reports. required: true in: path schema: type: string - name: reportId description: Uuid or external-if of the report for which to get annotations for. required: true in: path schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/report_annotation' minItems: 1 maxItems: 100 description: The annotations to create or update required: true responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/report_annotation' security: - oauth2: - repository - basic: [] - api_key: [] /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations/{annotationId}: get: tags: - Reports - Commits description: Returns a single Annotation matching the provided ID. summary: Atlassian Get An Annotation operationId: atlassianGetannotation parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string - name: commit description: The commit the report belongs to. required: true in: path schema: type: string - name: reportId description: Either the uuid or external-id of the report. required: true in: path schema: type: string - name: annotationId description: Either the uuid or external-id of the annotation. required: true in: path schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/report_annotation' '404': description: The annotation with the given ID was not found. content: application/json: schema: $ref: '#/components/schemas/error' x-atlassian-oauth2-scopes: - state: Current scheme: oauth2 scopes: - read:repository:bitbucket security: - oauth2: - repository - basic: [] - api_key: [] put: tags: - Reports - Commits description: 'Creates or updates an individual annotation for the specified report.
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.

Just as reports, annotation needs to be uploaded with a unique ID that 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). 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.

### Sample cURL request:
```
curl --request PUT ''https://api.bitbucket.org/2.0/repositories///commit//reports/mySystem-001/annotations/mysystem-annotation001'' \
--header ''Content-Type: application/json'' \
--data-raw ''{
"title": "Security scan report",
"annotation_type": "VULNERABILITY",
"summary": "This line represents a security thread.",
"severity": "HIGH",
"path": "my-service/src/main/java/com/myCompany/mysystem/logic/Main.java",
"line": 42
}''
```

### 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: atlassianCreateorupdateannotation summary: Atlassian Create Or Update An Annotation parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string - name: commit description: The commit the report belongs to. required: true in: path schema: type: string - name: reportId description: Either the uuid or external-id of the report. required: true in: path schema: type: string - name: annotationId description: Either the uuid or external-id of the annotation. required: true in: path schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/report_annotation' description: The annotation to create or update required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/report_annotation' '400': description: The provided Annotation object is malformed or incomplete. content: application/json: schema: $ref: '#/components/schemas/error' security: - oauth2: - repository - basic: [] - api_key: [] delete: tags: - Reports - Commits description: Deletes a single Annotation matching the provided ID. summary: Atlassian Delete An Annotation operationId: atlassianDeleteannotation parameters: - name: workspace description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true in: path schema: type: string - name: repo_slug description: The repository. required: true in: path schema: type: string - name: commit description: The commit the annotation belongs to. required: true in: path schema: type: string - name: reportId description: Either the uuid or external-id of the annotation. required: true in: path schema: type: string - name: annotationId description: Either the uuid or external-id of the annotation. required: true in: path schema: type: string responses: '204': description: No content security: - oauth2: - repository - basic: [] - api_key: [] components: schemas: paginated_reports: type: object title: Paginated Reports description: A paginated list of reports. properties: page: type: integer description: Page number of the current results. This is an optional element that is not provided in all responses. values: type: array minItems: 0 items: $ref: '#/components/schemas/report' description: The values of the current page. 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. 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. 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. 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. report_data: type: object title: Report Data description: A key-value element that will be displayed along with the report. 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. report_annotation: allOf: - $ref: '#/components/schemas/object' - additionalProperties: true type: object title: Report Annotation description: A report for a commit. properties: 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. uuid: type: string description: The UUID that can be used to identify the annotation. annotation_type: enum: - VULNERABILITY - CODE_SMELL - BUG type: string description: The type of the report. 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. line: type: integer 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. minimum: 1 summary: type: string description: The message to display to users. details: type: string description: The details to show to users when clicking on the annotation. result: enum: - PASSED - FAILED - SKIPPED - IGNORED type: string description: The state of the report. May be set to PENDING and later updated. severity: enum: - CRITICAL - HIGH - MEDIUM - LOW type: string description: The severity of the annotation. link: type: string format: uri description: A URL linking to the annotation in an external tool. 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. x-bb-default-fields: - uuid x-bb-url: /rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/commits/{commit.hash}/reports/{reportUuid}/annotations/{uuid} error: type: object title: Error description: Base type for most resource objects. It defines the common `type` element that identifies an object's type. It also identifies the element as Swagger's `discriminator`. properties: type: type: string error: type: object properties: message: type: string detail: type: string data: type: object description: Optional structured data that is endpoint-specific. properties: {} additionalProperties: true required: - message additionalProperties: false required: - type additionalProperties: true object: type: object description: Base type for most resource objects. It defines the common `type` element that identifies an object's type. It also identifies the element as Swagger's `discriminator`. properties: type: type: string required: - type additionalProperties: true discriminator: propertyName: type report: allOf: - $ref: '#/components/schemas/object' - additionalProperties: true type: object title: Commit Report description: A report for a commit. properties: uuid: type: string description: The UUID that can be used to identify the report. title: type: string description: The title of the report. details: type: string description: A string to describe the purpose of the report. 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. reporter: type: string description: A string to describe the tool or company who created the report. link: type: string format: uri description: A URL linking to the results of the report in an external tool. 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. logo_url: type: string format: uri description: A URL to the report logo. If none is provided, the default insights logo will be used. report_type: enum: - SECURITY - COVERAGE - TEST - BUG type: string description: The type of the report. result: enum: - PASSED - FAILED - PENDING type: string description: The state of the report. May be set to PENDING and later updated. data: type: array items: $ref: '#/components/schemas/report_data' description: An array of data fields to display information on the report. Maximum 10. 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. x-bb-default-fields: - uuid - commitHash x-bb-url: /rest/2.0/accounts/{target_user.uuid}/repositories/{repository.uuid}/commits/{commitHash}/reports/{uuid} paginated_annotations: type: object title: Paginated Annotations description: A paginated list of annotations. properties: page: type: integer description: Page number of the current results. This is an optional element that is not provided in all responses. values: type: array minItems: 0 items: $ref: '#/components/schemas/report_annotation' description: The values of the current page. 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. 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. 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. 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. securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: API Key description: Use an Atlassian API key as a Bearer token. Create API keys at https://admin.atlassian.com. oauth2: type: oauth2 description: OAuth 2.0 authorization for Atlassian Cloud APIs. flows: authorizationCode: authorizationUrl: https://auth.atlassian.com/authorize tokenUrl: https://auth.atlassian.com/oauth/token scopes: read:org:admin: Read organization information. write:org:admin: Modify organization settings. read:user:admin: Read user information. write:user:admin: Modify user accounts. read:policy:admin: Read organization policies. write:policy:admin: Modify organization policies. read:event:admin: Read organization events. externalDocs: description: Atlassian Admin REST API Documentation url: https://developer.atlassian.com/cloud/admin/organization/rest/intro/