Atlassian · Capability

Atlassian Bit Bucket Repositories API — Annotations

Atlassian Bit Bucket Repositories API — Annotations. 5 operations. Lead operation: Atlassian List Annotations. Self-contained Naftiko capability covering one Atlassian business surface.

Run with Naftiko AtlassianAnnotations

What You Can Do

GET
Listannotations — Atlassian List Annotations
/v1/repositories/{workspace}/{repo-slug}/commit/{commit}/reports/{reportid}/annotations
POST
Bulkcreateorupdateannotations — Atlassian Bulk Create or Update Annotations
/v1/repositories/{workspace}/{repo-slug}/commit/{commit}/reports/{reportid}/annotations
GET
Getanannotation — Atlassian Get an Annotation
/v1/repositories/{workspace}/{repo-slug}/commit/{commit}/reports/{reportid}/annotations/{annotationid}
PUT
Createorupdateanannotation — Atlassian Create or Update an Annotation
/v1/repositories/{workspace}/{repo-slug}/commit/{commit}/reports/{reportid}/annotations/{annotationid}
DELETE
Deleteanannotation — Atlassian Delete an Annotation
/v1/repositories/{workspace}/{repo-slug}/commit/{commit}/reports/{reportid}/annotations/{annotationid}

MCP Tools

atlassian-list-annotations

Atlassian List Annotations

read-only idempotent
atlassian-bulk-create-update-annotations

Atlassian Bulk Create or Update Annotations

atlassian-get-annotation

Atlassian Get an Annotation

read-only idempotent
atlassian-create-update-annotation

Atlassian Create or Update an Annotation

idempotent
atlassian-delete-annotation

Atlassian Delete an Annotation

idempotent

Capability Spec

bitbucket-repositories-annotations.yaml Raw ↑
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: $.