api-referenceGET
GET
https://analytics.flowsery.com/analytics/api/v1/issuesList the issues Flowsery's AI detected while analyzing session recordings, deduplicated across sessions and ranked by severity.
Bearer Token (workspace token or website API key)
Workspace Tokens Need a Website Selector
Workspace API tokens can access every website in the workspace. Pass eitherwebsiteId or domain so Flowsery knows which website to query or mutate. Website API keys are already scoped to one website, so the selector can be omitted.Website Selector
| Parameter | Type | Description |
|---|---|---|
websiteId | string | Website ID to use with a workspace API token. Omit when authenticating with a website API key. |
domain | string | Website domain to use with a workspace API token when websiteId is not provided. Omit when authenticating with a website API key. |
Suspended Issues Are Hidden by Default
The list excludes suspended issues unless you request them explicitly withstatus=suspended.Free Trial Shows the First 10 Issues
During the free trial the list and the counts cover only the first 10 issues detected on the website. Fetching or updating any other issue answers403 Forbidden with the message "Upgrade to view this issue".Optional Parameters
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by workflow status: open, in_progress, resolved, or suspended. Omit to receive every status except suspended. |
severity | string | Filter by severity: low, medium, high, or critical. |
search | string | Text search matched against issue titles and descriptions. Max 200 characters. |
sort | string | severity (default) orders the most severe issues first; recency orders by lastSeenAt, newest first. |
limit | number | Maximum issues to return (default: 100, max: 1000). |
offset | number | Rows to skip for pagination (min 0, default: 0). |
Response Fields
| Parameter | Type | Description |
|---|---|---|
id | string | Unique issue identifier. Pass it as issueId to the detail and update endpoints. |
websiteId | string | Website the issue belongs to. |
title | string | Short AI-generated summary of the problem. |
description | string | AI-generated explanation of what goes wrong and how it affects visitors. |
severity | string | AI-assigned impact rating: low, medium, high, or critical. |
status | string | Workflow status: open, in_progress, resolved, or suspended. |
sessionsCount | number | How many analyzed sessions hit this issue. |
firstSeenAt | string | When the issue was first detected in a recording. |
lastSeenAt | string | Most recent recording in which the issue appeared. |
stepsToReplicate | array | Ordered reproduction steps derived from the recordings where the issue occurred. |
sampleRecordingId | string | Recording that best demonstrates the issue. |
externalTicketProvider / externalTicketKey / externalTicketUrl | string | null | Linked ticket in an external tracker, or null when no ticket is linked. |
counts | object | Issue totals per status (open, inProgress, resolved) for the selected website, independent of the pagination window. |
List all issues
curl --request GET \
--url https://analytics.flowsery.com/analytics/api/v1/issues \
--header 'Authorization: Bearer <api-key>'Filter open critical issues
curl --request GET \
--url "https://analytics.flowsery.com/analytics/api/v1/issues?status=open&severity=critical&search=checkout&sort=recency" \
--header 'Authorization: Bearer <api-key>'200
{
"status": "success",
"data": [
{
"id": "iss_64f1c2a9e8b4d90012ab34cd",
"websiteId": "cm8abc123",
"title": "Checkout button unresponsive on mobile Safari",
"description": "Tapping the checkout button produces no navigation or feedback. Visitors tap repeatedly and abandon the cart.",
"severity": "critical",
"status": "open",
"sessionsCount": 14,
"firstSeenAt": "2026-08-02T09:14:31.000Z",
"lastSeenAt": "2026-08-27T18:40:05.000Z",
"stepsToReplicate": [
"Open the store on an iPhone in Safari",
"Add any product to the cart",
"Tap the checkout button on the cart page"
],
"sampleRecordingId": "rec_9f8e7d6c5b4a",
"externalTicketProvider": "linear",
"externalTicketKey": "SHOP-142",
"externalTicketUrl": "https://linear.app/acme/issue/SHOP-142"
},
{
"id": "iss_64f1c2a9e8b4d90012ab34ce",
"websiteId": "cm8abc123",
"title": "Pricing table overflows on narrow viewports",
"description": "The pricing table renders outside the viewport below 375px, hiding the yearly plan column.",
"severity": "medium",
"status": "in_progress",
"sessionsCount": 6,
"firstSeenAt": "2026-08-10T12:03:12.000Z",
"lastSeenAt": "2026-08-25T07:55:48.000Z",
"stepsToReplicate": [
"Open /pricing on a viewport narrower than 375px",
"Scroll horizontally inside the pricing table"
],
"sampleRecordingId": "rec_1a2b3c4d5e6f",
"externalTicketProvider": null,
"externalTicketKey": null,
"externalTicketUrl": null
}
],
"counts": {
"open": 5,
"inProgress": 2,
"resolved": 11
},
"pagination": {
"limit": 100,
"offset": 0,
"total": 7
}
}