Bitbucket · Capability

Bitbucket API — Projects

Bitbucket API — Projects. 16 operations. Lead operation: Create a project in a workspace. Self-contained Naftiko capability covering one Bitbucket business surface.

Run with Naftiko BitbucketProjects

What You Can Do

POST
Post — Create a project in a workspace
/v1/workspaces/{workspace}/projects
DELETE
Delete — Delete a project for a workspace
/v1/workspaces/{workspace}/projects/{project-key}
GET
Get — Get a project for a workspace
/v1/workspaces/{workspace}/projects/{project-key}
PUT
Put — Update a project for a workspace
/v1/workspaces/{workspace}/projects/{project-key}
GET
Get — List the default reviewers in a project
/v1/workspaces/{workspace}/projects/{project-key}/default-reviewers
DELETE
Delete — Remove the specific user from the project's default reviewers
/v1/workspaces/{workspace}/projects/{project-key}/default-reviewers/{selected-user}
GET
Get — Get a default reviewer
/v1/workspaces/{workspace}/projects/{project-key}/default-reviewers/{selected-user}
PUT
Put — Add the specific user as a default reviewer for the project
/v1/workspaces/{workspace}/projects/{project-key}/default-reviewers/{selected-user}
GET
Get — List explicit group permissions for a project
/v1/workspaces/{workspace}/projects/{project-key}/permissions-config/groups
DELETE
Delete — Delete an explicit group permission for a project
/v1/workspaces/{workspace}/projects/{project-key}/permissions-config/groups/{group-slug}
GET
Get — Get an explicit group permission for a project
/v1/workspaces/{workspace}/projects/{project-key}/permissions-config/groups/{group-slug}
PUT
Put — Update an explicit group permission for a project
/v1/workspaces/{workspace}/projects/{project-key}/permissions-config/groups/{group-slug}
GET
Get — List explicit user permissions for a project
/v1/workspaces/{workspace}/projects/{project-key}/permissions-config/users
DELETE
Delete — Delete an explicit user permission for a project
/v1/workspaces/{workspace}/projects/{project-key}/permissions-config/users/{selected-user-id}
GET
Get — Get an explicit user permission for a project
/v1/workspaces/{workspace}/projects/{project-key}/permissions-config/users/{selected-user-id}
PUT
Put — Update an explicit user permission for a project
/v1/workspaces/{workspace}/projects/{project-key}/permissions-config/users/{selected-user-id}

MCP Tools

create-project-workspace

Create a project in a workspace

delete-project-workspace

Delete a project for a workspace

idempotent
get-project-workspace

Get a project for a workspace

read-only idempotent
update-project-workspace

Update a project for a workspace

idempotent
list-default-reviewers-project

List the default reviewers in a project

read-only idempotent
remove-specific-user-project-s-default

Remove the specific user from the project's default reviewers

idempotent
get-default-reviewer

Get a default reviewer

read-only idempotent
add-specific-user-default-reviewer

Add the specific user as a default reviewer for the project

idempotent
list-explicit-group-permissions-project

List explicit group permissions for a project

read-only idempotent
delete-explicit-group-permission-project

Delete an explicit group permission for a project

idempotent
get-explicit-group-permission-project

Get an explicit group permission for a project

read-only idempotent
update-explicit-group-permission-project

Update an explicit group permission for a project

idempotent
list-explicit-user-permissions-project

List explicit user permissions for a project

read-only idempotent
delete-explicit-user-permission-project

Delete an explicit user permission for a project

idempotent
get-explicit-user-permission-project

Get an explicit user permission for a project

read-only idempotent
update-explicit-user-permission-project

Update an explicit user permission for a project

idempotent

Capability Spec

