naftiko: 1.0.0-alpha2 info: label: Atlassian Bit Bucket Repositories API — Annotations description: 'Atlassian Bit Bucket Repositories API — Annotations. 5 operations. Lead operation: Atlassian List Annotations. Self-contained Naftiko capability covering one Atlassian business surface.' tags: - Atlassian - Annotations created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ATLASSIAN_API_KEY: ATLASSIAN_API_KEY capability: consumes: - type: http namespace: bitbucket-repositories-annotations baseUri: https://api.bitbucket.org/2.0 description: Atlassian Bit Bucket Repositories API — Annotations business capability. Self-contained, no shared references. resources: - name: repositories-workspace-repo_slug-commit-commit-reports-reportId-annotations path: /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations operations: - name: listannotations method: GET description: Atlassian List Annotations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: workspace in: path type: string description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true - name: repo_slug in: path type: string description: The repository. required: true - name: commit in: path type: string description: The commit for which to retrieve reports. required: true - name: reportId in: path type: string description: Uuid or external-if of the report for which to get annotations for. required: true - name: bulkcreateorupdateannotations method: POST description: Atlassian Bulk Create or Update Annotations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: workspace in: path type: string description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true - name: repo_slug in: path type: string description: The repository. required: true - name: commit in: path type: string description: The commit for which to retrieve reports. required: true - name: reportId in: path type: string description: Uuid or external-if of the report for which to get annotations for. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: repositories-workspace-repo_slug-commit-commit-reports-reportId-annotations-anno path: /repositories/{workspace}/{repo_slug}/commit/{commit}/reports/{reportId}/annotations/{annotationId} operations: - name: getanannotation method: GET description: Atlassian Get an Annotation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: workspace in: path type: string description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true - name: repo_slug in: path type: string description: The repository. required: true - name: commit in: path type: string description: The commit the report belongs to. required: true - name: reportId in: path type: string description: Either the uuid or external-id of the report. required: true - name: annotationId in: path type: string description: Either the uuid or external-id of the annotation. required: true - name: createorupdateanannotation method: PUT description: Atlassian Create or Update an Annotation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: workspace in: path type: string description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true - name: repo_slug in: path type: string description: The repository. required: true - name: commit in: path type: string description: The commit the report belongs to. required: true - name: reportId in: path type: string description: Either the uuid or external-id of the report. required: true - name: annotationId in: path type: string description: Either the uuid or external-id of the annotation. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteanannotation method: DELETE description: Atlassian Delete an Annotation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: workspace in: path type: string description: This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example `{workspace UUID}`. required: true - name: repo_slug in: path type: string description: The repository. required: true - name: commit in: path type: string description: The commit the annotation belongs to. required: true - name: reportId in: path type: string description: Either the uuid or external-id of the annotation. required: true - name: annotationId in: path type: string description: Either the uuid or external-id of the annotation. required: true authentication: type: bearer token: '{{env.ATLASSIAN_API_KEY}}' exposes: - type: rest namespace: bitbucket-repositories-annotations-rest port: 8080 description: REST adapter for Atlassian Bit Bucket Repositories API — Annotations. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/repositories/{workspace}/{repo-slug}/commit/{commit}/reports/{reportid}/annotations name: repositories-workspace-repo-slug-commit-commit-reports-reportid-annotations description: REST surface for repositories-workspace-repo_slug-commit-commit-reports-reportId-annotations. operations: - method: GET name: listannotations description: Atlassian List Annotations call: bitbucket-repositories-annotations.listannotations with: workspace: rest.workspace repo_slug: rest.repo_slug commit: rest.commit reportId: rest.reportId outputParameters: - type: object mapping: $. - method: POST name: bulkcreateorupdateannotations description: Atlassian Bulk Create or Update Annotations call: bitbucket-repositories-annotations.bulkcreateorupdateannotations with: workspace: rest.workspace repo_slug: rest.repo_slug commit: rest.commit reportId: rest.reportId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/commit/{commit}/reports/{reportid}/annotations/{annotationid} name: repositories-workspace-repo-slug-commit-commit-reports-reportid-annotations-anno description: REST surface for repositories-workspace-repo_slug-commit-commit-reports-reportId-annotations-anno. operations: - method: GET name: getanannotation description: Atlassian Get an Annotation call: bitbucket-repositories-annotations.getanannotation with: workspace: rest.workspace repo_slug: rest.repo_slug commit: rest.commit reportId: rest.reportId annotationId: rest.annotationId outputParameters: - type: object mapping: $. - method: PUT name: createorupdateanannotation description: Atlassian Create or Update an Annotation call: bitbucket-repositories-annotations.createorupdateanannotation with: workspace: rest.workspace repo_slug: rest.repo_slug commit: rest.commit reportId: rest.reportId annotationId: rest.annotationId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteanannotation description: Atlassian Delete an Annotation call: bitbucket-repositories-annotations.deleteanannotation with: workspace: rest.workspace repo_slug: rest.repo_slug commit: rest.commit reportId: rest.reportId annotationId: rest.annotationId outputParameters: - type: object mapping: $. - type: mcp namespace: bitbucket-repositories-annotations-mcp port: 9090 transport: http description: MCP adapter for Atlassian Bit Bucket Repositories API — Annotations. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: atlassian-list-annotations description: Atlassian List Annotations hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-annotations.listannotations with: workspace: tools.workspace repo_slug: tools.repo_slug commit: tools.commit reportId: tools.reportId outputParameters: - type: object mapping: $. - name: atlassian-bulk-create-update-annotations description: Atlassian Bulk Create or Update Annotations hints: readOnly: false destructive: false idempotent: false call: bitbucket-repositories-annotations.bulkcreateorupdateannotations with: workspace: tools.workspace repo_slug: tools.repo_slug commit: tools.commit reportId: tools.reportId body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-get-annotation description: Atlassian Get an Annotation hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-annotations.getanannotation with: workspace: tools.workspace repo_slug: tools.repo_slug commit: tools.commit reportId: tools.reportId annotationId: tools.annotationId outputParameters: - type: object mapping: $. - name: atlassian-create-update-annotation description: Atlassian Create or Update an Annotation hints: readOnly: false destructive: false idempotent: true call: bitbucket-repositories-annotations.createorupdateanannotation with: workspace: tools.workspace repo_slug: tools.repo_slug commit: tools.commit reportId: tools.reportId annotationId: tools.annotationId body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-delete-annotation description: Atlassian Delete an Annotation hints: readOnly: false destructive: true idempotent: true call: bitbucket-repositories-annotations.deleteanannotation with: workspace: tools.workspace repo_slug: tools.repo_slug commit: tools.commit reportId: tools.reportId annotationId: tools.annotationId outputParameters: - type: object mapping: $.