Bitbucket Pipelines website screenshot

Bitbucket Pipelines

Bitbucket Pipelines is Atlassian's built-in CI/CD service for Bitbucket Cloud, with cloud-hosted and self-hosted runners and YAML-defined pipelines. Pipelines is consumed via the Bitbucket Cloud REST API v2.0 under the /pipelines/ resource family. Atlassian publishes a Swagger 2.0 specification for the full Bitbucket Cloud API.

1 APIs 0 Features
DevOpsCI/CDPipelinesAtlassianBitbucketHostedSelf-Hosted Runners

APIs

Bitbucket Cloud REST API v2.0 (Pipelines)

The Pipelines slice of the Bitbucket Cloud REST API v2.0. Endpoint families include /repositories/{workspace}/{repo_slug}/pipelines/, /pipelines/{pipeline_uuid}/steps/, /pipelin...

Collections

Pricing Plans

Rate Limits

Bitbucket Pipelines Rate Limits

4 limits

RATE LIMITS

FinOps

Resources

🔗
Website
Website
🔗
Documentation
Documentation
💰
Pricing
Pricing
👥
GitHub
GitHub
🟢
StatusPage
StatusPage
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Bitbucket API
  version: '2.0'
items:
- info:
    name: Addon
    type: folder
  items:
  - info:
      name: Update an installed app
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/addon'
    docs: 'Updates the application installation for the user.


      This endpoint is intended to be used by Bitbucket Connect apps

      and only supports JWT authentication -- that is how Bitbucket

      identifies the particular installation of the app. Developers

      with applications registered in the "Develop Apps" section

      of Bitbucket need not use this endpoint as updates for those

      applications can be sent out via the UI of that section.


      Passing an empty body will update the installation using the

      existing descriptor UR'
  - info:
      name: Delete an app
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/addon'
    docs: "Deletes the application for the user.\n\nThis endpoint is intended to be used by Bitbucket Connect apps\nand only\
      \ supports JWT authentication -- that is how Bitbucket\nidentifies the particular installation of the app. Developers\n\
      with applications registered in the \"Develop Apps\" section\nof Bitbucket Marketplace need not use this endpoint as\n\
      updates for those applications can be sent out via the\nUI of that section.\n\n```\n$ curl -X DELETE https://api.bitbucket.org/2.0/addon\
      \ \\\n  -H \"Authorization: JWT "
  - info:
      name: List linkers for an app
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/addon/linkers'
    docs: 'Gets a list of all [linkers](/cloud/bitbucket/modules/linker/)

      for the authenticated application.


      This endpoint is deprecated and will be removed by May 2026.'
  - info:
      name: Get a linker for an app
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/addon/linkers/:linker_key'
      params:
      - name: linker_key
        value: ''
        type: path
        description: 'The unique key of a [linker module](/cloud/bitbucket/modules/linker/)

          as defined in an application descriptor.'
    docs: 'Gets a [linker](/cloud/bitbucket/modules/linker/) specified by `linker_key`

      for the authenticated application.


      This endpoint is deprecated and will be removed by May 2026.'
  - info:
      name: List linker values for a linker
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/addon/linkers/:linker_key/values'
      params:
      - name: linker_key
        value: ''
        type: path
        description: 'The unique key of a [linker module](/cloud/bitbucket/modules/linker/)

          as defined in an application descriptor.'
    docs: 'Gets a list of all [linker](/cloud/bitbucket/modules/linker/) values for the

      specified linker of the authenticated application.


      A linker value lets applications supply values to modify its regular expression.


      The base regular expression must use a Bitbucket-specific match group `(?K)`

      which will be translated to `([\w\-]+)`. A value must match this pattern.


      [Read more about linker values](/cloud/bitbucket/modules/linker/#usingthebitbucketapitosupplyvalues)


      This endpoint is deprecated and wil'
  - info:
      name: Create a linker value
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/addon/linkers/:linker_key/values'
      params:
      - name: linker_key
        value: ''
        type: path
        description: 'The unique key of a [linker module](/cloud/bitbucket/modules/linker/)

          as defined in an application descriptor.'
    docs: 'Creates a [linker](/cloud/bitbucket/modules/linker/) value for the specified

      linker of authenticated application.


      A linker value lets applications supply values to modify its regular expression.


      The base regular expression must use a Bitbucket-specific match group `(?K)`

      which will be translated to `([\w\-]+)`. A value must match this pattern.


      [Read more about linker values](/cloud/bitbucket/modules/linker/#usingthebitbucketapitosupplyvalues)


      This endpoint is deprecated and will be removed b'
  - info:
      name: Update a linker value
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/addon/linkers/:linker_key/values'
      params:
      - name: linker_key
        value: ''
        type: path
        description: 'The unique key of a [linker module](/cloud/bitbucket/modules/linker/)

          as defined in an application descriptor.'
    docs: 'Bulk update [linker](/cloud/bitbucket/modules/linker/) values for the specified

      linker of the authenticated application.


      A linker value lets applications supply values to modify its regular expression.


      The base regular expression must use a Bitbucket-specific match group `(?K)`

      which will be translated to `([\w\-]+)`. A value must match this pattern.


      [Read more about linker values](/cloud/bitbucket/modules/linker/#usingthebitbucketapitosupplyvalues)


      This endpoint is deprecated and will be re'
  - info:
      name: Delete all linker values
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/addon/linkers/:linker_key/values'
      params:
      - name: linker_key
        value: ''
        type: path
        description: 'The unique key of a [linker module](/cloud/bitbucket/modules/linker/)

          as defined in an application descriptor.'
    docs: 'Delete all [linker](/cloud/bitbucket/modules/linker/) values for the

      specified linker of the authenticated application.


      This endpoint is deprecated and will be removed by May 2026.'
  - info:
      name: Get a linker value
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/addon/linkers/:linker_key/values/:value_id'
      params:
      - name: linker_key
        value: ''
        type: path
        description: 'The unique key of a [linker module](/cloud/bitbucket/modules/linker/)

          as defined in an application descriptor.'
      - name: value_id
        value: ''
        type: path
        description: The numeric ID of the linker value.
    docs: 'Get a single [linker](/cloud/bitbucket/modules/linker/) value

      of the authenticated application.


      This endpoint is deprecated and will be removed by May 2026.'
  - info:
      name: Delete a linker value
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/addon/linkers/:linker_key/values/:value_id'
      params:
      - name: linker_key
        value: ''
        type: path
        description: 'The unique key of a [linker module](/cloud/bitbucket/modules/linker/)

          as defined in an application descriptor.'
      - name: value_id
        value: ''
        type: path
        description: The numeric ID of the linker value.
    docs: 'Delete a single [linker](/cloud/bitbucket/modules/linker/) value

      of the authenticated application.


      This endpoint is deprecated and will be removed by May 2026.'
  - info:
      name: Get the client key of a Connect addon
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/addon/:addon_key/client-key'
      params:
      - name: addon_key
        value: ''
        type: path
        description: 'The Connect addon key as defined in an application descriptor.

          '
    docs: 'Get the client key of the Connect addon associated with a Forge app install via forgeAppId linkage.


      This endpoint is part of the Connect -> Forge migration tooling. It is intended to be used by a Forge app

      using `asApp().requestBitbucket()` only.

      Prerequisite: app developer needs to register the linkage between their Connect and Forge app by setting

      `forgeAppId` in the Connect addon descriptor to `app.id` from Forge app manifest, then update the installations.

      If the request came from an instal'
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: Get a webhook resource
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/hook_events'
    docs: 'Returns the webhook resource or subject types on which webhooks can

      be registered.


      Each resource/subject type contains an `events` link that returns the

      paginated list of specific events each individual subject type can

      emit.


      This endpoint is publicly accessible and does not require

      authentication or scopes.'
  - info:
      name: List subscribable webhook types
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/hook_events/:subject_type'
      params:
      - name: subject_type
        value: ''
        type: path
        description: A resource or subject type.
    docs: 'Returns a paginated list of all valid webhook events for the

      specified entity.

      **The team and user webhooks are deprecated, and you should use workspace instead.

      For more information, see [the announcement](https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-teams-deprecation/).**


      This is public data that does not require any scopes or authentication.


      NOTE: The example response is a truncated response object for the `workspace` `subject_type`.

      We return the same structure for the oth'
- info:
    name: Repositories
    type: folder
  items:
  - info:
      name: List public repositories
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories'
      params:
      - name: after
        value: ''
        type: query
        description: "Filter the results to include only repositories created on or\nafter this [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601)\n\
          \ timestamp. Example: `YYYY-MM-DDTHH:mm:ss.sssZ`"
      - name: role
        value: ''
        type: query
        description: 'Filters the result based on the authenticated user''s role on each repository.


          * **member**: returns repositories to which the user has explicit read access

          * **contributor**: returns repositories to which the user has explicit write access

          * **admin**: returns repositories to which the user has explicit administrator access

          * **owner**: returns all repositories owned by the current user

          '
      - name: q
        value: ''
        type: query
        description: 'Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

          `role` parameter must also be specified.

          '
      - name: sort
        value: ''
        type: query
        description: 'Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

          '
    docs: '**This endpoint is deprecated. Please use the

      [workspace scoped alternative](/cloud/bitbucket/rest/api-group-repositories/#api-repositories-workspace-get).**


      Returns a paginated list of all public repositories.


      This endpoint also supports filtering and sorting of the results. See

      [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for more details.'
  - info:
      name: List repositories in a workspace
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories/:workspace'
      params:
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
      - name: role
        value: ''
        type: query
        description: '

          Filters the result based on the authenticated user''s role on each repository.


          * **member**: returns repositories to which the user has explicit read access

          * **contributor**: returns repositories to which the user has explicit write access

          * **admin**: returns repositories to which the user has explicit administrator access

          * **owner**: returns all repositories owned by the current user

          '
      - name: q
        value: ''
        type: query
        description: '

          Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

          '
      - name: sort
        value: ''
        type: query
        description: "\nField by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).\n\
          \        "
    docs: 'Returns a paginated list of all repositories owned by the specified

      workspace.


      The result can be narrowed down based on the authenticated user''s role.


      E.g. with `?role=contributor`, only those repositories that the

      authenticated user has write access to are returned (this includes any

      repo the user is an admin on, as that implies write access).


      This endpoint also supports filtering and sorting of the results. See

      [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering) for more details'
  - info:
      name: Get a repository
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: Returns the object describing this repository.
  - info:
      name: Create a repository
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: "Creates a new repository.\n\nNote: In order to set the project for the newly created repository,\npass in either\
      \ the project key or the project UUID as part of the\nrequest body as shown in the examples below:\n\n```\n$ curl -X\
      \ POST -H \"Content-Type: application/json\" -d '{\n    \"scm\": \"git\",\n    \"project\": {\n        \"key\": \"MARS\"\
      \n    }\n}' https://api.bitbucket.org/2.0/repositories/teamsinspace/hablanding\n```\n\nor\n\n```\n$ curl -X POST -H\
      \ \"Content-Type: application/json\" -d '{\n    \"scm\": \"git\",\n    \"projec"
  - info:
      name: Update a repository
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: 'Since this endpoint can be used to both update and to create a

      repository, the request body depends on the intent.


      #### Creation


      See the POST documentation for the repository endpoint for an example

      of the request body.


      #### Update


      Note: Changing the `name` of the repository will cause the location to

      be changed. This is because the URL of the repo is derived from the

      name (a process called slugification). In such a scenario, it is

      possible for the request to fail if the newly created slug c'
  - info:
      name: Delete a repository
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
      - name: redirect_to
        value: ''
        type: query
        description: 'If a repository has been moved to a new location, use this parameter to

          show users a friendly message in the Bitbucket UI that the repository

          has moved to a new location. However, a GET to this endpoint will still

          return a 404.

          '
    docs: 'Deletes the repository. This is an irreversible operation.


      This does not affect its forks.'
  - info:
      name: List repository forks
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/forks'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
      - name: role
        value: ''
        type: query
        description: 'Filters the result based on the authenticated user''s role on each repository.


          * **member**: returns repositories to which the user has explicit read access

          * **contributor**: returns repositories to which the user has explicit write access

          * **admin**: returns repositories to which the user has explicit administrator access

          * **owner**: returns all repositories owned by the current user

          '
      - name: q
        value: ''
        type: query
        description: 'Query string to narrow down the response as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

          '
      - name: sort
        value: ''
        type: query
        description: 'Field by which the results should be sorted as per [filtering and sorting](/cloud/bitbucket/rest/intro/#filtering).

          '
    docs: 'Returns a paginated list of all the forks of the specified

      repository.'
  - info:
      name: Fork a repository
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/forks'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: "Creates a new fork of the specified repository.\n\n#### Forking a repository\n\nTo create a fork, specify the workspace\
      \ explicitly as part of the\nrequest body:\n\n```\n$ curl -X POST -u jdoe https://api.bitbucket.org/2.0/repositories/atlassian/bbql/forks\
      \ \\\n  -H 'Content-Type: application/json' -d '{\n    \"name\": \"bbql_fork\",\n    \"workspace\": {\n      \"slug\"\
      : \"atlassian\"\n    }\n}'\n```\n\nTo fork a repository into the same workspace, also specify a new `name`.\n\nWhen\
      \ you specify a value for `name`, it will als"
  - info:
      name: List webhooks for a repository
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/hooks'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: Returns a paginated list of webhooks installed on this repository.
  - info:
      name: Create a webhook for a repository
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/hooks'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: "Creates a new webhook on the specified repository.\n\nExample:\n\n```\n$ curl -X POST -u credentials -H 'Content-Type:\
      \ application/json'\n  https://api.bitbucket.org/2.0/repositories/my-workspace/my-repo-slug/hooks\n  -d '\n    {\n \
      \     \"description\": \"Webhook Description\",\n      \"url\": \"https://example.com/\",\n      \"active\": true,\n\
      \      \"secret\": \"this is a really bad secret\",\n      \"events\": [\n        \"repo:push\",\n        \"issue:created\"\
      ,\n        \"issue:updated\"\n      ]\n    }'\n```\n\nWhen the `secret` is"
  - info:
      name: Get a webhook for a repository
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/hooks/:uid'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: uid
        value: ''
        type: path
        description: Installed webhook's ID
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: 'Returns the webhook with the specified id installed on the specified

      repository.'
  - info:
      name: Update a webhook for a repository
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/hooks/:uid'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: uid
        value: ''
        type: path
        description: Installed webhook's ID
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: 'Updates the specified webhook subscription.


      The following properties can be mutated:


      * `description`

      * `url`

      * `secret`

      * `active`

      * `events`


      The hook''s secret is used as a key to generate the HMAC hex digest sent in the

      `X-Hub-Signature` header at delivery time. This signature is only generated

      when the hook has a secret.


      Set the hook''s secret by passing the new value in the `secret` field. Passing a

      `null` value in the `secret` field will remove the secret from the hook. The

      hook''s secret '
  - info:
      name: Delete a webhook for a repository
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/hooks/:uid'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: uid
        value: ''
        type: path
        description: Installed webhook's ID
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: 'Deletes the specified webhook subscription from the given

      repository.'
  - info:
      name: Retrieve the inheritance state for repository settings
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/override-settings'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: Retrieve the inheritance state for repository settings
  - info:
      name: "Set the inheritance state for repository settings\n                "
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/override-settings'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: "Set the inheritance state for repository settings\n                "
  - info:
      name: List explicit group permissions for a repository
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/permissions-config/groups'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: 'Returns a paginated list of explicit group permissions for the given repository.

      This endpoint does not support BBQL features.'
  - info:
      name: Get an explicit group permission for a repository
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/permissions-config/groups/:group_slug'
      params:
      - name: group_slug
        value: ''
        type: path
        description: Slug of the requested group.
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: 'Returns the group permission for a given group slug and repository


      Only users with admin permission for the repository may access this resource.


      Permissions can be:


      * `admin`

      * `write`

      * `read`

      * `none`'
  - info:
      name: Update an explicit group permission for a repository
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/permissions-config/groups/:group_slug'
      params:
      - name: group_slug
        value: ''
        type: path
        description: Slug of the requested group.
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: 'Updates the group permission, or grants a new permission if one does not already exist.


      Only users with admin permission for the repository may access this resource.


      The only authentication method supported for this endpoint is via app passwords.


      Permissions can be:


      * `admin`

      * `write`

      * `read`'
  - info:
      name: Delete an explicit group permission for a repository
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/permissions-config/groups/:group_slug'
      params:
      - name: group_slug
        value: ''
        type: path
        description: Slug of the requested group.
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: 'Deletes the repository group permission between the requested repository and group, if one exists.


      Only users with admin permission for the repository may access this resource.


      The only authentication method supported for this endpoint is via app passwords.'
  - info:
      name: List explicit user permissions for a repository
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/permissions-config/users'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID}`.

          '
    docs: 'Returns a paginated list of explicit user permissions for the given repository.

      This endpoint does not support BBQL features.'
  - info:
      name: Get an explicit user permission for a repository
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/repositories/:workspace/:repo_slug/permissions-config/users/:selected_user_id'
      params:
      - name: repo_slug
        value: ''
        type: path
        description: 'This can either be the repository slug or the UUID of the repository,

          surrounded by curly-braces, for example: `{repository UUID}`.

          '
      - name: selected_user_id
        value: ''
        type: path
        description: 'This can either be the UUID of the account, surrounded by curly-braces, for

          example: `{account UUID}`, OR an Atlassian Account ID.

          '
      - name: workspace
        value: ''
        type: path
        description: 'This can either be the workspace ID (slug) or the workspace UUID

          surrounded by curly-braces, for example: `{workspace UUID

# --- truncated at 32 KB (318 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bitbucket-pipelines/refs/heads/main/apis.yml