Référence de l’API du tableau de bord

Servie par le processus API sur :8080 par défaut. Tout se trouve sous /v1. Les réponses sont en JSON ; les erreurs portent un code stable, un message lisible et un request_id.

Cette page est une traduction. La version anglaise fait foi : en cas de divergence sur un détail technique, c’est elle qui décrit le comportement réel. La traduction n’a pas encore été relue par un locuteur natif.

Compte et projets

POST/v1/auth/registerCréer un compte. Ne renvoie pas de session — connectez-vous ensuite.
POST/v1/auth/loginÉchanger des identifiants contre un cookie de session.
POST/v1/auth/logoutTerminer la session en cours.
GET/v1/meL’utilisateur connecté et son organisation.
GET/v1/membersLes membres de l’organisation.
GET/v1/projectsLister les projets.
POST/v1/projectsCréer un projet.
GET/v1/projects/{projectID}Un projet.
GET/v1/projects/{projectID}/dsnsLes clés d’ingestion du projet.
POST/v1/projects/{projectID}/dsnsÉmettre un nouveau DSN.
DELETE/v1/projects/{projectID}/dsns/{keyID}Révoquer un DSN.
PUT/v1/projects/{projectID}/session-replayActiver ou désactiver la capture de relecture pour le projet.
GET/v1/api-keysLister les clés d’API.
POST/v1/api-keysCréer une clé d’API. Le secret n’est affiché qu’une fois.
DELETE/v1/api-keys/{keyID}Révoquer une clé d’API.
GET/v1/settingsLes réglages de l’organisation, dont la rétention.
PATCH/v1/settingsModifier les réglages de l’organisation.
GET/v1/audit-logLe journal d’audit. Non configurable par le client.

Authentification unique

Disponible uniquement lorsque API_PUBLIC_URL est défini. Sans cela, chaque route ici répond sso_unavailable, et le seul autre signe est l’absence de la ligne « single sign-on enabled » au démarrage.

POST/v1/auth/sso/startDémarrer une connexion SSO.
GET/v1/auth/sso/callbackRetour du fournisseur d’identité.
GET/v1/settings/ssoLa connexion actuelle.
PUT/v1/settings/ssoConfigurer la connexion.
DELETE/v1/settings/ssoSupprimer la connexion.
GET/v1/settings/sso/domainsLes domaines de messagerie revendiqués.
POST/v1/settings/sso/domainsRevendiquer un domaine.
POST/v1/settings/sso/domains/verifyProuver un domaine revendiqué.

Incidents et événements

GET/v1/issuesLister les incidents, filtrés et paginés.
GET/v1/issues/{issueID}Un incident.
GET/v1/issues/{issueID}/eventsLes occurrences d’un incident.
PATCH/v1/issues/{issueID}Changer le statut (résolu, ignoré, rouvert).
GET/v1/usersLes utilisateurs finaux vus dans la télémétrie.
GET/v1/feedbackLes retours utilisateurs soumis.
POST/v1/feedbackSoumettre un retour utilisateur.

Traces, services et performance

GET/v1/tracesListe des traces. Filtre sur les spans, agrège des traces entières.
GET/v1/traces/{traceID}Une trace et ses spans.
GET/v1/servicesListe des services avec leur santé.
GET/v1/services/mapLa topologie de services observée.
GET/v1/services/structureLes faits structurels de la topologie.
GET/v1/services/dependenciesLes arêtes entre services.
GET/v1/services/approachingMétriques qui montent vers le seuil, avec la pente.
GET/v1/trafficLe trafic par projet plutôt que par service le plus lent.
GET/v1/queuesComportement des files et des workers.
GET/v1/anomaliesAnomalies détectées.
GET/v1/endpoints/surgesSignal d’abus par point d’entrée, sans identité de l’appelant.
GET/v1/database/slow-queriesRequêtes lentes en base.
GET/v1/database/query-patternsMotifs de requêtes.

Journaux et métriques (lecture)

GET/v1/logsRechercher dans les lignes de journal.
GET/v1/logs/patternsFormes de journaux récurrentes.
GET/v1/logs/surgesPics de volume de journaux.
GET/v1/metrics/namesNoms de métriques observés.
GET/v1/metrics/seriesPoints d’une série nommée.

Relecture de session

GET/v1/projects/{projectID}/replaySessions enregistrées.
GET/v1/projects/{projectID}/replay/{sessionID}Les fragments d’un enregistrement. Portée propriétaire, revérifie le consentement, et inscrit le journal d’audit avant que les octets ne soient lus.

Déploiements et versions

POST/v1/deploymentsEnregistrer un déploiement.
GET/v1/deploymentsLister les déploiements.
GET/v1/deployments/{deploymentID}Un déploiement.
GET/v1/deployments/{deploymentID}/healthCe déploiement a-t-il aggravé les choses, avec le calcul.
GET/v1/releasesLes versions, dérivées des déploiements plutôt que stockées.
GET/v1/projects/{projectID}/integrationsLes intégrations de gestion de code configurées.
PUT/v1/projects/{projectID}/integrations/{provider}Configurer github ou gitlab.
DELETE/v1/projects/{projectID}/integrations/{provider}En supprimer une.

Source maps

