---
title: "Issues"
description: "Learn more about Sentry's integration platform issue webhooks."
url: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues/
---

# Issues

Sentry integrations that have subscribed to issue webhooks can receive information about an issue being created and changing state.

## [Sentry-Hook-Resource Header](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#sentry-hook-resource-header)

`'Sentry-Hook-Resource': 'issue'`

## [Attributes](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#attributes)

### [action](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#action)

* type: string
* description: can be `created`, `resolved`, `assigned`, `archived`, or `unresolved`

### [data\['issue'\]](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#dataissue)

* type: object
* description: the issue

### [data\['issue'\]\['url'\]](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#dataissueurl)

* type: string
* description: the api url for the issue

### [data\['issue'\]\['web\_url'\]](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#dataissueweb_url)

* type: string
* description: the web url for the issue

### [data\['issue'\]\['project\_url'\]](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#dataissueproject_url)

* type: string
* description: the api url to the project the issue is a part of

## [Payload](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#payload)

Payload includes additional information about the issue. Some important fields to pay attention to are:

### [status](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#status)

Some issue webhooks are triggered on status change of an issue. An issue status can be `resolved`, `unresolved`, or `ignored` (archived).

### [substatus](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#substatus)

A status can mean multiple things, so substatus gives more details about the status. For example, an issue status can change to `unresolved` because it is now `escalating` or because a resolved issue is `regressed`. Possible substatuses are: `archived_until_escalating`, `archived_until_condition_met`, `archived_forever`, `escalating`, `ongoing`, `regressed` and `new`.

### [statusDetails](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#statusdetails)

`statusDetails` includes more detailed information about `resolved` and `archived` status changes on an issue. These details can include:

* `inRelease`: The release that the resolution is in (for example, `latest`)
* `inNextRelease`: `True` if the resolution will be in the next release
* `inCommit`: Includes information about the resolution commit (such as `repository` and `commit`)
* `ignoreCount`: Maximum number of occurrences in for an archived issue before it gets escalated
* `ignoreWindow`: Used with `ignoreCount` indicating the number of minutes that `ignoreCount` occurrences will be ignored
* `ignoreUserCount`: Maximum number of users who are affected by an archived issue before it gets escalated
* `ignoreUserWindow`: Used with `ignoreUserCount` indicating the number of minutes that `ignoreUserCount` affected users will be ignored
* `ignoreDuration`: The duration (in minutes) that an archived issue should be ignored before it gets escalated. Increase in the number of users affected or the number of occurrences will not escalate before this duration has passed unless there is a spike. To learn more about how this works, see [Escalating Issues Algorithm](https://docs.sentry.io/product/issues/states-triage/escalating-issues.md).

### [issueCategory & issueType](https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues.md#issuecategory--issuetype)

`issueCategory` and `issueType` provide more detail to distinguish different issues from eachother. For `issueCategory` variations include, `outage` (for issues created from `uptime` and `cron` monitors) and `error` (for issues created from an error event).

`issueType` allows for even more specificity on top of `issueCategory`, examples include `uptime_domain_failure` for `uptime` issues and `monitor_check_in_failure` for `cron` issues.

The issue categories we currently support `issue.created` webhooks for are `OUTAGE`, `ERROR`, and FEEDBACK.

```json
{
  "action": "created",
  "installation": {
    "uuid": "24b397fc-a86e-43ef-9297-949e21b82480"
  },
  "data": {
    "issue": {
      "url": "https://sentry.io/api/0/organizations/example-org/issues/1234567890/",
      "web_url": "https://example-org.sentry.io/issues/1234567890/",
      "project_url": "https://example-org.sentry.io/issues/?project=4509877862268928",
      "id": "1234567890",
      "shareId": null,
      "shortId": "PYTHON-Y",
      "title": "Error generated with event_id: 495d375a-1df6-45c0-9890-34dae8e1b6a4(Priority: HIGH)",
      "culprit": "test-transaction-0-41e49cd3-7252-441f-8d27-63a9ad697b0a",
      "permalink": "https://example-org.sentry.io/issues/1234567890/",
      "logger": "edge-function",
      "level": "fatal",
      "status": "unresolved",
      "statusDetails": {},
      "substatus": "new",
      "isPublic": false,
      "platform": "javascript",
      "project": {
        "id": "112313123123134",
        "name": "python",
        "slug": "python",
        "platform": "python"
      },
      "type": "default",
      "metadata": {
        "title": "Error generated with event_id: 495d375a-1df6-45c0-9890-34dae8e1b6a4(Priority: HIGH)",
        "sdk": {
          "name": "edge-function",
          "name_normalized": "other"
        },
        "severity": 1,
        "severity_reason": "log_level_fatal",
        "initial_priority": 75
      },
      "numComments": 0,
      "assignedTo": null,
      "isBookmarked": false,
      "isSubscribed": false,
      "subscriptionDetails": null,
      "hasSeen": false,
      "annotations": [],
      "issueType": "error",
      "issueCategory": "error",
      "priority": "high",
      "priorityLockedAt": null,
      "seerFixabilityScore": null,
      "seerAutofixLastTriggered": null,
      "isUnhandled": false,
      "count": "3",
      "userCount": 3,
      "firstSeen": "2025-11-10T20:56:00.679000+00:00",
      "lastSeen": "2025-11-10T20:56:00.738000+00:00"
    }
  },
  "actor": {
    "type": "application",
    "id": "example-app",
    "name": "Example App"
  }
}
```
