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

# Update an issue’s status

`PATCH /issues/{issueId}`

## Request

- Base URL: `https://analytics.flowsery.com/analytics/api/v1`
- URL: `https://analytics.flowsery.com/analytics/api/v1/issues/{issueId}`
- Auth: HTTP bearer

Moves an issue between `open`, `in_progress`, `resolved` and `suspended`. Suspended issues disappear from the default list.

## Path parameters

- `issueId` string, required

## Query parameters

- `websiteId` string
- `domain` string

## Headers

- `X-Workspace-Id` string

## Request body

- UpdateIssueStatusRequest
  - `status` 'open' | 'in_progress' | 'resolved' | 'suspended', required

## Response `200`

Updated issue detail

- IssueDetailResponse
  - `status` 'success', required
  - `data` IssueDetail, required
    - `id` string, required
    - `websiteId` string, required
    - `title` string, required
    - `description` string
    - `severity` 'low' | 'medium' | 'high' | 'critical', required
    - `status` 'open' | 'in_progress' | 'resolved' | 'suspended', required
    - `sessionsCount` integer: How many analyzed sessions hit this issue.
    - `firstSeenAt` string, date-time
    - `lastSeenAt` string, date-time
    - `stepsToReplicate` string[]
    - `sampleRecordingId` string, nullable
    - `externalTicketProvider` string, nullable
    - `externalTicketKey` string, nullable
    - `externalTicketUrl` string, nullable
    - `occurrences` IssueOccurrence[]
      - `description` string
      - `atSeconds` number, nullable
      - `severity` 'low' | 'medium' | 'high' | 'critical'
    - `sessions` object[]
      - `recordingId` string
      - `atSeconds` number, nullable
    - `comments` IssueComment[]
      - `id` string
      - `incidentId` string
      - `authorId` string
      - `authorName` string
      - `body` string
      - `createdAt` string, date-time

## Other responses

- `400`: Validation error
- `401`: Missing, invalid, expired or revoked API key or access token. `code: token_issuer_lost_access` means the member who created the API key was deactivated or lost access to the workspace: ask a workspace admin for a new key
- `403`: The credentials are valid but cannot be used here. `code: permission_denied`: the workspace role behind the API key or OAuth sign-in lacks `flowsery.write`; `role`, `keyRole` and `issuerRole` say which role fell short. `code: subscription_required`: the organization plan does not include API access. `code: workspace_access_denied`: `X-Workspace-Id` names a workspace the caller cannot reach, or an API key was sent to a workspace other than its own. On a free trial only the first 10 issues found are open; any other answers 403 with the message "Upgrade to view this issue" and no `code`
- `404`: Issue not found on this website
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/flowsery/apis/flowsery-analytics-public-api.md) · [All operations](https://skmtc.dev/flowsery/apis/flowsery-analytics-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flowsery/apis/flowsery-analytics-public-api/revisions/8f23583fdf0e?raw)
