Bitbucket node reference - all 231 operations, the credential it needs, and a worked example.
Bitbucket Cloud REST API v2.0 (Developer tools). 231 operations: repositories, source files and commits, branches, tags and refs, diffs and patches, build statuses and Code Insights, pull requests with reviews, merges, comments and tasks, default reviewers, Pipelines with steps, logs, variables, schedules and caches, deployments and environments, downloads, repository and workspace webhooks, branch restrictions and branching models, deploy keys, repository and project permissions, workspaces, projects, users and keys, snippets, plus the deprecated issue tracker.
Credential: Bitbucket credential - see Credentials.
Each operation below lists the scope it needs. Scopes are fixed on the token at the moment you create it and NOT editable afterwards, so a token missing one has to be recreated rather than adjusted. Where you create it depends on which of the three credential shapes you use, and Bitbucket has TWO scope vocabularies that behave differently. API tokens (id.atlassian.com → Account settings → Security → Create API token with scopes) carry GRANULAR scopes like read:repository:bitbucket and write:pullrequest:bitbucket, and these do NOT cascade — holding the write scope does not give you the read scope, so a read-modify-write needs BOTH ticked. OAuth 2.0 consumers and repository / project / workspace Access Tokens carry the CLASSIC scopes the column below names — repository, repository:write, pullrequest:write, pipeline:variable and so on — and those DO cascade: repository:write implies repository, repository:admin implies repository:write. The column states the classic scope because that is what Bitbucket publishes per endpoint in its own API spec; read a row as "the granular read AND write scopes for this resource" when your credential is an API token. Three specifics catch people out. repository:delete is its own scope and is NOT included in repository:admin, so deleting a repository needs it explicitly. Pipelines split three ways — pipeline reads, pipeline:write runs and stops, and pipeline:variable is a separate scope for anything touching variables, so a token that can trigger a build still cannot create the variable the build needs. And a repository or project Access Token can never hold account, which is why getCurrentUser (GET /user) fails with one however the scopes are set: those tokens are not bound to a person. Two failures below are not scopes at all — a 401 almost always means the credential itself is wrong, and since Atlassian removed app passwords on 2026-07-28 the commonest cause is a stored app password that can no longer authenticate whatever its value; the second commonest is using the Bitbucket USERNAME as the Basic username when the REST API wants the Atlassian account EMAIL (git over HTTPS wants the opposite, which is why the two get swapped). A 404 may be a missing grant rather than a missing resource, because Bitbucket hides private repositories from credentials that cannot see them instead of admitting they exist. If a run fails with a permission error, the node names the missing scope in the error - grant it and re-run; you do not need to rebuild the workflow.
| Operation | What it does | Scope |
|---|
listRepositories | List repositories in a workspace | repository |
getRepository | Get repository | repository |
createRepository | Create repository | repository:admin |
updateRepository | Update repository | repository:admin |
deleteRepository | Delete repository | repository:delete |
listForks | List forks | repository |
forkRepository | Fork repository | repository:write |
listWatchers | List repository watchers | repository |
| Operation | What it does | Scope |
|---|
getFile | Get file or directory at a commit | repository |
listSourceRoot | List repository root | repository |
commitFile | Commit a file (create / update / delete) | repository:write |
listFileHistory | List a file's history | repository |
| Operation | What it does | Scope |
|---|
listRefs | List all refs | repository |
listBranches | List branches | repository |
getBranch | Get branch | repository |
createBranch | Create branch | repository:write |
deleteBranch | Delete branch | repository:write |
listTags | List tags | repository |
getTag | Get tag | repository |
createTag | Create tag | repository:write |
deleteTag | Delete tag | repository:write |
| Operation | What it does | Scope |
|---|
listCommits | List commits | repository |
listCommitsForRevision | List commits for a branch or tag | repository |
getCommit | Get commit | repository |
approveCommit | Approve commit | repository:write |
unapproveCommit | Remove commit approval | repository:write |
listCommitPullRequests | List pull requests containing a commit | pullrequest |
| Operation | What it does | Scope |
|---|
listCommitComments | List commit comments | repository |
createCommitComment | Comment on a commit | repository |
getCommitComment | Get commit comment | repository |
updateCommitComment | Update commit comment | repository |
deleteCommitComment | Delete commit comment | repository |
| Operation | What it does | Scope |
|---|
getDiff | Get diff between two commits | repository |
getDiffStat | Get diff stats between two commits | repository |
getPatch | Get patch between two commits | repository |
getMergeBase | Get merge base of two commits | repository |
listFileConflicts | List merge conflicts | repository |
| Operation | What it does | Scope |
|---|
listCommitStatuses | List commit build statuses | repository |
createBuildStatus | Create build status | repository |
getBuildStatus | Get build status | repository |
updateBuildStatus | Update build status | repository |
| Operation | What it does | Scope |
|---|
listReports | List code insight reports | repository |
getReport | Get code insight report | repository |
createOrUpdateReport | Create / update code insight report | repository |
deleteReport | Delete code insight report | repository |
listAnnotations | List report annotations | repository |
createAnnotations | Create annotations in bulk | repository |
getAnnotation | Get annotation | repository |
createOrUpdateAnnotation | Create / update annotation | repository |
deleteAnnotation | Delete annotation | repository |
| Operation | What it does | Scope |
|---|
listPullRequests | List pull requests | pullrequest |
createPullRequest | Create pull request | pullrequest:write |
getPullRequest | Get pull request | pullrequest |
updatePullRequest | Update pull request | pullrequest:write |
listPullRequestActivity | List a pull request's activity | pullrequest |
listRepositoryPullRequestActivity | List all pull request activity | pullrequest |
listPullRequestCommits | List pull request commits | pullrequest |
getPullRequestDiff | Get pull request diff | pullrequest |
getPullRequestDiffStat | Get pull request diff stats | pullrequest |
getPullRequestPatch | Get pull request patch | pullrequest |
listPullRequestStatuses | List pull request build statuses | pullrequest |
listPullRequestConflicts | List pull request conflicts | pullrequest |
listUserPullRequests | List a user's pull requests | pullrequest |
| Operation | What it does | Scope |
|---|
approvePullRequest | Approve pull request | pullrequest:write |
unapprovePullRequest | Remove pull request approval | pullrequest:write |
requestPullRequestChanges | Request changes | pullrequest:write |
removePullRequestChangeRequest | Remove change request | pullrequest:write |
declinePullRequest | Decline pull request | pullrequest:write |
mergePullRequest | Merge pull request | pullrequest:write |
getMergeTaskStatus | Get merge task status | pullrequest |
| Operation | What it does | Scope |
|---|
listPullRequestComments | List pull request comments | pullrequest |
createPullRequestComment | Comment on a pull request | pullrequest |
getPullRequestComment | Get pull request comment | pullrequest |
updatePullRequestComment | Update pull request comment | pullrequest |
deletePullRequestComment | Delete pull request comment | pullrequest |
resolvePullRequestComment | Resolve comment thread | pullrequest |
reopenPullRequestComment | Reopen comment thread | pullrequest |
| Operation | What it does | Scope |
|---|
listPullRequestTasks | List pull request tasks | pullrequest |
createPullRequestTask | Create pull request task | pullrequest |
getPullRequestTask | Get pull request task | pullrequest |
updatePullRequestTask | Update / resolve pull request task | pullrequest |
deletePullRequestTask | Delete pull request task | pullrequest |
| Operation | What it does | Scope |
|---|
listDefaultReviewers | List default reviewers | pullrequest |
getDefaultReviewer | Get default reviewer | pullrequest |
addDefaultReviewer | Add default reviewer | repository:admin |
removeDefaultReviewer | Remove default reviewer | repository:admin |
listEffectiveDefaultReviewers | List effective default reviewers | pullrequest |
| Operation | What it does | Scope |
|---|
listPipelines | List pipelines | pipeline |
runPipeline | Run a pipeline | pipeline |
getPipeline | Get pipeline | pipeline |
stopPipeline | Stop pipeline | pipeline:write |
listPipelineSteps | List pipeline steps | pipeline |
getPipelineStep | Get pipeline step | pipeline |
getPipelineStepLog | Get pipeline step log | pipeline |
getPipelineStepLogChunk | Get one chunk of a step log | pipeline |
getPipelineTestReport | Get step test report | pipeline |
listPipelineTestCases | List step test cases | pipeline |
| Operation | What it does | Scope |
|---|
getPipelinesConfig | Get pipelines configuration | repository:admin |
updatePipelinesConfig | Enable / disable pipelines | repository:admin |
updateBuildNumber | Set next build number | pipeline:variable |
listPipelineVariables | List repository variables | pipeline |
createPipelineVariable | Create repository variable | pipeline:variable |
getPipelineVariable | Get repository variable | pipeline |
updatePipelineVariable | Update repository variable | pipeline:variable |
deletePipelineVariable | Delete repository variable | pipeline:variable |
listPipelineSchedules | List pipeline schedules | pipeline |
createPipelineSchedule | Create pipeline schedule | pipeline:write |
getPipelineSchedule | Get pipeline schedule | pipeline |
updatePipelineSchedule | Update pipeline schedule | pipeline:write |
deletePipelineSchedule | Delete pipeline schedule | pipeline:write |
listScheduleExecutions | List schedule executions | pipeline |
| Operation | What it does | Scope |
|---|
listPipelineCaches | List pipeline caches | pipeline |
deletePipelineCaches | Delete all pipeline caches | pipeline:write |
deletePipelineCache | Delete one pipeline cache | pipeline:write |
getPipelineCacheContentUri | Get pipeline cache download URI | pipeline |
| Operation | What it does | Scope |
|---|
listDeployments | List deployments | pipeline |
getDeployment | Get deployment | pipeline |
listEnvironments | List environments | pipeline |
createEnvironment | Create environment | pipeline |
getEnvironment | Get environment | pipeline |
deleteEnvironment | Delete environment | pipeline |
changeEnvironment | Change environment (lock / unlock) | pipeline |
listDeploymentVariables | List environment variables | pipeline |
createDeploymentVariable | Create environment variable | pipeline:variable |
updateDeploymentVariable | Update environment variable | pipeline:variable |
deleteDeploymentVariable | Delete environment variable | pipeline:variable |
| Operation | What it does | Scope |
|---|
listDownloads | List download artifacts | repository |
uploadDownload | Upload download artifact | repository:write |
getDownload | Get download artifact link | repository |
deleteDownload | Delete download artifact | repository:write |
| Operation | What it does | Scope |
|---|
listRepositoryWebhooks | List repository webhooks | webhook |
createRepositoryWebhook | Create repository webhook | webhook |
getRepositoryWebhook | Get repository webhook | webhook |
updateRepositoryWebhook | Update repository webhook | webhook |
deleteRepositoryWebhook | Delete repository webhook | webhook |
listWorkspaceWebhooks | List workspace webhooks | webhook |
createWorkspaceWebhook | Create workspace webhook | webhook |
getWorkspaceWebhook | Get workspace webhook | webhook |
updateWorkspaceWebhook | Update workspace webhook | webhook |
deleteWorkspaceWebhook | Delete workspace webhook | webhook |
listHookEvents | List webhook event types | (any valid credential — this is the public catalogue of event types) |
listSubjectHookEvents | List event types for a subject | (any valid credential — this is the public catalogue of event types) |
| Operation | What it does | Scope |
|---|
listBranchRestrictions | List branch restrictions | repository:admin |
createBranchRestriction | Create branch restriction | repository:admin |
getBranchRestriction | Get branch restriction | repository:admin |
updateBranchRestriction | Update branch restriction | repository:admin |
deleteBranchRestriction | Delete branch restriction | repository:admin |
getBranchingModel | Get branching model | repository |
getBranchingModelSettings | Get branching model settings | repository:admin |
updateBranchingModelSettings | Update branching model settings | repository:admin |
getEffectiveBranchingModel | Get effective branching model | repository |
| Operation | What it does | Scope |
|---|
listDeployKeys | List deploy keys | repository |
createDeployKey | Add deploy key | repository |
getDeployKey | Get deploy key | repository |
updateDeployKey | Update deploy key | repository |
deleteDeployKey | Delete deploy key | repository |
| Operation | What it does | Scope |
|---|
listRepositoryUserPermissions | List repository user permissions | repository:admin |
getRepositoryUserPermission | Get a user's repository permission | repository:admin |
setRepositoryUserPermission | Grant a user repository access | repository:admin |
removeRepositoryUserPermission | Revoke a user's repository access | repository:admin |
listRepositoryGroupPermissions | List repository group permissions | repository:admin |
getRepositoryGroupPermission | Get a group's repository permission | repository:admin |
setRepositoryGroupPermission | Grant a group repository access | repository:admin |
removeRepositoryGroupPermission | Revoke a group's repository access | repository:admin |
| Operation | What it does | Scope |
|---|
listMyWorkspaces | List my workspaces | account |
getWorkspace | Get workspace | (any valid credential — this is public workspace data) |
listWorkspaceMembers | List workspace members | account |
getWorkspaceMember | Get workspace member | account |
listWorkspacePermissions | List workspace permissions | account |
listWorkspaceRepositoryPermissions | List repository permissions in a workspace | account |
getWorkspaceRepositoryPermission | Get repository permissions for one repository | repository |
getMyWorkspacePermission | Get my permission in a workspace | account |
listMyRepositoryPermissions | List my repository permissions | account + repository |
| Operation | What it does | Scope |
|---|
listWorkspaceVariables | List workspace variables | pipeline |
createWorkspaceVariable | Create workspace variable | pipeline:variable |
getWorkspaceVariable | Get workspace variable | pipeline |
updateWorkspaceVariable | Update workspace variable | pipeline:variable |
deleteWorkspaceVariable | Delete workspace variable | pipeline:variable |
| Operation | What it does | Scope |
|---|
listProjects | List projects | project |
createProject | Create project | project:admin |
getProject | Get project | project |
updateProject | Update project | project:admin |
deleteProject | Delete project | project:admin |
listProjectUserPermissions | List project user permissions | project:admin |
setProjectUserPermission | Grant a user project access | project:admin |
removeProjectUserPermission | Revoke a user's project access | project:admin |
listProjectGroupPermissions | List project group permissions | project:admin |
setProjectGroupPermission | Grant a group project access | project:admin |
removeProjectGroupPermission | Revoke a group's project access | project:admin |
| Operation | What it does | Scope |
|---|
listProjectDefaultReviewers | List project default reviewers | project:admin |
getProjectDefaultReviewer | Get project default reviewer | project:admin |
addProjectDefaultReviewer | Add project default reviewer | project:admin |
removeProjectDefaultReviewer | Remove project default reviewer | project:admin |
listProjectDeployKeys | List project deploy keys | project |
createProjectDeployKey | Add project deploy key | project |
deleteProjectDeployKey | Delete project deploy key | project |
| Operation | What it does | Scope |
|---|
getCurrentUser | Get the authenticated user | account (and an API token or OAuth — a repository/project/workspace Access Token is not bound to a user and cannot call this) |
listMyEmails | List my email addresses | email |
getMyEmail | Get one of my email addresses | email |
getUser | Get a user | (any valid credential — this is public profile data) |
listUserSshKeys | List a user's SSH keys | account |
createUserSshKey | Add an SSH key | account:write |
getUserSshKey | Get an SSH key | account |
updateUserSshKey | Update an SSH key | account:write |
deleteUserSshKey | Delete an SSH key | account:write |
listUserGpgKeys | List a user's GPG keys | account |
createUserGpgKey | Add a GPG key | account:write |
getUserGpgKey | Get a GPG key | account |
deleteUserGpgKey | Delete a GPG key | account:write |
| Operation | What it does | Scope |
|---|
listSnippets | List snippets in a workspace | snippet |
createSnippet | Create snippet | snippet:write |
getSnippet | Get snippet | snippet |
updateSnippet | Update snippet | snippet:write |
deleteSnippet | Delete snippet | snippet:write |
listSnippetComments | List snippet comments | snippet |
createSnippetComment | Comment on a snippet | snippet |
getSnippetComment | Get snippet comment | snippet |
updateSnippetComment | Update snippet comment | snippet |
deleteSnippetComment | Delete snippet comment | snippet |
getSnippetFile | Get a snippet's file contents | snippet |
listSnippetCommits | List snippet commits | snippet |
| Operation | What it does | Scope |
|---|
createIssue | Create issue | issue:write |
getIssue | Get issue | issue |
listIssues | List issues | issue |
updateIssue | Update issue | issue:write |
deleteIssue | Delete issue | issue:write |
listIssueComments | List issue comments | issue |
createIssueComment | Comment on an issue | issue:write |
getIssueComment | Get issue comment | issue |
updateIssueComment | Update issue comment | issue:write |
deleteIssueComment | Delete issue comment | issue:write |