---
metadata:
  - name: generator
    content: Diplodoc Platform v5.47.3
alternate:
  - https://yandex.com.tr/support/tracker/en/api-ref/issues/get-changelog.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/support/tracker/en/llms.txt

# Getting the history of issue changes

Use this request to get the history of changes to issues. If there are more than 50 records in the response, use the [`perPage` parameter](#params).

<div class="request_example method_get yfm-clipboard">
    <p>GET</p>
    <pre><code>https://api.tracker.yandex.net/v3/issues/&lt;issue_ID>/changelog</code></pre>
    <button class="yfm-clipboard-button"><svg width="16" height="16" viewBox="0 0 24 24" class="yfm-clipboard-icon" data-animation="15">
    <path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path>
    <path stroke="currentColor" fill="transparent" strokewidth="1.5" d="M9.5 13l3 3l5 -5" visibility="hidden">
        <animate id="visibileAnimation-15" attributeName="visibility" from="hidden" to="visible" dur="0.2s" fill="freeze" begin=""></animate>
        <animate id="hideAnimation-15" attributeName="visibility" from="visible" to="hidden" dur="1s" begin="visibileAnimation-15.end+1" fill="freeze"></animate>
    </path>
</svg>
</button>
</div>

<!-- source: en/_assets/style/methods.md -->

<!-- endsource: en/_assets/style/methods.md -->

## Query format {#query}

Before making a request, [get permission to access the API](https://yandex.com.tr/support/tracker/en/api-ref/access.md).

To get a list of issue changes, use an HTTP `GET` request.
```json
GET /v3/issues/<issue_ID>/changelog
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth_token>
X-Org-ID or X-Cloud-Org-ID: <organization_ID>
```

<!-- source: en/_includes/api/headings.md -->
{% cut "Headers" %}

* `Host`: address of the node that provides the API.

* <!-- source: en/_includes/api/authorization.md -->
  `Authorization`: Authorization token about these formats:

    - `OAuth <OAuth_token>`: For authorization using the OAuth 2.0 protocol. [Learn more](https://yandex.com.tr/support/tracker/en/api-ref/access.md#about_OAuth)

    - `Bearer <IAM_token>`: For authorization using an IAM token, if a Yandex Cloud Organization organization is linked to Tracker. [Learn more](https://yandex.com.tr/support/tracker/en/api-ref/access.md#iam-token)
  <!-- endsource: en/_includes/api/authorization.md -->


* <!-- source: en/_includes/api/org-id.md -->
  `X-Org-ID` or `X-Cloud-Org-ID`: Organization ID.

  - Use the `X-Org-ID` header if a Tracker organization is linked to Yandex 360 for Business.

  - Use the `X-Cloud-Org-ID` header if a Tracker organization is linked to Yandex Cloud Organization.

  To get the organization ID, go to **Administration** → [**Organizations**](https://tracker.yandex.com/admin/orgs) and copy the value from the **ID** field. {#find-id}
  <!-- endsource: en/_includes/api/org-id.md -->


{% endcut %}
<!-- endsource: en/_includes/api/headings.md -->

<!-- source: en/_includes/api/resource-issue-id.md -->
{% cut "Resource" %}

| Parameter | Description | Data type |
-------- | -------- | ----------
| \<issue_key_or_ID\> | ID or key of the current issue. | String |

{% endcut %}
<!-- endsource: en/_includes/api/resource-issue-id.md -->

{% cut "Request parameters" %}

#### Additional parameters {#params}

| Parameter | Description | Data type |
-------- | -------- | ----------
| id | ID of the change followed by the requested changes. | String |
| perPage | Number of changes per page. If this parameter is omitted, each page will display 50 changes by default. | Number |
| field | ID of the [change parameter](#field). For example, `checklistItems` for viewing changes to the checklist or `status` for viewing all issue status updates. | String |
| type | Key of the [change type](#diff-type). | String |

{% endcut %}

## Response format {#answer}

{% list tabs %}

- Request executed successfully

    <!-- source: en/_includes/api/answer-200.md -->
    If the request is successful, the API returns a response with code `200 OK`.
    <!-- endsource: en/_includes/api/answer-200.md -->

    The response body contains a JSON array with the history of issue changes.

  {% cut "Response headers" %}

    The `Link` headers contain links to the first (`rel="first"`) and subsequent (`rel="next"`) pages of the response. By default, each page contains 50 changes.

    ```
    ...
    Link: <https://api.tracker.yandex.net/v3/issues/SCR-8/changelog?perPage=50>; rel="first"
    Link: <https://api.tracker.yandex.net/v3/issues/SCR-8/changelog?id=5b9a1a88f7c60500********&perPage=50>; rel="next"
    ...
    ```
  {% endcut %}

    ```json
    [
     {
         "id": "6033f986bd6c4a04********",
         "self": "https://api.tracker.yandex.net/v3/issues/TEST-27/changelog/6033f986bd6c4a04********",
         "issue": {
             "self": "https://api.tracker.yandex.net/v3/issues/TEST-27",
             "id": "6033f986bd6c4a04********",
             "key": "TEST-27",
             "display": "Issue name"
         },
         "updatedAt": "2021-02-22T18:35:50.157+0000",
         "updatedBy": {
             "self": "https://api.tracker.yandex.net/v3/users/71********",
             "id": "71********",
             "display": "First and Last Name"
         },
         "type": "IssueCreated",
         "transport": "front",
         "fields": [
             {
                 "field": {
                     "self": "https://api.tracker.yandex.net/v3/fields/status",
                     "id": "status",
                     "display": "Status"
                 },
                 "from": null,
                 "to": {
                     "self": "https://api.tracker.yandex.net/v3/statuses/1",
                     "id": "1",
                     "key": "open",
                     "display": "Open"
                 }
             }
         ]
     },
     {
         "id": "6033f98d4417c101********",
         "self": "https://api.tracker.yandex.net/v3/issues/TEST-27/changelog/6033f98d4417c101********",
         "issue": {
             "self": "https://api.tracker.yandex.net/v3/issues/TEST-27",
             "id": "6033f986bd6c4a04********",
             "key": "TEST-27",
             "display": "Issue name"
         },
         "updatedAt": "2021-02-22T18:35:57.359+0000",
         "updatedBy": {
             "self": "https://api.tracker.yandex.net/v3/users/71********",
             "id": "71********",
             "display": "First and Last Name"
         },
         "type": "IssueUpdated",
         "transport": "front",
         "fields": [
             {
                 "field": {
                     "self": "https://api.tracker.yandex.net/v3/fields/followers",
                     "id": "followers",
                     "display": "Followers"
                 },
                 "from": null,
                 "to": [
                     {
                         "self": "https://api.tracker.yandex.net/v3/users/71********",
                         "id": "71********",
                         "display": "First and Last Name"
                     }
                 ]
             }
         ]
     },
     {
         "id": "6033f9954417c101********",
         "self": "https://api.tracker.yandex.net/v3/issues/TEST-27/changelog/6033f9954417c101********",
         "issue": {
             "self": "https://api.tracker.yandex.net/v3/issues/TEST-27",
             "id": "6033f986bd6c4a04********",
             "key": "TEST-27",
             "display": "Issue name"
         },
         "updatedAt": "2021-02-22T18:36:05.553+0000",
         "updatedBy": {
             "self": "https://api.tracker.yandex.net/v3/users/71********",
             "id": "71********",
             "display": "First and Last Name"
         },
         "type": "IssueUpdated",
         "transport": "front",
         "fields": [
             {
                 "field": {
                     "self": "https://api.tracker.yandex.net/v3/fields/tags",
                     "id": "tags",
                     "display": "Tags"
                 },
                 "from": null,
                 "to": [
                     "New tag"
                 ]
             }
         ],
     },
     {
        "id": "62bab52ca16f631e********",
        "self": "https://api.tracker.yandex.net/v3/issues/TEST-27/changelog/62bab52ca16f631e********",
        "issue": {
            "self": "https://api.tracker.yandex.net/v3/issues/TEST-27",
            "id": "5fbc929b5b28572f********",
            "key": "TEST-27",
            "display": "Issue name"
        },
        "updatedAt": "2022-06-28T08:00:44.155+0000",
        "updatedBy": {
            "self": "https://api.tracker.yandex.net/v3/users/71********",
            "id": "71********",
            "display": "First and Last Name"
        },
        "type": "IssueWorkflow",
        "transport": "front",
        "fields": [
            {
                "field": {
                    "self": "https://api.tracker.yandex.net/v3/fields/status",
                    "id": "status",
                    "display": "Status"
                },
                "from": {
                    "self": "https://api.tracker.yandex.net/v3/statuses/3",
                    "id": "3",
                    "key": "inProgress",
                    "display": "In progress"
                },
                "to": {
                    "self": "https://api.tracker.yandex.net/v3/statuses/2",
                    "id": "2",
                    "key": "needInfo",
                    "display": "Need info"
                }
            },
            {
                "field": {
                    "self": "https://api.tracker.yandex.net/v3/fields/statusStartTime",
                    "id": "statusStartTime",
                    "display": "Status updated"
                },
                "from": "2022-06-28T07:29:45.753+0000",
                "to": "2022-06-28T08:00:44.156+0000"
            },
            {
                "field": {
                    "self": "https://api.tracker.yandex.net/v3/fields/followers",
                    "id": "followers",
                    "display": "Followers"
                },
                "from": [
                    {
                        "self": "https://api.tracker.yandex.net/v3/users/71********",
                        "id": "71********",
                        "display": "First and Last Name"
                    },
                    {
                        "self": "https://api.tracker.yandex.net/v3/users/71********",
                        "id": "71********",
                        "display": "First and Last Name"
                    }
                ],
                "to": [
                    {
                        "self": "https://api.tracker.yandex.net/v3/users/71********",
                        "id": "71********",
                        "display": "First and Last Name"
                    },
                    {
                        "self": "https://api.tracker.yandex.net/v3/users/71********",
                        "id": "71********",
                        "display": "First and Last Name"
                    },
                    {
                        "self": "https://api.tracker.yandex.net/v3/users/71********",
                        "id": "71********",
                        "display": "First and Last Name"
                    }
                ]
            }
        ],
        "comments": {
            "added": [
                {
                    "self": "https://api.tracker.yandex.net/v3/issues/TEST-27/comments/10",
                    "id": "10",
                    "display": "Comment text"
                }
            ]
        },
        "executedTriggers": [
            {
                "trigger": {
                    "self": "https://api.tracker.yandex.net/v3/queues/TEST/triggers/29",
                    "id": "29",
                    "display": "Trigger-42"
                },
                "success": true,
                "message": "Success"
            }
         ]
      }
    ]
    ```

  {% cut "Response parameters" %}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | id | Change ID. | String |
   | self | Address of the API resource with information about the change. | String |
   | [issue](#issue) | Block with issue details. | Map item |
   | updatedAt | Issue update date and time in `YYYY-MM-DDThh:mm:ss.sss±hhmm` format. | String |
   | [updatedBy](#updated-by) | Object with information about the user who edited the issue. | Map item |
   | transport | Service parameter | String |
   | type | [Type of change](#diff-type). | String |
   | [fields](#fields) | Array of objects with information about updated issue parameters. | Array of objects |
   | [comments](#comments) | Section with information about the [comment](get-comments.md) to the issue. | Object |
   | [executedTriggers](#executedTriggers) | Section with information about the [trigger](../queues/get-trigger.md) that ran in the issue. | Object |

   `issue` **object fields** {#issue}

   <!-- source: en/_includes/api/issue.md -->
   | Parameter | Description | Data type |
   ----- | ----- | -----
   | self | Address of the API resource with information about the issue. | String |
   | id | Issue ID. | String |
   | key | Issue key. | String |
   | display | Issue name displayed. | String |
   <!-- endsource: en/_includes/api/issue.md -->

   `updatedBy` **object fields** {#updated-by}

   <!-- source: en/_includes/api/user.md -->
   | Parameter | Description | Data type |
   ----- | ----- | -----
   | self | Address of the API resource with information about the user | String |
   | id | User ID. | String |
   | display | Displayed user name | String |
   | passportUid | Unique ID of the user account in the Yandex 360 for Business organization and Yandex ID. | Number |
   | cloudUid | Unique user ID in Yandex Cloud Organization | String |
   <!-- endsource: en/_includes/api/user.md -->

   `fields` **array object fields** {#fields}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | [field](#field) | Block with information about the updated issue parameter. | Map item |
   | [from](#from-to) | Information about the parameter value before the change. <ul><li>If the field can accept multiple values, an array of objects is provided. For example, the `followers` field.</li><li>If the field can only accept one value, it is provided as a string. For example, the `statusStartTime` field.</li></ul> | String / object |
   | [to](#from-to) | Information about the parameter value after the change. <ul><li>If the field can accept multiple values, an array of objects is provided. For example, the `followers` field.</li><li>If the field can only accept one value, it is provided as a string. For example, the `statusStartTime` field.</li></ul> | String / object |

   `field` **object fields** {#field}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | self | Link to the updated issue parameter. | String |
   | id | Issue parameter ID. | String |
   | display | Issue parameter name displayed. | String |

   `from` **and** `to` **object fields** {#from-to}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | self | Link to the issue parameter value. | String |
   | id | Issue parameter value ID. | String |
   | key | Parameter value key. | String |
   | display | Value parameter name displayed. | String |

   `comments` **object fields** {#comments}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | [added](#added) | Block with information about comment. | Object |

   `added` **object fields** {#added}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | self | Link to the comment object. | String |
   | id | Comment ID. | Number |
   | display | Text of the comment. | String |

   `executedTriggers` **object fields** {#executedTriggers}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | [trigger](#trigger) | Block with information about trigger. | Map item |
   | success | Trigger action status. Acceptable values include:<ul><li>`true`: Success.</li><li>`false`: Failure.</li></ul> | Boolean |
   | message | Action that was executed by the trigger. | String |

   `trigger` **object fields** {#trigger}

   | Parameter | Description | Data type |
   ----- | ----- | -----
   | self | Link to the trigger object. | String |
   | id | Trigger ID | Number |
   | display | Trigger name displayed | String |

   `type` **type of change** {#diff-type}

   | Type of change. | Description |
   ----- | -----
   | IssueUpdated | The issue was edited. |
   | IssueCreated | The issue was created. |
   | IssueMoved | The issue was moved to another queue. |
   | IssueCloned | The issue was copied. |
   | IssueCommentAdded | A comment was added to the issue. |
   | IssueCommentUpdated | An issue comment is edited. |
   | IssueCommentRemoved | An issue comment is deleted. |
   | IssueWorklogAdded | A record of time spent was added. |
   | IssueWorklogUpdated | A record of time spent was edited. |
   | IssueWorklogRemoved | A record of time spent was deleted. |
   | IssueCommentReactionAdded | The comment was voted for. |
   | IssueCommentReactionRemoved | A vote for the comment was removed. |
   | IssueVoteAdded | The issue was voted for. |
   | IssueVoteRemoved | A vote for the issue was removed. |
   | IssueLinked | A link to another issue was created. |
   | IssueLinkChanged | Type of link to another issue was changed. |
   | IssueUnlinked | A link to another issue was deleted. |
   | RelatedIssueResolutionChanged | Resolution of the linked issue was changed. |
   | IssueAttachmentAdded | A file is attached to the issue. |
   | IssueAttachmentRemoved | A file attached to the issue was removed. |
   | IssueWorkflow | The issue status changed. |

  {% endcut %}

- Request failed

  If the request is processed incorrectly, the API returns a response with an error code:

  <!-- source: en/_includes/api/answer-error-401.md -->
  401
  :   The user is not authorized. Make sure that actions described in the [API access](https://yandex.com.tr/support/tracker/en/api-ref/access.md) section are performed.
  <!-- endsource: en/_includes/api/answer-error-401.md -->

  <!-- source: en/_includes/api/answer-error-403.md -->
  403
  :   You are not authorized to perform this action. You can check what rights you have in the Tracker interface. The same rights are required to perform an action via the API and interface.
  <!-- endsource: en/_includes/api/answer-error-403.md -->

  <!-- source: en/_includes/api/answer-error-404.md -->
  404
  :   The requested object was not found. You may have specified an invalid object ID or key.
  <!-- endsource: en/_includes/api/answer-error-404.md -->

  <!-- source: en/_includes/api/answer-error-422.md -->
  422
  :   JSON validation error, the request is rejected.
  <!-- endsource: en/_includes/api/answer-error-422.md -->

  <!-- source: en/_includes/api/answer-error-500.md -->
  500
  :   Internal service error. Try again later.
  <!-- endsource: en/_includes/api/answer-error-500.md -->

  <!-- source: en/_includes/api/answer-error-503.md -->
  503
  :   The API service is temporarily unavailable.
  <!-- endsource: en/_includes/api/answer-error-503.md -->

{% endlist %}
