naftiko: 1.0.0-alpha2 info: label: Atlassian Bitbucket API — Repositories description: 'Atlassian Bitbucket API — Repositories. 20 operations. Lead operation: Atlassian List Public Repositories. Self-contained Naftiko capability covering one Atlassian business surface.' tags: - Atlassian - Repositories 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 baseUri: https://api.bitbucket.org/2.0 description: Atlassian Bitbucket API — Repositories business capability. Self-contained, no shared references. resources: - name: repositories path: /repositories operations: - name: atlassianlistpublicrepositories method: GET description: Atlassian List Public Repositories outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: after in: query type: string description: Filter the results to include only repositories created on or - name: role in: query type: string description: Filters the result based on the authenticated user's role on each repository. - name: q in: query type: string description: Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). - name: sort in: query type: string description: Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). - name: repositories-workspace path: /repositories/{workspace} operations: - name: atlassianlistrepositoriesinaworkspace method: GET description: Atlassian List Repositories In A Workspace outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: role in: query type: string description: Filters the result based on the authenticated user's role on each repository. - name: q in: query type: string description: Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). - name: sort in: query type: string description: Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). - name: repositories-workspace-repo_slug path: /repositories/{workspace}/{repo_slug} operations: - name: atlassiandeletearepository method: DELETE description: Atlassian Delete A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: redirect_to in: query type: string description: If a repository has been moved to a new location, use this parameter to - name: atlassiangetarepository method: GET description: Atlassian Get A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiancreatearepository method: POST description: Atlassian Create A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: atlassianupdatearepository method: PUT description: Atlassian Update A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: repositories-workspace-repo_slug-forks path: /repositories/{workspace}/{repo_slug}/forks operations: - name: atlassianlistrepositoryforks method: GET description: Atlassian List Repository Forks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: role in: query type: string description: Filters the result based on the authenticated user's role on each repository. - name: q in: query type: string description: Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). - name: sort in: query type: string description: Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering). - name: atlassianforkarepository method: POST description: Atlassian Fork A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: repositories-workspace-repo_slug-override-settings path: /repositories/{workspace}/{repo_slug}/override-settings operations: - name: atlassianretrievetheinheritancestateforrepositorysettings method: GET description: Atlassian Retrieve The Inheritance State For Repository Settings outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiansettheinheritancestateforrepositorysettings method: PUT description: Atlassian Set The Inheritance State For Repository Settings outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-permissions-config-groups path: /repositories/{workspace}/{repo_slug}/permissions-config/groups operations: - name: atlassianlistexplicitgrouppermissionsforarepository method: GET description: Atlassian List Explicit Group Permissions For A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-permissions-config-groups-group_slug path: /repositories/{workspace}/{repo_slug}/permissions-config/groups/{group_slug} operations: - name: atlassiandeleteanexplicitgrouppermissionforarepository method: DELETE description: Atlassian Delete An Explicit Group Permission For A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiangetanexplicitgrouppermissionforarepository method: GET description: Atlassian Get An Explicit Group Permission For A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassianupdateanexplicitgrouppermissionforarepository method: PUT description: Atlassian Update An Explicit Group Permission For A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: repositories-workspace-repo_slug-permissions-config-users path: /repositories/{workspace}/{repo_slug}/permissions-config/users operations: - name: atlassianlistexplicituserpermissionsforarepository method: GET description: Atlassian List Explicit User Permissions For A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-permissions-config-users-selected_user_id path: /repositories/{workspace}/{repo_slug}/permissions-config/users/{selected_user_id} operations: - name: atlassiandeleteanexplicituserpermissionforarepository method: DELETE description: Atlassian Delete An Explicit User Permission For A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassiangetanexplicituserpermissionforarepository method: GET description: Atlassian Get An Explicit User Permission For A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: atlassianupdateanexplicituserpermissionforarepository method: PUT description: Atlassian Update An Explicit User Permission For A Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: repositories-workspace-repo_slug-watchers path: /repositories/{workspace}/{repo_slug}/watchers operations: - name: atlassianlistrepositorieswatchers method: GET description: Atlassian List Repositories Watchers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: user-permissions-repositories path: /user/permissions/repositories operations: - name: atlassianlistrepositorypermissionsforauser method: GET description: Atlassian List Repository Permissions For A User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string description: Query string to narrow down the response as per - name: sort in: query type: string description: Name of a response property sort the result by as per authentication: type: bearer token: '{{env.ATLASSIAN_API_KEY}}' exposes: - type: rest namespace: bitbucket-repositories-rest port: 8080 description: REST adapter for Atlassian Bitbucket API — Repositories. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/repositories name: repositories description: REST surface for repositories. operations: - method: GET name: atlassianlistpublicrepositories description: Atlassian List Public Repositories call: bitbucket-repositories.atlassianlistpublicrepositories with: after: rest.after role: rest.role q: rest.q sort: rest.sort outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace} name: repositories-workspace description: REST surface for repositories-workspace. operations: - method: GET name: atlassianlistrepositoriesinaworkspace description: Atlassian List Repositories In A Workspace call: bitbucket-repositories.atlassianlistrepositoriesinaworkspace with: role: rest.role q: rest.q sort: rest.sort outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug} name: repositories-workspace-repo-slug description: REST surface for repositories-workspace-repo_slug. operations: - method: DELETE name: atlassiandeletearepository description: Atlassian Delete A Repository call: bitbucket-repositories.atlassiandeletearepository with: redirect_to: rest.redirect_to outputParameters: - type: object mapping: $. - method: GET name: atlassiangetarepository description: Atlassian Get A Repository call: bitbucket-repositories.atlassiangetarepository outputParameters: - type: object mapping: $. - method: POST name: atlassiancreatearepository description: Atlassian Create A Repository call: bitbucket-repositories.atlassiancreatearepository with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: atlassianupdatearepository description: Atlassian Update A Repository call: bitbucket-repositories.atlassianupdatearepository with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/forks name: repositories-workspace-repo-slug-forks description: REST surface for repositories-workspace-repo_slug-forks. operations: - method: GET name: atlassianlistrepositoryforks description: Atlassian List Repository Forks call: bitbucket-repositories.atlassianlistrepositoryforks with: role: rest.role q: rest.q sort: rest.sort outputParameters: - type: object mapping: $. - method: POST name: atlassianforkarepository description: Atlassian Fork A Repository call: bitbucket-repositories.atlassianforkarepository with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/override-settings name: repositories-workspace-repo-slug-override-settings description: REST surface for repositories-workspace-repo_slug-override-settings. operations: - method: GET name: atlassianretrievetheinheritancestateforrepositorysettings description: Atlassian Retrieve The Inheritance State For Repository Settings call: bitbucket-repositories.atlassianretrievetheinheritancestateforrepositorysettings outputParameters: - type: object mapping: $. - method: PUT name: atlassiansettheinheritancestateforrepositorysettings description: Atlassian Set The Inheritance State For Repository Settings call: bitbucket-repositories.atlassiansettheinheritancestateforrepositorysettings outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/permissions-config/groups name: repositories-workspace-repo-slug-permissions-config-groups description: REST surface for repositories-workspace-repo_slug-permissions-config-groups. operations: - method: GET name: atlassianlistexplicitgrouppermissionsforarepository description: Atlassian List Explicit Group Permissions For A Repository call: bitbucket-repositories.atlassianlistexplicitgrouppermissionsforarepository outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/permissions-config/groups/{group-slug} name: repositories-workspace-repo-slug-permissions-config-groups-group-slug description: REST surface for repositories-workspace-repo_slug-permissions-config-groups-group_slug. operations: - method: DELETE name: atlassiandeleteanexplicitgrouppermissionforarepository description: Atlassian Delete An Explicit Group Permission For A Repository call: bitbucket-repositories.atlassiandeleteanexplicitgrouppermissionforarepository outputParameters: - type: object mapping: $. - method: GET name: atlassiangetanexplicitgrouppermissionforarepository description: Atlassian Get An Explicit Group Permission For A Repository call: bitbucket-repositories.atlassiangetanexplicitgrouppermissionforarepository outputParameters: - type: object mapping: $. - method: PUT name: atlassianupdateanexplicitgrouppermissionforarepository description: Atlassian Update An Explicit Group Permission For A Repository call: bitbucket-repositories.atlassianupdateanexplicitgrouppermissionforarepository with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/permissions-config/users name: repositories-workspace-repo-slug-permissions-config-users description: REST surface for repositories-workspace-repo_slug-permissions-config-users. operations: - method: GET name: atlassianlistexplicituserpermissionsforarepository description: Atlassian List Explicit User Permissions For A Repository call: bitbucket-repositories.atlassianlistexplicituserpermissionsforarepository outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/permissions-config/users/{selected-user-id} name: repositories-workspace-repo-slug-permissions-config-users-selected-user-id description: REST surface for repositories-workspace-repo_slug-permissions-config-users-selected_user_id. operations: - method: DELETE name: atlassiandeleteanexplicituserpermissionforarepository description: Atlassian Delete An Explicit User Permission For A Repository call: bitbucket-repositories.atlassiandeleteanexplicituserpermissionforarepository outputParameters: - type: object mapping: $. - method: GET name: atlassiangetanexplicituserpermissionforarepository description: Atlassian Get An Explicit User Permission For A Repository call: bitbucket-repositories.atlassiangetanexplicituserpermissionforarepository outputParameters: - type: object mapping: $. - method: PUT name: atlassianupdateanexplicituserpermissionforarepository description: Atlassian Update An Explicit User Permission For A Repository call: bitbucket-repositories.atlassianupdateanexplicituserpermissionforarepository with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/watchers name: repositories-workspace-repo-slug-watchers description: REST surface for repositories-workspace-repo_slug-watchers. operations: - method: GET name: atlassianlistrepositorieswatchers description: Atlassian List Repositories Watchers call: bitbucket-repositories.atlassianlistrepositorieswatchers outputParameters: - type: object mapping: $. - path: /v1/user/permissions/repositories name: user-permissions-repositories description: REST surface for user-permissions-repositories. operations: - method: GET name: atlassianlistrepositorypermissionsforauser description: Atlassian List Repository Permissions For A User call: bitbucket-repositories.atlassianlistrepositorypermissionsforauser with: q: rest.q sort: rest.sort outputParameters: - type: object mapping: $. - type: mcp namespace: bitbucket-repositories-mcp port: 9090 transport: http description: MCP adapter for Atlassian Bitbucket API — Repositories. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: atlassian-list-public-repositories description: Atlassian List Public Repositories hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassianlistpublicrepositories with: after: tools.after role: tools.role q: tools.q sort: tools.sort outputParameters: - type: object mapping: $. - name: atlassian-list-repositories-workspace description: Atlassian List Repositories In A Workspace hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassianlistrepositoriesinaworkspace with: role: tools.role q: tools.q sort: tools.sort outputParameters: - type: object mapping: $. - name: atlassian-delete-repository description: Atlassian Delete A Repository hints: readOnly: false destructive: true idempotent: true call: bitbucket-repositories.atlassiandeletearepository with: redirect_to: tools.redirect_to outputParameters: - type: object mapping: $. - name: atlassian-get-repository description: Atlassian Get A Repository hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassiangetarepository outputParameters: - type: object mapping: $. - name: atlassian-create-repository description: Atlassian Create A Repository hints: readOnly: false destructive: false idempotent: false call: bitbucket-repositories.atlassiancreatearepository with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-update-repository description: Atlassian Update A Repository hints: readOnly: false destructive: false idempotent: true call: bitbucket-repositories.atlassianupdatearepository with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-list-repository-forks description: Atlassian List Repository Forks hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassianlistrepositoryforks with: role: tools.role q: tools.q sort: tools.sort outputParameters: - type: object mapping: $. - name: atlassian-fork-repository description: Atlassian Fork A Repository hints: readOnly: false destructive: false idempotent: false call: bitbucket-repositories.atlassianforkarepository with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-retrieve-inheritance-state-repository description: Atlassian Retrieve The Inheritance State For Repository Settings hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassianretrievetheinheritancestateforrepositorysettings outputParameters: - type: object mapping: $. - name: atlassian-set-inheritance-state-repository description: Atlassian Set The Inheritance State For Repository Settings hints: readOnly: false destructive: false idempotent: true call: bitbucket-repositories.atlassiansettheinheritancestateforrepositorysettings outputParameters: - type: object mapping: $. - name: atlassian-list-explicit-group-permissions description: Atlassian List Explicit Group Permissions For A Repository hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassianlistexplicitgrouppermissionsforarepository outputParameters: - type: object mapping: $. - name: atlassian-delete-explicit-group-permission description: Atlassian Delete An Explicit Group Permission For A Repository hints: readOnly: false destructive: true idempotent: true call: bitbucket-repositories.atlassiandeleteanexplicitgrouppermissionforarepository outputParameters: - type: object mapping: $. - name: atlassian-get-explicit-group-permission description: Atlassian Get An Explicit Group Permission For A Repository hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassiangetanexplicitgrouppermissionforarepository outputParameters: - type: object mapping: $. - name: atlassian-update-explicit-group-permission description: Atlassian Update An Explicit Group Permission For A Repository hints: readOnly: false destructive: false idempotent: true call: bitbucket-repositories.atlassianupdateanexplicitgrouppermissionforarepository with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-list-explicit-user-permissions description: Atlassian List Explicit User Permissions For A Repository hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassianlistexplicituserpermissionsforarepository outputParameters: - type: object mapping: $. - name: atlassian-delete-explicit-user-permission description: Atlassian Delete An Explicit User Permission For A Repository hints: readOnly: false destructive: true idempotent: true call: bitbucket-repositories.atlassiandeleteanexplicituserpermissionforarepository outputParameters: - type: object mapping: $. - name: atlassian-get-explicit-user-permission description: Atlassian Get An Explicit User Permission For A Repository hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassiangetanexplicituserpermissionforarepository outputParameters: - type: object mapping: $. - name: atlassian-update-explicit-user-permission description: Atlassian Update An Explicit User Permission For A Repository hints: readOnly: false destructive: false idempotent: true call: bitbucket-repositories.atlassianupdateanexplicituserpermissionforarepository with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-list-repositories-watchers description: Atlassian List Repositories Watchers hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassianlistrepositorieswatchers outputParameters: - type: object mapping: $. - name: atlassian-list-repository-permissions-user description: Atlassian List Repository Permissions For A User hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories.atlassianlistrepositorypermissionsforauser with: q: tools.q sort: tools.sort outputParameters: - type: object mapping: $.