api-referenceGET
GEThttps://analytics.flowsery.com/analytics/api/v1/issues

Lister les problèmes que l'IA de Flowsery a détectés en analysant les enregistrements de session, dédupliqués entre les sessions et classés par gravité.

Jeton Bearer (jeton workspace ou clé API de site)

Les jetons d'espace de travail nécessitent un sélecteur de site Web

Les jetons de l'API Workspace peuvent accéder à tous les sites Web de l'espace de travail. Transmettez <code>websiteId</code> ou <code>domain</code> pour que Flowsery sache quel site Web interroger ou muter. Les clés API de site Web sont déjà limitées à un seul site Web, le sélecteur peut donc être omis.

Sélecteur de site Web

ParametreTaperDescription
websiteIdstringID de site Web à utiliser avec un jeton API d'espace de travail. Omettre lors de l'authentification avec une clé API de site Web.
domainstringSite Web domain à utiliser avec un jeton API d'espace de travail lorsque websiteId n'est pas fourni. Omettre lors de l'authentification avec une clé API de site Web.

Les problèmes suspendus sont masqués par défaut

La liste exclut les problèmes suspendus, sauf s'ils sont demandés explicitement avec <code>status=suspended</code>.

Parametres facultatifs

ParametreTaperDescription
statusstringFiltrer par statut de traitement : open, in_progress, resolved ou suspended. Sans ce paramètre, tous les statuts sont retournés sauf suspended.
severitystringFiltrer par gravité : low, medium, high ou critical.
searchstringRecherche textuelle sur les titres et descriptions des problèmes. 200 caractères max.
sortstringseverity (par défaut) place les problèmes les plus graves en premier ; recency trie par lastSeenAt, du plus récent au plus ancien.
limitnumberNombre maximum de problèmes à retourner (par défaut : 100, max : 1000).
offsetnumberLignes a ignorer pour la pagination (min 0, par defaut : 0).

Champs de reponse

ParametreTaperDescription
idstringIdentifiant unique du problème. À passer comme issueId aux endpoints de détail et de mise à jour.
websiteIdstringSite web auquel le problème appartient.
titlestringCourt résumé du problème généré par l'IA.
descriptionstringExplication générée par l'IA de ce qui dysfonctionne et de l'impact sur les visiteurs.
severitystringNiveau d'impact attribué par l'IA : low, medium, high ou critical.
statusstringStatut de traitement : open, in_progress, resolved ou suspended.
sessionsCountnumberNombre de sessions analysées ayant rencontré ce problème.
firstSeenAtstringPremière détection du problème dans un enregistrement.
lastSeenAtstringEnregistrement le plus récent dans lequel le problème est apparu.
stepsToReplicatearrayÉtapes de reproduction ordonnées, déduites des enregistrements où le problème s'est produit.
sampleRecordingIdstringEnregistrement qui illustre le mieux le problème.
externalTicketProvider / externalTicketKey / externalTicketUrlstring | nullTicket lié dans un outil externe, ou null quand aucun ticket n'est lié.
countsobjectTotaux de problèmes par statut (open, inProgress, resolved) pour le site web sélectionné, indépendamment de la fenêtre de pagination.
Lister tous les problèmes
curl --request GET \
  --url https://analytics.flowsery.com/analytics/api/v1/issues \
  --header 'Authorization: Bearer <api-key>'
Filtrer les problèmes critiques ouverts
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": "flid_abc123",
      "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": "flid_abc123",
      "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
  }
}