Bitbucket Issue tracker API

The issue resources provide functionality for getting information on issues in an issue tracker, creating new issues, updating them and deleting them. You can access public issues without authentication, but you can't gain access to private repositories' issues. By authenticating, you will get the ability to create issues, as well as access to updating data or deleting issues you have access to. Issue Tracker features are not supported for repositories in workspaces administered through admin.atlassian.com.

Business capability
Software Quality Engineering BC-4200.50

Operations 33

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /repositories/{workspace}/{repo_slug}/components List issue tracker components · List components #
Ask an LLM
“What components can I file issues against in a repository's tracker?”
“Which component categories are defined for this repo's issues?”
Tell an agent
List the issue components defined in {workspace}/{repo_slug}.
Show every component available for tagging issues in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/components/{component_id} Get an issue tracker component · Get a component for issues #
Ask an LLM
“What is the name of the issue component with a given id?”
“Can I look up a single tracker component by its id?”
Tell an agent
Get issue component {component_id} in {workspace}/{repo_slug}.
Show the details of component {component_id} from the issue tracker of repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/issues List a repository's issues · List issues #
Ask an LLM
“What issues are filed in a Bitbucket repository's tracker?”
“Where can I browse all the bugs and tasks reported against a repo?”
Tell an agent
List the issues in {workspace}/{repo_slug}.
Show all tracker issues for repo {repo_slug} in workspace {workspace}.
POST /repositories/{workspace}/{repo_slug}/issues File a new issue · Create an issue #
Ask an LLM
“How do I report a new bug in a repository's issue tracker?”
“Can I set the priority, kind and assignee when I file an issue?”
Tell an agent
Create an issue titled {title} in {workspace}/{repo_slug}.
File a {kind} with priority {priority} titled {title} in repo {repo_slug}, workspace {workspace}, assigned to {assignee}.
POST /repositories/{workspace}/{repo_slug}/issues/export Start an export of a repo's issues · Export issues #
Ask an LLM
“How do I back up every issue in a repository to a zip archive?”
“Can the issue export include attachments and email me when it is done?”
Tell an agent
Export all issues from {workspace}/{repo_slug} to a zip archive.
Start an issue export for repo {repo_slug} in {workspace} with attachments set to {include_attachments} and email {send_email}.
GET /repositories/{workspace}/{repo_slug}/issues/export/{repo_name}-issues-{task_id}.zip Check an issue export and download the zip · Check issue export status #
Ask an LLM
“Has my issue export finished, and where do I get the zip file?”
“How do I poll progress on a running issue archive job?”
Tell an agent
Check export task {task_id} for repo {repo_name} in {workspace}/{repo_slug} and download the zip when ready.
Poll the issue export job {task_id} of {repo_name} in workspace {workspace}, repo {repo_slug}.
GET /repositories/{workspace}/{repo_slug}/issues/import Check the status of an issue import · Check issue import status #
Ask an LLM
“Is the issue import I started still running or has it completed?”
“What progress has the current issue import job made?”
Tell an agent
Check the issue import status for {workspace}/{repo_slug}.
Report how far the running issue import has got in repo {repo_slug}, workspace {workspace}.
POST /repositories/{workspace}/{repo_slug}/issues/import Import issues from a zip, replacing existing ones · Import issues #
Ask an LLM
“How do I load an issue archive zip into a repository's tracker?”
“Will importing issues wipe out the ones that are already there?”
Tell an agent destructive · confirm first
Import an issues zip archive into {workspace}/{repo_slug}, replacing current issues.
Replace every issue in repo {repo_slug}, workspace {workspace}, with the contents of an exported archive.
DELETE /repositories/{workspace}/{repo_slug}/issues/{issue_id} Delete an issue · Delete an issue #
Ask an LLM
“How do I permanently remove a spam issue from the tracker?”
“What access do I need to delete an issue?”
Tell an agent destructive · confirm first
Delete issue #{issue_id} from {workspace}/{repo_slug}.
Permanently remove issue {issue_id} in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id} Get an issue · Get an issue #
Ask an LLM
“What is the status, assignee and priority of a specific issue?”
“How do I fetch one issue by its number?”
Tell an agent
Get issue #{issue_id} in {workspace}/{repo_slug}.
Show me the details of issue {issue_id} in repo {repo_slug}, workspace {workspace}.
PUT /repositories/{workspace}/{repo_slug}/issues/{issue_id} Edit an issue · Update an issue #
Ask an LLM
“Can I edit the title or description of an issue after it is filed?”
“Is there a way to modify an issue's fields directly instead of logging a change?”
Tell an agent
Update issue #{issue_id} in {workspace}/{repo_slug}.
Edit the fields of issue {issue_id} in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments List files attached to an issue · List attachments for an issue #
Ask an LLM
“What files have been attached to an issue?”
“Can I see attachment names and metadata for an issue without downloading them?”
Tell an agent
List the attachments on issue #{issue_id} in {workspace}/{repo_slug}.
Show the attached file metadata for issue {issue_id} in repo {repo_slug}, workspace {workspace}.
POST /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments Upload an attachment to an issue · Upload an attachment to an issue #
Ask an LLM
“How do I attach a screenshot or log file to an issue?”
“What happens if I upload a file with the same name as an existing attachment?”
Tell an agent
Upload a file attachment to issue #{issue_id} in {workspace}/{repo_slug}.
Attach a screenshot to issue {issue_id} in repo {repo_slug}, workspace {workspace}.
DELETE /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments/{path} Delete an issue attachment · Delete an attachment for an issue #
Ask an LLM
“How do I remove a file that was attached to an issue by mistake?”
“Can I delete a single attachment while keeping the issue?”
Tell an agent destructive · confirm first
Delete attachment {path} from issue #{issue_id} in {workspace}/{repo_slug}.
Remove the attached file {path} on issue {issue_id} in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments/{path} Download an issue attachment · Get attachment for an issue #
Ask an LLM
“How do I download the contents of a file attached to an issue?”
“Where does the link to a specific issue attachment redirect?”
Tell an agent
Download attachment {path} from issue #{issue_id} in {workspace}/{repo_slug}.
Fetch the file {path} attached to issue {issue_id} in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes List the change history of an issue · List changes on an issue #
Ask an LLM
“Who changed an issue's state or assignee, and when?”
“Can I see an issue's change log oldest first, filtered to state changes?”
Tell an agent
List the changes made to issue #{issue_id} in {workspace}/{repo_slug}.
Show the history of issue {issue_id} in repo {repo_slug}, workspace {workspace}, filtered by {q}.
POST /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes Change an issue's state or assignee · Modify the state of an issue #
Ask an LLM
“How do I resolve or reassign an issue and record it in its history?”
“Can I change an issue's state and leave a message explaining why in one step?”
Tell an agent
Log a change on issue #{issue_id} in {workspace}/{repo_slug} applying {changes}.
Transition issue {issue_id} in repo {repo_slug}, workspace {workspace}, with changes {changes} and note {message}.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes/{change_id} Get one change on an issue · Get issue change object #
Ask an LLM
“What exactly did a particular recorded change do to an issue?”
“How can I fetch a single entry from an issue's change history?”
Tell an agent
Get change {change_id} on issue #{issue_id} in {workspace}/{repo_slug}.
Show history entry {change_id} for issue {issue_id} in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments List comments on an issue · List comments on an issue #
Ask an LLM
“What discussion has happened in the comments on an issue?”
“Can I filter an issue's comments, for example by author?”
Tell an agent
List comments on issue #{issue_id} in {workspace}/{repo_slug}.
Show the comments on issue {issue_id} in repo {repo_slug}, workspace {workspace}, matching {q}.
POST /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments Comment on an issue · Create a comment on an issue #
Ask an LLM
“How do I reply to a bug report with a comment?”
“Can an agent post a status update as a comment on an issue?”
Tell an agent
Add a comment to issue #{issue_id} in {workspace}/{repo_slug}.
Post a status update comment on issue {issue_id} in repo {repo_slug}, workspace {workspace}.
DELETE /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments/{comment_id} Delete a comment on an issue · Delete a comment on an issue #
Ask an LLM
“How do I remove an inappropriate comment from an issue?”
“Can I delete one comment without touching the rest of the issue thread?”
Tell an agent destructive · confirm first
Delete comment {comment_id} from issue #{issue_id} in {workspace}/{repo_slug}.
Remove issue comment {comment_id} on issue {issue_id} in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments/{comment_id} Get one comment on an issue · Get a comment on an issue #
Ask an LLM
“How do I fetch a single issue comment by its id?”
“What did a specific comment on an issue say?”
Tell an agent
Get comment {comment_id} on issue #{issue_id} in {workspace}/{repo_slug}.
Show issue comment {comment_id} from issue {issue_id} in repo {repo_slug}, workspace {workspace}.
PUT /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments/{comment_id} Edit a comment on an issue · Update a comment on an issue #
Ask an LLM
“Can I fix a typo in a comment I left on an issue?”
“Which part of an issue comment is editable after posting?”
Tell an agent
Edit comment {comment_id} on issue #{issue_id} in {workspace}/{repo_slug}.
Rewrite the text of issue comment {comment_id} on issue {issue_id} in repo {repo_slug}, workspace {workspace}.
DELETE /repositories/{workspace}/{repo_slug}/issues/{issue_id}/vote Retract my vote on an issue · Remove vote for an issue #
Ask an LLM
“How do I take back an upvote I gave an issue?”
“Can I withdraw my vote from a feature request?”
Tell an agent destructive · confirm first
Retract my vote on issue #{issue_id} in {workspace}/{repo_slug}.
Withdraw my upvote from issue {issue_id} in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/vote Check whether I voted for an issue · Check if current user voted for an issue #
Ask an LLM
“Have I already upvoted this issue?”
“Does a 404 on the vote check mean I have not voted?”
Tell an agent
Check whether I have voted for issue #{issue_id} in {workspace}/{repo_slug}.
Tell me if my vote is recorded on issue {issue_id} in repo {repo_slug}, workspace {workspace}.
PUT /repositories/{workspace}/{repo_slug}/issues/{issue_id}/vote Vote for an issue · Vote for an issue #
Ask an LLM
“How do I upvote an issue I also care about?”
“Can I add my vote to a feature request in the tracker?”
Tell an agent
Vote for issue #{issue_id} in {workspace}/{repo_slug}.
Cast my upvote on issue {issue_id} in repo {repo_slug}, workspace {workspace}.
DELETE /repositories/{workspace}/{repo_slug}/issues/{issue_id}/watch Stop watching an issue · Stop watching an issue #
Ask an LLM
“How do I stop getting notifications about an issue?”
“Can I unfollow an issue I no longer care about?”
Tell an agent destructive · confirm first
Stop watching issue #{issue_id} in {workspace}/{repo_slug}.
Unsubscribe me from updates on issue {issue_id} in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/issues/{issue_id}/watch Check whether I'm watching an issue · Check if current user is watching a issue #
Ask an LLM
“Am I subscribed to notifications for a particular issue?”
“Is there a quick way to see if I am already following an issue?”
Tell an agent
Check whether I am watching issue #{issue_id} in {workspace}/{repo_slug}.
Tell me if I follow issue {issue_id} in repo {repo_slug}, workspace {workspace}.
PUT /repositories/{workspace}/{repo_slug}/issues/{issue_id}/watch Watch an issue · Watch an issue #
Ask an LLM
“How do I get notified whenever an issue is updated?”
“Can I start following an issue someone else filed?”
Tell an agent
Start watching issue #{issue_id} in {workspace}/{repo_slug}.
Subscribe me to updates on issue {issue_id} in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/milestones List issue tracker milestones · List milestones #
Ask an LLM
“What milestones are defined for planning a repo's issues?”
“Which release milestones can I assign an issue to?”
Tell an agent
List the milestones in the issue tracker of {workspace}/{repo_slug}.
Show every milestone defined for repo {repo_slug} in workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/milestones/{milestone_id} Get an issue tracker milestone · Get a milestone #
Ask an LLM
“What is the name of the milestone with a given id?”
“How do I fetch one tracker milestone by id?”
Tell an agent
Get milestone {milestone_id} in {workspace}/{repo_slug}.
Show the details of milestone {milestone_id} for repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/versions List versions defined for issues · List defined versions for issues #
Ask an LLM
“Which product versions can an issue be reported against in this tracker?”
“What version labels exist for a repository's issues?”
Tell an agent
List the issue versions defined in {workspace}/{repo_slug}.
Show every version label available for issues in repo {repo_slug}, workspace {workspace}.
GET /repositories/{workspace}/{repo_slug}/versions/{version_id} Get a version defined for issues · Get a defined version for issues #
Ask an LLM
“What version name does a given version id correspond to?”
“How do I fetch a single issue tracker version by id?”
Tell an agent
Get issue version {version_id} in {workspace}/{repo_slug}.
Show version {version_id} from the tracker of repo {repo_slug}, workspace {workspace}.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bitbucket:bitbucket-issue-tracker-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bitbucket-issue-tracker-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bitbucket Issue tracker API
  description: Code against the Bitbucket API to automate simple tasks, embed Bitbucket data into your own site, build mobile or desktop apps, or even add custom UI add-ons into Bitbucket itself using the Connect framework.
  version: '2.0'
  termsOfService: https://www.atlassian.com/legal/customer-agreement
  contact:
    name: Bitbucket Support
    url: https://support.atlassian.com/bitbucket-cloud/
    email: support@bitbucket.org
servers:
- url: https://api.bitbucket.org/2.0
tags:


# --- truncated at 32 KB (223 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bitbucket/refs/heads/main/openapi/bitbucket-issue-tracker-api-openapi.yml