---
title: "Update an issue"
method: PATCH
path: "/issues/{issueId}"
tags: ["Issues"]
---

# Update an issue

`PATCH /issues/{issueId}`

## Request

- Base URL: `https://api.sazabi.com/v1`
- URL: `https://api.sazabi.com/v1/issues/{issueId}`
- Auth: none declared

Change an issue's severity, with an optional note recorded in its history. A change notifies no one.

## Path parameters

- `issueId` string, uuid, required: Issue ID to update.

## Request body

- object
  - `severity` 'low' | 'medium' | 'high' | 'critical', required: Issue severity, by impact. critical: Happening now in production: an outage of the service, of a flow most users depend on, or of a whole feature; or data loss, a security exposure, or failed payments. high: Happening now in production: at least 1% of attempts failing or a region down; or production data loss, exposure, or failed payments that has stopped. medium: A failure limited to a few users or one path, a broad internal failure, a production outage that ended on its own, or serious harm outside production. low: No user or system impact, a transient blip, an internal failure on one item or a rare path, or other work outside production, including eval, training, and canary runs. A change notifies no one: it updates the issue, its status-page incident, and its Slack cards.
  - `note` string: Optional context for the severity change, up to 500 characters. Shown in the issue's history. State the observed reason in brief, natural language without emojis or em dashes; distinguish confirmed impact from uncertainty.

## Response `200`

OK

- object
  - `issue` object, required
    - `id` string, uuid, required
    - `projectId` string, uuid, required
    - `name` string, required
    - `description` string, nullable, required
    - `status` 'open' | 'resolved' | 'ignored', required
    - `severity` 'low' | 'medium' | 'high' | 'critical', required
    - `componentId` string, uuid, nullable, required
    - `componentName` string, nullable, required: The component's display name, as the issue page shows it. Null when the issue has no component.
    - `createdAt` string, date-time, required
    - `resolvedAt` string, date-time, nullable, required
    - `mutedAt` string, date-time, nullable, required
    - `muteHitCount` integer, required
    - `lastActivityAt` string, date-time, nullable, required
    - `lastDeliveredAt` string, date-time, nullable, required
    - `locked` boolean, required: Deprecated. Always false; issue details are never credit-locked.
    - `redacted` boolean, required: Deprecated. Always false; issue details are never credit-redacted.
  - `changed` boolean, required: False when the issue already had the requested severity.

## Changes

- **2026-10-11** `5f4a1feb193a`: 1 info
  - added the required property `issue/componentName` to the response with the `200` status
- **2026-10-09** `8334a2be29e9`: 2 info
  - the request property `note` became optional
  - the `note` request property's minLength was decreased from `1` to `0`
- **2026-10-06** `88bb1e570de3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sazabi/apis/sazabi-public-api/changes/issues/:issueId/patch.md)

---

[API](https://skmtc.dev/sazabi/apis/sazabi-public-api.md) - [All operations](https://skmtc.dev/sazabi/apis/sazabi-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sazabi/apis/sazabi-public-api/revisions/965b6230cf45?raw)
