Skip to content

Get the merge task status for a pull request

GET
/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/merge/task-status/{task_id}

When merging a pull request takes too long, the client receives a task ID along with a 202 status code. The task ID can be used in a call to this endpoint to check the status of a merge task.

curl -X GET https://api.bitbucket.org/2.0/repositories/atlassian/bitbucket/pullrequests/2286/merge/task-status/<task_id>

If the merge task is not yet finished, a PENDING status will be returned.

HTTP/2 200
{
    "task_status": "PENDING",
    "links": {
        "self": {
            "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bitbucket/pullrequests/2286/merge/task-status/<task_id>"
        }
    }
}

If the merge was successful, a SUCCESS status will be returned.

HTTP/2 200
{
    "task_status": "SUCCESS",
    "links": {
        "self": {
            "href": "https://api.bitbucket.org/2.0/repositories/atlassian/bitbucket/pullrequests/2286/merge/task-status/<task_id>"
        }
    },
    "merge_result": <the merged pull request object>
}

If the merge task failed, an error will be returned.

{
    "type": "error",
    "error": {
        "message": "<error message>"
    }
}
pull_request_id
required
integer

The id of the pull request.

repo_slug
required
string

This can either be the repository slug or the UUID of the repository, surrounded by curly-braces, for example: {repository UUID}.

task_id
required
string

ID of the merge task

workspace
required
string

This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example: {workspace UUID}.

Returns a task status if the merge is either pending or successful, and if it is successful, a pull request

If the provided task ID does not relate to this pull request, or if something went wrong during the merge operation

The user making the request does not have permission to the repo and is different from the user who queued the task

Unable to merge because one of the refs involved changed while attempting to merge