POST/v1/projects/{projectID}/artifactsEnvoyer une source map ou un artefact de débogage.
GET/v1/projects/{projectID}/artifactsLister les artefacts.
DELETE/v1/projects/{projectID}/artifacts/{artifactID}En supprimer un.

Alertes, destinations et rapports

GET/v1/alertsHistorique des alertes.
GET/v1/alert-destinationsOù les alertes sont envoyées.
POST/v1/alert-destinationsAjouter une destination.
DELETE/v1/alert-destinations/{destinationID}En supprimer une.
GET/v1/reports/scheduleLa planification des synthèses.
PUT/v1/reports/scheduleLa définir.
DELETE/v1/reports/scheduleL’arrêter.
GET/v1/reports/previewGénérer la prochaine synthèse sans l’envoyer.

Tâches planifiées et disponibilité

GET/v1/cron/checksLister les contrôles de tâches planifiées.
POST/v1/cron/checksEn créer un.
PATCH/v1/cron/checks/{checkID}Modifier la planification ou le délai de grâce.
DELETE/v1/cron/checks/{checkID}En supprimer un.
GET/v1/cron/checks/{checkID}/pingsHistorique des pointages.
POST/v1/cron/checks/{checkID}/rotateRenouveler le jeton de pointage.
GET/v1/checkins/{token}Pointer. Non authentifié — le jeton est l’identifiant.
POST/v1/checkins/{token}Pointer, avec un corps de requête.
GET/v1/uptime/monitorsLister les moniteurs de disponibilité.
POST/v1/uptime/monitorsEn créer un.
PATCH/v1/uptime/monitors/{monitorID}En modifier un.
DELETE/v1/uptime/monitors/{monitorID}En supprimer un.
GET/v1/uptime/monitors/{monitorID}/checksRésultats des sondes.

Tableaux de bord

GET/v1/dashboardsLister les tableaux de bord.
POST/v1/dashboardsEn créer un.
GET/v1/dashboards/{dashboardID}Un tableau de bord.
PATCH/v1/dashboards/{dashboardID}Renommer ou redécrire.
PUT/v1/dashboards/{dashboardID}/widgetsRemplacer l’ensemble des widgets.
DELETE/v1/dashboards/{dashboardID}En supprimer un.

Investigations IA

Chaque route ici nécessite une clé de fournisseur IA sur le déploiement. Sans elle la fonctionnalité est désactivée plutôt qu’en échec à chaque requête.

POST/v1/issues/{issueID}/investigateEnquêter sur un incident.
GET/v1/issues/{issueID}/investigationLe résultat.
POST/v1/alerts/{alertID}/investigateEnquêter sur une alerte.
GET/v1/alerts/{alertID}/investigationLe résultat.
POST/v1/projects/{projectID}/investigateEnquêter sur un projet.
POST/v1/projects/{projectID}/explainPoser une question sur la topologie.
GET/v1/investigationsLister les investigations.
GET/v1/investigations/{investigationID}Une investigation.

Facturation

GET /v1/usage est toujours disponible. POST /v1/checkout n’existe que si GENIUSPAY_API_KEY est défini — sinon la route n’est pas montée du tout et répond 404 plutôt que 401, parce que « il n’y a rien ici » est la réponse honnête.

GET/v1/usageL’usage mesuré face à l’offre, avec une mise en garde dans chaque réponse.
POST/v1/checkoutDémarrer un achat. Portée administrateur. Renvoie une URL de paiement hébergée.

Exploitation

GET/healthzVivacité. Sur l’API comme sur le service d’ingestion.
GET/readyzDisponibilité, dépendances comprises.

Authentification

IdentifiantSert àComment
DSNÉcrire de la télémétrieDans la configuration du SDK. Public par conception — il écrit et ne lit pas.
Cookie de sessionLe tableau de bordPOST /v1/auth/login. Le cookie est slk_session et dure 720h par défaut.
Clé d’APIScripter l’API du tableau de bordEn-tête Authorization. Créée via POST /v1/api-keys, affichée une seule fois.
Jeton de pointagePointages cronDans l’URL. Le jeton est l’identifiant : renouvelez-le avec POST /v1/cron/checks/{checkID}/rotate.
SSOLe tableau de bord, pour un domaine revendiquéNécessite API_PUBLIC_URL. Ne fait confiance au fournisseur que pour le domaine que sa connexion revendique, et seulement pour des comptes déjà invités.

Les requêtes authentifiées par cookie sont contrôlées sur l’en-tête Origin. Une requête sans Origin correspondant à DASHBOARD_ORIGIN est refusée avec origin_rejected (403). Scripter avec curl contre une pile locale demande donc -H "Origin: http://localhost:3000".

Limites de débit

Les limites de débit servent à contrer les abus, et ce sont les seules ici qui refusent réellement une requête. Elles n’ont rien à voir avec ce que comprend votre offre : dépasser un volume inclus ne vous ralentit jamais et ne rejette jamais de télémétrie. Redis fait autorité pour que toutes les instances partagent le même compteur, avec un repli par processus qui maintient la limitation si Redis est indisponible.

LimiteDéfautPortée
INGEST_REQUESTS_PER_MINUTE600Par projet
INGEST_EVENTS_PER_MINUTE30 000Par organisation
AUTH_ATTEMPTS_PER_MINUTE10Par appelant
INVESTIGATIONS_PER_HOUR100Par organisation

Une requête refusée répond 429 avec Retry-After.

← Documentation