api-referenceGET
GET
https://analytics.flowsery.com/analytics/api/v1/issuesDie Probleme auflisten, die Flowserys KI bei der Analyse von Session-Aufzeichnungen erkannt hat, sitzungsübergreifend dedupliziert und nach Schweregrad sortiert.
Bearer-Token (Workspace-Token oder Website-API-Schlüssel)
Workspace-Tokens benötigen einen Website-Selektor
Workspace-API-Tokens können auf jede Website im Workspace zugreifen. Übergeben Sie entwederwebsiteId oder domain, damit Flowsery weiß, welche Website abgefragt oder geändert werden muss. Website-API-Schlüssel sind bereits auf eine Website beschränkt, sodass der Selektor weggelassen werden kann.Website-Auswahl
| Parameter | Typ | Beschreibung |
|---|---|---|
websiteId | string | Website-ID zur Verwendung mit einem Workspace-API-Token. Bei der Authentifizierung mit einem Website-API-Schlüssel weglassen. |
domain | string | Website domain zur Verwendung mit einem Workspace-API-Token, wenn websiteId nicht bereitgestellt wird. Bei der Authentifizierung mit einem Website-API-Schlüssel weglassen. |
Ausgesetzte Probleme sind standardmäßig ausgeblendet
Die Liste schließt ausgesetzte Probleme aus, sofern sie nicht explizit mitstatus=suspended angefordert werden.Die Testphase zeigt die ersten 10 Probleme
Während der Testphase umfassen Liste und Zähler nur die ersten 10 auf der Website erkannten Probleme. Das Abrufen oder Ändern eines anderen Problems ergibt403 Forbidden mit der Meldung "Upgrade to view this issue".Optionale Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
status | string | Nach Workflow-Status filtern: open, in_progress, resolved oder suspended. Ohne Angabe werden alle Status außer suspended zurückgegeben. |
severity | string | Nach Schweregrad filtern: low, medium, high oder critical. |
search | string | Textsuche über Problemtitel und -beschreibungen. Max. 200 Zeichen. |
sort | string | severity (Standard) sortiert die schwerwiegendsten Probleme zuerst; recency sortiert nach lastSeenAt, neueste zuerst. |
limit | number | Maximale Anzahl zurückgegebener Probleme (Standard: 100, max: 1000). |
offset | number | Zu ueberspringende Zeilen fuer Paginierung (min. 0, Standard: 0). |
Antwortfelder
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Eindeutige Problem-ID. Wird als issueId an die Detail- und Update-Endpunkte übergeben. |
websiteId | string | Website, zu der das Problem gehört. |
title | string | Kurze, KI-generierte Zusammenfassung des Problems. |
description | string | KI-generierte Erklärung, was schiefläuft und wie sich das auf Besucher auswirkt. |
severity | string | Von der KI vergebene Auswirkungsbewertung: low, medium, high oder critical. |
status | string | Workflow-Status: open, in_progress, resolved oder suspended. |
sessionsCount | number | Wie viele analysierte Sessions auf dieses Problem gestoßen sind. |
firstSeenAt | string | Wann das Problem zum ersten Mal in einer Aufzeichnung erkannt wurde. |
lastSeenAt | string | Jüngste Aufzeichnung, in der das Problem aufgetreten ist. |
stepsToReplicate | array | Geordnete Reproduktionsschritte, abgeleitet aus den Aufzeichnungen, in denen das Problem aufgetreten ist. |
sampleRecordingId | string | Aufzeichnung, die das Problem am besten zeigt. |
externalTicketProvider / externalTicketKey / externalTicketUrl | string | null | Verknüpftes Ticket in einem externen Tracker, oder null, wenn kein Ticket verknüpft ist. |
counts | object | Problemsummen je Status (open, inProgress, resolved) für die gewählte Website, unabhängig vom Paginierungsfenster. |
Alle Probleme auflisten
curl --request GET \
--url https://analytics.flowsery.com/analytics/api/v1/issues \
--header 'Authorization: Bearer <api-key>'Offene kritische Probleme filtern
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
}
}