cloud-rest-projects.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Bitbucket API — Projects
  description: 'Bitbucket API — Projects. 16 operations. Lead operation: Create a project in a workspace. Self-contained Naftiko
    capability covering one Bitbucket business surface.'
  tags:
  - Bitbucket
  - Projects
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    BITBUCKET_API_KEY: BITBUCKET_API_KEY
capability:
  consumes:
  - type: http
    namespace: cloud-rest-projects
    baseUri: https://api.bitbucket.org/2.0
    description: Bitbucket API — Projects business capability. Self-contained, no shared references.
    resources:
    - name: workspaces-workspace-projects
      path: /workspaces/{workspace}/projects
      operations:
      - name: post
        method: POST
        description: Create a project in a workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: _body
          in: body
          type: string
          required: true
    - name: workspaces-workspace-projects-project_key
      path: /workspaces/{workspace}/projects/{project_key}
      operations:
      - name: delete
        method: DELETE
        description: Delete a project for a workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get
        method: GET
        description: Get a project for a workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: put
        method: PUT
        description: Update a project for a workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: _body
          in: body
          type: string
          required: true
    - name: workspaces-workspace-projects-project_key-default-reviewers
      path: /workspaces/{workspace}/projects/{project_key}/default-reviewers
      operations:
      - name: get
        method: GET
        description: List the default reviewers in a project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: workspaces-workspace-projects-project_key-default-reviewers-selected_user
      path: /workspaces/{workspace}/projects/{project_key}/default-reviewers/{selected_user}
      operations:
      - name: delete
        method: DELETE
        description: Remove the specific user from the project's default reviewers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get
        method: GET
        description: Get a default reviewer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: put
        method: PUT
        description: Add the specific user as a default reviewer for the project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: workspaces-workspace-projects-project_key-permissions-config-groups
      path: /workspaces/{workspace}/projects/{project_key}/permissions-config/groups
      operations:
      - name: get
        method: GET
        description: List explicit group permissions for a project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: workspaces-workspace-projects-project_key-permissions-config-groups-group_slug
      path: /workspaces/{workspace}/projects/{project_key}/permissions-config/groups/{group_slug}
      operations:
      - name: delete
        method: DELETE
        description: Delete an explicit group permission for a project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get
        method: GET
        description: Get an explicit group permission for a project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: put
        method: PUT
        description: Update an explicit group permission for a project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: _body
          in: body
          type: string
          description: The permission to grant
          required: true
    - name: workspaces-workspace-projects-project_key-permissions-config-users
      path: /workspaces/{workspace}/projects/{project_key}/permissions-config/users
      operations:
      - name: get
        method: GET
        description: List explicit user permissions for a project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: workspaces-workspace-projects-project_key-permissions-config-users-selected_user
      path: /workspaces/{workspace}/projects/{project_key}/permissions-config/users/{selected_user_id}
      operations:
      - name: delete
        method: DELETE
        description: Delete an explicit user permission for a project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: get
        method: GET
        description: Get an explicit user permission for a project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: put
        method: PUT
        description: Update an explicit user permission for a project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: _body
          in: body
          type: string
          description: The permission to grant
          required: true
  exposes:
  - type: rest
    namespace: cloud-rest-projects-rest
    port: 8080
    description: REST adapter for Bitbucket API — Projects. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/workspaces/{workspace}/projects
      name: workspaces-workspace-projects
      description: REST surface for workspaces-workspace-projects.
      operations:
      - method: POST
        name: post
        description: Create a project in a workspace
        call: cloud-rest-projects.post
        with:
          _body: rest._body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workspaces/{workspace}/projects/{project-key}
      name: workspaces-workspace-projects-project-key
      description: REST surface for workspaces-workspace-projects-project_key.
      operations:
      - method: DELETE
        name: delete
        description: Delete a project for a workspace
        call: cloud-rest-projects.delete
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: get
        description: Get a project for a workspace
        call: cloud-rest-projects.get
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: put
        description: Update a project for a workspace
        call: cloud-rest-projects.put
        with:
          _body: rest._body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workspaces/{workspace}/projects/{project-key}/default-reviewers
      name: workspaces-workspace-projects-project-key-default-reviewers
      description: REST surface for workspaces-workspace-projects-project_key-default-reviewers.
      operations:
      - method: GET
        name: get
        description: List the default reviewers in a project
        call: cloud-rest-projects.get
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workspaces/{workspace}/projects/{project-key}/default-reviewers/{selected-user}
      name: workspaces-workspace-projects-project-key-default-reviewers-selected-user
      description: REST surface for workspaces-workspace-projects-project_key-default-reviewers-selected_user.
      operations:
      - method: DELETE
        name: delete
        description: Remove the specific user from the project's default reviewers
        call: cloud-rest-projects.delete
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: get
        description: Get a default reviewer
        call: cloud-rest-projects.get
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: put
        description: Add the specific user as a default reviewer for the project
        call: cloud-rest-projects.put
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workspaces/{workspace}/projects/{project-key}/permissions-config/groups
      name: workspaces-workspace-projects-project-key-permissions-config-groups
      description: REST surface for workspaces-workspace-projects-project_key-permissions-config-groups.
      operations:
      - method: GET
        name: get
        description: List explicit group permissions for a project
        call: cloud-rest-projects.get
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workspaces/{workspace}/projects/{project-key}/permissions-config/groups/{group-slug}
      name: workspaces-workspace-projects-project-key-permissions-config-groups-group-slug
      description: REST surface for workspaces-workspace-projects-project_key-permissions-config-groups-group_slug.
      operations:
      - method: DELETE
        name: delete
        description: Delete an explicit group permission for a project
        call: cloud-rest-projects.delete
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: get
        description: Get an explicit group permission for a project
        call: cloud-rest-projects.get
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: put
        description: Update an explicit group permission for a project
        call: cloud-rest-projects.put
        with:
          _body: rest._body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workspaces/{workspace}/projects/{project-key}/permissions-config/users
      name: workspaces-workspace-projects-project-key-permissions-config-users
      description: REST surface for workspaces-workspace-projects-project_key-permissions-config-users.
      operations:
      - method: GET
        name: get
        description: List explicit user permissions for a project
        call: cloud-rest-projects.get
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workspaces/{workspace}/projects/{project-key}/permissions-config/users/{selected-user-id}
      name: workspaces-workspace-projects-project-key-permissions-config-users-selected-user
      description: REST surface for workspaces-workspace-projects-project_key-permissions-config-users-selected_user.
      operations:
      - method: DELETE
        name: delete
        description: Delete an explicit user permission for a project
        call: cloud-rest-projects.delete
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: get
        description: Get an explicit user permission for a project
        call: cloud-rest-projects.get
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: put
        description: Update an explicit user permission for a project
        call: cloud-rest-projects.put
        with:
          _body: rest._body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: cloud-rest-projects-mcp
    port: 9090
    transport: http
    description: MCP adapter for Bitbucket API — Projects. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: create-project-workspace
      description: Create a project in a workspace
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-rest-projects.post
      with:
        _body: tools._body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-project-workspace
      description: Delete a project for a workspace
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: cloud-rest-projects.delete
      outputParameters:
      - type: object
        mapping: $.
    - name: get-project-workspace
      description: Get a project for a workspace
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-rest-projects.get
      outputParameters:
      - type: object
        mapping: $.
    - name: update-project-workspace
      description: Update a project for a workspace
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: cloud-rest-projects.put
      with:
        _body: tools._body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-default-reviewers-project
      description: List the default reviewers in a project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-rest-projects.get
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-specific-user-project-s-default
      description: Remove the specific user from the project's default reviewers
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: cloud-rest-projects.delete
      outputParameters:
      - type: object
        mapping: $.
    - name: get-default-reviewer
      description: Get a default reviewer
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-rest-projects.get
      outputParameters:
      - type: object
        mapping: $.
    - name: add-specific-user-default-reviewer
      description: Add the specific user as a default reviewer for the project
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: cloud-rest-projects.put
      outputParameters:
      - type: object
        mapping: $.
    - name: list-explicit-group-permissions-project
      description: List explicit group permissions for a project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-rest-projects.get
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-explicit-group-permission-project
      description: Delete an explicit group permission for a project
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: cloud-rest-projects.delete
      outputParameters:
      - type: object
        mapping: $.
    - name: get-explicit-group-permission-project
      description: Get an explicit group permission for a project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-rest-projects.get
      outputParameters:
      - type: object
        mapping: $.
    - name: update-explicit-group-permission-project
      description: Update an explicit group permission for a project
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: cloud-rest-projects.put
      with:
        _body: tools._body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-explicit-user-permissions-project
      description: List explicit user permissions for a project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-rest-projects.get
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-explicit-user-permission-project
      description: Delete an explicit user permission for a project
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: cloud-rest-projects.delete
      outputParameters:
      - type: object
        mapping: $.
    - name: get-explicit-user-permission-project
      description: Get an explicit user permission for a project
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-rest-projects.get
      outputParameters:
      - type: object
        mapping: $.
    - name: update-explicit-user-permission-project
      description: Update an explicit user permission for a project
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: cloud-rest-projects.put
      with:
        _body: tools._body
      outputParameters:
      - type: object
        mapping: $.