Skip to main content
Issues (also called “groups”) are aggregated error occurrences. Events are the individual error instances that make up an issue. Use these endpoints to list, filter, update, and delete issues, and to retrieve individual events.

List issues for an organization

GET /api/0/organizations/{organization_id_or_slug}/issues/
Returns a paginated list of issues for the organization. By default, only unresolved issues are returned. Required scope: event:read

Query parameters

query
string
A Sentry structured search query. For example, is:unresolved assigned:me or is:ignored. If omitted, defaults to is:unresolved.
status
string
Filter by status. One of resolved, unresolved, or ignored.
assignee
string
Filter by assignee. Use a username, user ID, or team name (prefixed with #).
project
integer
Filter by project ID. Can be repeated for multiple projects.
environment
string
Filter issues to a specific environment, e.g. production.
statsPeriod
string
The time window for stats included in the response. One of 24h (default), 14d, or "" (disabled).
cursor
string
Pagination cursor. Use the value from the Link response header to fetch the next or previous page.

Example request

curl "https://sentry.io/api/0/organizations/my-org/issues/?query=is:unresolved&environment=production" \
  -H "Authorization: Bearer sntrys_TOKEN"

Example response

[
  {
    "id": "1",
    "shortId": "PUMP-STATION-1",
    "title": "This is an example Python exception",
    "culprit": "raven.scripts.runner in main",
    "level": "error",
    "status": "unresolved",
    "firstSeen": "2018-11-06T21:19:55Z",
    "lastSeen": "2018-11-06T21:19:55Z",
    "count": "1",
    "userCount": 0,
    "assignedTo": null,
    "isBookmarked": false,
    "isSubscribed": true,
    "isPublic": false,
    "project": {
      "id": "2",
      "name": "Pump Station",
      "slug": "pump-station"
    }
  }
]

Retrieve an issue

GET /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/
Returns detailed information about a single issue, including activity history, participant list, and event stats. Required scope: event:read

Path parameters

organization_id_or_slug
string
required
The numeric ID or slug of the organization.
issue_id
string
required
The numeric ID of the issue.

Example request

curl https://sentry.io/api/0/organizations/my-org/issues/1/ \
  -H "Authorization: Bearer sntrys_TOKEN"

Example response

{
  "id": "1",
  "shortId": "PUMP-STATION-1",
  "title": "This is an example Python exception",
  "culprit": "raven.scripts.runner in main",
  "level": "error",
  "status": "unresolved",
  "statusDetails": {},
  "firstSeen": "2018-11-06T21:19:55Z",
  "lastSeen": "2018-11-06T21:19:55Z",
  "count": "1",
  "userCount": 0,
  "userReportCount": 0,
  "numComments": 0,
  "assignedTo": null,
  "isBookmarked": false,
  "isSubscribed": true,
  "isPublic": false,
  "project": {
    "id": "2",
    "name": "Pump Station",
    "slug": "pump-station"
  },
  "activity": [
    {
      "id": "0",
      "type": "first_seen",
      "data": {},
      "dateCreated": "2018-11-06T21:19:55Z",
      "user": null
    }
  ]
}

Response fields

id
string
The numeric issue ID, returned as a string.
shortId
string
A short, human-readable ID that includes the project slug, e.g. MY-PROJECT-123.
title
string
The issue title, derived from the exception or error message.
level
string
The severity level: fatal, error, warning, info, or debug.
status
string
Current status: unresolved, resolved, or ignored.
firstSeen
string
ISO 8601 timestamp of when Sentry first saw this issue.
lastSeen
string
ISO 8601 timestamp of the most recent event for this issue.
count
string
Total number of events in this issue, returned as a string.
userCount
integer
Number of distinct users who have experienced this issue.
assignedTo
string | null
Username or team name of the current assignee, or null if unassigned.
activity
array
A log of state changes and comments on the issue.

Update an issue

PUT /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/
Updates attributes on a single issue. Only the fields you include in the request body are changed. Required scope: event:write

Request body

status
string
The new status for the issue. One of resolved, resolvedInNextRelease, unresolved, or ignored.
statusDetails
object
Additional context about the resolution. Relevant when status is resolved or ignored.
assignedTo
string
The username or team name to assign the issue to. Use "" to unassign.
hasSeen
boolean
Mark the issue as seen or unseen for the authenticated user.
isBookmarked
boolean
Bookmark or unbookmark the issue for the authenticated user.
isSubscribed
boolean
Subscribe or unsubscribe the authenticated user from workflow notifications.
isPublic
boolean
Make the issue publicly viewable (true) or private (false).

Example: resolve an issue

curl -X PUT https://sentry.io/api/0/organizations/my-org/issues/12345/ \
  -H "Authorization: Bearer sntrys_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "resolved"}'

Example: assign an issue

curl -X PUT https://sentry.io/api/0/organizations/my-org/issues/12345/ \
  -H "Authorization: Bearer sntrys_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"assignedTo": "jane@example.com"}'

Example: ignore an issue for 30 minutes

curl -X PUT https://sentry.io/api/0/organizations/my-org/issues/12345/ \
  -H "Authorization: Bearer sntrys_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "ignored", "statusDetails": {"ignoreDuration": 30}}'

Delete an issue

DELETE /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/
Permanently removes an issue and all of its events. This action cannot be undone. Required scope: event:admin Returns 202 Accepted on success.

List project issues

GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/issues/
Returns a list of issues scoped to a specific project. Required scope: event:read
This endpoint is deprecated. Use GET /api/0/organizations/{org}/issues/ with a project query parameter instead. The organization-level endpoint supports all the same filters and additional functionality.

Query parameters

query
string
A structured search query. Defaults to is:unresolved if not provided.
statsPeriod
string
Time window for issue stats. One of 24h (default), 14d, or "" (disabled).
cursor
string
Pagination cursor from the Link response header.

Retrieve an event

GET /api/0/projects/{organization_id_or_slug}/{project_id_or_slug}/events/{event_id}/
Returns the full data for a single event, including the exception, stack trace, breadcrumbs, and tags. Required scope: event:read

Path parameters

event_id
string
required
The UUID of the event.

Example request

curl https://sentry.io/api/0/projects/my-org/my-project/events/abc123/ \
  -H "Authorization: Bearer sntrys_TOKEN"

List issue hashes

GET /api/0/organizations/{organization_id_or_slug}/issues/{issue_id}/hashes/
Returns the fingerprint hashes that are grouped into this issue. Each hash represents a unique event fingerprint that Sentry has bucketed under this issue. Required scope: event:read

Example request

curl https://sentry.io/api/0/organizations/my-org/issues/12345/hashes/ \
  -H "Authorization: Bearer sntrys_TOKEN"

Example response

[
  {
    "id": "9999aaaabbbbcccc",
    "latestEvent": {
      "eventID": "9999aaaabbbbcccc11112222",
      "groupID": "12345",
      "title": "This is an example Python exception"
    }
  }
]