naftiko: 1.0.0-alpha2 info: label: Atlassian Bitbucket API — Snippets description: 'Atlassian Bitbucket API — Snippets. 25 operations. Lead operation: Atlassian List Snippets. Self-contained Naftiko capability covering one Atlassian business surface.' tags: - Atlassian - Snippets created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ATLASSIAN_API_KEY: ATLASSIAN_API_KEY capability: consumes: - type: http namespace: bitbucket-snippets baseUri: https://api.bitbucket.org/2.0 description: Atlassian Bitbucket API — Snippets business capability. Self-contained, no shared references. resources: - name: snippets path: /snippets operations: - name: atlassianlistsnippets method: GET description: Atlassian List Snippets outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: role in: query type: string description: Filter down the result based on the authenticated user's role (`owner`, `contributor`, or `member`). - name: atlassiancreateasnippet method: POST description: Atlassian Create A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: snippets-workspace path: /snippets/{workspace} operations: - name: atlassianlistsnippetsinaworkspace method: GET description: Atlassian List Snippets In A Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: role in: query type: string description: Filter down the result based on the authenticated user's role (`owner`, `contributor`, or `member`). - name: atlassiancreateasnippetforaworkspace method: POST description: Atlassian Create A Snippet For A Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: snippets-workspace-encoded_id path: /snippets/{workspace}/{encoded_id} operations: - name: atlassiandeleteasnippet method: DELETE description: Atlassian Delete A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiangetasnippet method: GET description: Atlassian Get A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassianupdateasnippet method: PUT description: Atlassian Update A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: snippets-workspace-encoded_id-comments path: /snippets/{workspace}/{encoded_id}/comments operations: - name: atlassianlistcommentsonasnippet method: GET description: Atlassian List Comments On A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiancreateacommentonasnippet method: POST description: Atlassian Create A Comment On A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: snippets-workspace-encoded_id-comments-comment_id path: /snippets/{workspace}/{encoded_id}/comments/{comment_id} operations: - name: atlassiandeleteacommentonasnippet method: DELETE description: Atlassian Delete A Comment On A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiangetacommentonasnippet method: GET description: Atlassian Get A Comment On A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassianupdateacommentonasnippet method: PUT description: Atlassian Update A Comment On A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: snippets-workspace-encoded_id-commits path: /snippets/{workspace}/{encoded_id}/commits operations: - name: atlassianlistsnippetchanges method: GET description: Atlassian List Snippet Changes outputRawFormat: json outputParameters: - name: result type: object value: $. - name: snippets-workspace-encoded_id-commits-revision path: /snippets/{workspace}/{encoded_id}/commits/{revision} operations: - name: atlassiangetaprevioussnippetchange method: GET description: Atlassian Get A Previous Snippet Change outputRawFormat: json outputParameters: - name: result type: object value: $. - name: snippets-workspace-encoded_id-files-path path: /snippets/{workspace}/{encoded_id}/files/{path} operations: - name: atlassiangetasnippetsrawfileathead method: GET description: Atlassian Get A Snippet S Raw File At Head outputRawFormat: json outputParameters: - name: result type: object value: $. - name: snippets-workspace-encoded_id-watch path: /snippets/{workspace}/{encoded_id}/watch operations: - name: atlassianstopwatchingasnippet method: DELETE description: Atlassian Stop Watching A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiancheckifthecurrentuseriswatchingasnippet method: GET description: Atlassian Check If The Current User Is Watching A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassianwatchasnippet method: PUT description: Atlassian Watch A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: snippets-workspace-encoded_id-watchers path: /snippets/{workspace}/{encoded_id}/watchers operations: - name: atlassianlistuserswatchingasnippet method: GET description: Atlassian List Users Watching A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: snippets-workspace-encoded_id-node_id path: /snippets/{workspace}/{encoded_id}/{node_id} operations: - name: atlassiandeleteapreviousrevisionofasnippet method: DELETE description: Atlassian Delete A Previous Revision Of A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiangetapreviousrevisionofasnippet method: GET description: Atlassian Get A Previous Revision Of A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassianupdateapreviousrevisionofasnippet method: PUT description: Atlassian Update A Previous Revision Of A Snippet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: snippets-workspace-encoded_id-node_id-files-path path: /snippets/{workspace}/{encoded_id}/{node_id}/files/{path} operations: - name: atlassiangetasnippetsrawfile method: GET description: Atlassian Get A Snippet S Raw File outputRawFormat: json outputParameters: - name: result type: object value: $. - name: snippets-workspace-encoded_id-revision-diff path: /snippets/{workspace}/{encoded_id}/{revision}/diff operations: - name: atlassiangetsnippetchangesbetweenversions method: GET description: Atlassian Get Snippet Changes Between Versions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: path in: query type: string description: When used, only one the diff of the specified file will be returned. - name: snippets-workspace-encoded_id-revision-patch path: /snippets/{workspace}/{encoded_id}/{revision}/patch operations: - name: atlassiangetsnippetpatchbetweenversions method: GET description: Atlassian Get Snippet Patch Between Versions outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.ATLASSIAN_API_KEY}}' exposes: - type: rest namespace: bitbucket-snippets-rest port: 8080 description: REST adapter for Atlassian Bitbucket API — Snippets. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/snippets name: snippets description: REST surface for snippets. operations: - method: GET name: atlassianlistsnippets description: Atlassian List Snippets call: bitbucket-snippets.atlassianlistsnippets with: role: rest.role outputParameters: - type: object mapping: $. - method: POST name: atlassiancreateasnippet description: Atlassian Create A Snippet call: bitbucket-snippets.atlassiancreateasnippet with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace} name: snippets-workspace description: REST surface for snippets-workspace. operations: - method: GET name: atlassianlistsnippetsinaworkspace description: Atlassian List Snippets In A Workspace call: bitbucket-snippets.atlassianlistsnippetsinaworkspace with: role: rest.role outputParameters: - type: object mapping: $. - method: POST name: atlassiancreateasnippetforaworkspace description: Atlassian Create A Snippet For A Workspace call: bitbucket-snippets.atlassiancreateasnippetforaworkspace with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id} name: snippets-workspace-encoded-id description: REST surface for snippets-workspace-encoded_id. operations: - method: DELETE name: atlassiandeleteasnippet description: Atlassian Delete A Snippet call: bitbucket-snippets.atlassiandeleteasnippet outputParameters: - type: object mapping: $. - method: GET name: atlassiangetasnippet description: Atlassian Get A Snippet call: bitbucket-snippets.atlassiangetasnippet outputParameters: - type: object mapping: $. - method: PUT name: atlassianupdateasnippet description: Atlassian Update A Snippet call: bitbucket-snippets.atlassianupdateasnippet outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/comments name: snippets-workspace-encoded-id-comments description: REST surface for snippets-workspace-encoded_id-comments. operations: - method: GET name: atlassianlistcommentsonasnippet description: Atlassian List Comments On A Snippet call: bitbucket-snippets.atlassianlistcommentsonasnippet outputParameters: - type: object mapping: $. - method: POST name: atlassiancreateacommentonasnippet description: Atlassian Create A Comment On A Snippet call: bitbucket-snippets.atlassiancreateacommentonasnippet with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/comments/{comment-id} name: snippets-workspace-encoded-id-comments-comment-id description: REST surface for snippets-workspace-encoded_id-comments-comment_id. operations: - method: DELETE name: atlassiandeleteacommentonasnippet description: Atlassian Delete A Comment On A Snippet call: bitbucket-snippets.atlassiandeleteacommentonasnippet outputParameters: - type: object mapping: $. - method: GET name: atlassiangetacommentonasnippet description: Atlassian Get A Comment On A Snippet call: bitbucket-snippets.atlassiangetacommentonasnippet outputParameters: - type: object mapping: $. - method: PUT name: atlassianupdateacommentonasnippet description: Atlassian Update A Comment On A Snippet call: bitbucket-snippets.atlassianupdateacommentonasnippet with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/commits name: snippets-workspace-encoded-id-commits description: REST surface for snippets-workspace-encoded_id-commits. operations: - method: GET name: atlassianlistsnippetchanges description: Atlassian List Snippet Changes call: bitbucket-snippets.atlassianlistsnippetchanges outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/commits/{revision} name: snippets-workspace-encoded-id-commits-revision description: REST surface for snippets-workspace-encoded_id-commits-revision. operations: - method: GET name: atlassiangetaprevioussnippetchange description: Atlassian Get A Previous Snippet Change call: bitbucket-snippets.atlassiangetaprevioussnippetchange outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/files/{path} name: snippets-workspace-encoded-id-files-path description: REST surface for snippets-workspace-encoded_id-files-path. operations: - method: GET name: atlassiangetasnippetsrawfileathead description: Atlassian Get A Snippet S Raw File At Head call: bitbucket-snippets.atlassiangetasnippetsrawfileathead outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/watch name: snippets-workspace-encoded-id-watch description: REST surface for snippets-workspace-encoded_id-watch. operations: - method: DELETE name: atlassianstopwatchingasnippet description: Atlassian Stop Watching A Snippet call: bitbucket-snippets.atlassianstopwatchingasnippet outputParameters: - type: object mapping: $. - method: GET name: atlassiancheckifthecurrentuseriswatchingasnippet description: Atlassian Check If The Current User Is Watching A Snippet call: bitbucket-snippets.atlassiancheckifthecurrentuseriswatchingasnippet outputParameters: - type: object mapping: $. - method: PUT name: atlassianwatchasnippet description: Atlassian Watch A Snippet call: bitbucket-snippets.atlassianwatchasnippet outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/watchers name: snippets-workspace-encoded-id-watchers description: REST surface for snippets-workspace-encoded_id-watchers. operations: - method: GET name: atlassianlistuserswatchingasnippet description: Atlassian List Users Watching A Snippet call: bitbucket-snippets.atlassianlistuserswatchingasnippet outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/{node-id} name: snippets-workspace-encoded-id-node-id description: REST surface for snippets-workspace-encoded_id-node_id. operations: - method: DELETE name: atlassiandeleteapreviousrevisionofasnippet description: Atlassian Delete A Previous Revision Of A Snippet call: bitbucket-snippets.atlassiandeleteapreviousrevisionofasnippet outputParameters: - type: object mapping: $. - method: GET name: atlassiangetapreviousrevisionofasnippet description: Atlassian Get A Previous Revision Of A Snippet call: bitbucket-snippets.atlassiangetapreviousrevisionofasnippet outputParameters: - type: object mapping: $. - method: PUT name: atlassianupdateapreviousrevisionofasnippet description: Atlassian Update A Previous Revision Of A Snippet call: bitbucket-snippets.atlassianupdateapreviousrevisionofasnippet outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/{node-id}/files/{path} name: snippets-workspace-encoded-id-node-id-files-path description: REST surface for snippets-workspace-encoded_id-node_id-files-path. operations: - method: GET name: atlassiangetasnippetsrawfile description: Atlassian Get A Snippet S Raw File call: bitbucket-snippets.atlassiangetasnippetsrawfile outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/{revision}/diff name: snippets-workspace-encoded-id-revision-diff description: REST surface for snippets-workspace-encoded_id-revision-diff. operations: - method: GET name: atlassiangetsnippetchangesbetweenversions description: Atlassian Get Snippet Changes Between Versions call: bitbucket-snippets.atlassiangetsnippetchangesbetweenversions with: path: rest.path outputParameters: - type: object mapping: $. - path: /v1/snippets/{workspace}/{encoded-id}/{revision}/patch name: snippets-workspace-encoded-id-revision-patch description: REST surface for snippets-workspace-encoded_id-revision-patch. operations: - method: GET name: atlassiangetsnippetpatchbetweenversions description: Atlassian Get Snippet Patch Between Versions call: bitbucket-snippets.atlassiangetsnippetpatchbetweenversions outputParameters: - type: object mapping: $. - type: mcp namespace: bitbucket-snippets-mcp port: 9090 transport: http description: MCP adapter for Atlassian Bitbucket API — Snippets. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: atlassian-list-snippets description: Atlassian List Snippets hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassianlistsnippets with: role: tools.role outputParameters: - type: object mapping: $. - name: atlassian-create-snippet description: Atlassian Create A Snippet hints: readOnly: false destructive: false idempotent: false call: bitbucket-snippets.atlassiancreateasnippet with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-list-snippets-workspace description: Atlassian List Snippets In A Workspace hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassianlistsnippetsinaworkspace with: role: tools.role outputParameters: - type: object mapping: $. - name: atlassian-create-snippet-workspace description: Atlassian Create A Snippet For A Workspace hints: readOnly: false destructive: false idempotent: false call: bitbucket-snippets.atlassiancreateasnippetforaworkspace with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-delete-snippet description: Atlassian Delete A Snippet hints: readOnly: false destructive: true idempotent: true call: bitbucket-snippets.atlassiandeleteasnippet outputParameters: - type: object mapping: $. - name: atlassian-get-snippet description: Atlassian Get A Snippet hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassiangetasnippet outputParameters: - type: object mapping: $. - name: atlassian-update-snippet description: Atlassian Update A Snippet hints: readOnly: false destructive: false idempotent: true call: bitbucket-snippets.atlassianupdateasnippet outputParameters: - type: object mapping: $. - name: atlassian-list-comments-snippet description: Atlassian List Comments On A Snippet hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassianlistcommentsonasnippet outputParameters: - type: object mapping: $. - name: atlassian-create-comment-snippet description: Atlassian Create A Comment On A Snippet hints: readOnly: false destructive: false idempotent: false call: bitbucket-snippets.atlassiancreateacommentonasnippet with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-delete-comment-snippet description: Atlassian Delete A Comment On A Snippet hints: readOnly: false destructive: true idempotent: true call: bitbucket-snippets.atlassiandeleteacommentonasnippet outputParameters: - type: object mapping: $. - name: atlassian-get-comment-snippet description: Atlassian Get A Comment On A Snippet hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassiangetacommentonasnippet outputParameters: - type: object mapping: $. - name: atlassian-update-comment-snippet description: Atlassian Update A Comment On A Snippet hints: readOnly: false destructive: false idempotent: true call: bitbucket-snippets.atlassianupdateacommentonasnippet with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-list-snippet-changes description: Atlassian List Snippet Changes hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassianlistsnippetchanges outputParameters: - type: object mapping: $. - name: atlassian-get-previous-snippet-change description: Atlassian Get A Previous Snippet Change hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassiangetaprevioussnippetchange outputParameters: - type: object mapping: $. - name: atlassian-get-snippet-s-raw description: Atlassian Get A Snippet S Raw File At Head hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassiangetasnippetsrawfileathead outputParameters: - type: object mapping: $. - name: atlassian-stop-watching-snippet description: Atlassian Stop Watching A Snippet hints: readOnly: false destructive: true idempotent: true call: bitbucket-snippets.atlassianstopwatchingasnippet outputParameters: - type: object mapping: $. - name: atlassian-check-if-current-user description: Atlassian Check If The Current User Is Watching A Snippet hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassiancheckifthecurrentuseriswatchingasnippet outputParameters: - type: object mapping: $. - name: atlassian-watch-snippet description: Atlassian Watch A Snippet hints: readOnly: false destructive: false idempotent: true call: bitbucket-snippets.atlassianwatchasnippet outputParameters: - type: object mapping: $. - name: atlassian-list-users-watching-snippet description: Atlassian List Users Watching A Snippet hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassianlistuserswatchingasnippet outputParameters: - type: object mapping: $. - name: atlassian-delete-previous-revision-snippet description: Atlassian Delete A Previous Revision Of A Snippet hints: readOnly: false destructive: true idempotent: true call: bitbucket-snippets.atlassiandeleteapreviousrevisionofasnippet outputParameters: - type: object mapping: $. - name: atlassian-get-previous-revision-snippet description: Atlassian Get A Previous Revision Of A Snippet hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassiangetapreviousrevisionofasnippet outputParameters: - type: object mapping: $. - name: atlassian-update-previous-revision-snippet description: Atlassian Update A Previous Revision Of A Snippet hints: readOnly: false destructive: false idempotent: true call: bitbucket-snippets.atlassianupdateapreviousrevisionofasnippet outputParameters: - type: object mapping: $. - name: atlassian-get-snippet-s-raw-2 description: Atlassian Get A Snippet S Raw File hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassiangetasnippetsrawfile outputParameters: - type: object mapping: $. - name: atlassian-get-snippet-changes-between description: Atlassian Get Snippet Changes Between Versions hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassiangetsnippetchangesbetweenversions with: path: tools.path outputParameters: - type: object mapping: $. - name: atlassian-get-snippet-patch-between description: Atlassian Get Snippet Patch Between Versions hints: readOnly: true destructive: false idempotent: true call: bitbucket-snippets.atlassiangetsnippetpatchbetweenversions outputParameters: - type: object mapping: $.