Référence API

API Tableaux de bord BI

Tableaux de bord BI : connexions et vues Power BI, Tableau et pages web avec connexion

Référence HTTP. Générée à partir du contrat backend. Parcourez les points de terminaison ci-dessous ou téléchargez OpenAPI.

Ce groupe compte 14 opérations, générées à partir de api/openapi.yaml. Filtrez par chemin, action ou authentification. Chaque point de terminaison liste ses entrées ; développez-le pour voir un modèle de requête et les codes de réponse. Les modèles demandent vos propres valeurs et un corps conforme au schéma.

Remplacez les espaces réservés en majuscules par vos valeurs. Pour une requête JSON, enregistrez un corps correspondant au schéma dans request.json. Les exemples de cookies utilisent un pot à cookies local issu d’une session authentifiée.

Tableaux de bord BI : connexions et vues Power BI, Tableau et pages web avec connexion

GET/api/bi-connections

Lister les connexions BI

Liste les connexions BI du projet, de la plus ancienne à la plus récente, 200 par page ; renvoyez next_cursor comme cursor pour la suivante. Un secret n’est jamais renvoyé : secret indique s’il est défini et ses 4 derniers caractères.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
listBIConnections

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
curseurrequêteoptionnelnext_cursor de la page précédente.
limiterequêteoptionnel
Modèle de requête et réponses
shell · modèle de requête
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-connections'

Réponses

StatutSensCorps et en-têtes
200Une page de connexions.BIConnectionList (application/json); en-têtes : Cache-Control
400invalid_request, y notamment un curseur mal formé.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
POST/api/bi-connections

Créer une connexion BI

Ajoute une connexion à un système BI que le projet possède. Pour Grafana : son adresse (http ou https sur un hôte public, avec un préfixe de chemin facultatif) et un jeton de compte de service avec le rôle Viewer. Le jeton est scellé et jamais renvoyé.

Grafana renders dashboards for screens through its Image Renderer plugin or remote rendering service, so the customer installs one; run POST /api/bi-connections/{id}/test to check. For Power BI (kind powerbi): config.tenant_id and config.client_id of a Microsoft Entra app registration and its client secret value as secret.

Un administrateur Power BI doit activer les paramètres de développeur Embed content in apps et Service principals can call Fabric public APIs pour l’application (portail d’administration, paramètres du locataire), l’application doit être Membre ou Administrateur de chaque espace de travail qu’elle affiche, et les rapports ont besoin d’une capacité Embedded, Fabric ou Premium en production.

For Tableau (kind tableau): config.url (the https address of Tableau Server, or of your Tableau Cloud pod such as https://10ay.online.tableau.com), config.site (the site content URL, empty for the default site), config.client_id and config.secret_id of a connected app with direct trust, config.username (the Tableau user the screens views are shown as) and the secret value as secret.

Ajoutez embed_origin de la réponse à la liste d’autorisation des domaines de l’application connectée et activez le secret. Quiconque détient un ticket d’écran peut intégrer toute vue que cet utilisateur peut voir : utilisez donc un utilisateur qui ne voit que les tableaux de bord des écrans. Tableau Cloud, ou Tableau Server 2023.3 ou version ultérieure.

Pour une page web avec connexion (kind web) : le compte de service d’un site qui affiche son tableau de bord derrière une connexion. config.login_mode est auto (config.login_url, config.username et le mot de passe comme secret : le moteur de rendu ouvre la page de connexion et remplit le formulaire), steps (config.login_url et config.steps, un script d’étapes goto, fill, click, press, wait_for et wait_ms dont les valeurs peuvent contenir {{username}}, {{password}} et {{otp}}) ou none (aucune connexion : la connexion affiche les pages avec les cookies que vous lui donnez). totp_secret est la clé base32, ou l’adresse otpauth://, de l’application d’authentification du compte : le serveur calcule le code à usage unique (RFC 6238) et n’envoie au moteur de rendu que le code. cookies est un fichier de cookies exporté d’un navigateur connecté, pour un site dont la connexion ne peut pas être scriptée (authentification unique approuvée sur un téléphone, vérification d’appareil) ; le serveur garde le fichier et le renouvelle à partir des cookies que renvoie chaque capture, de sorte qu’une connexion est rare.

Le mot de passe, la graine et les cookies sont scellés et jamais renvoyés. Utilisez un compte de service en lecture seule. Le mot de passe n’est saisi que dans config.login_url et les étapes goto : les déplacer vers une autre origine exige donc secret de nouveau. Après cinq connexions refusées de suite, la connexion cesse de se connecter jusqu’à ce que ses identifiants changent.

Un serveur sans moteur de rendu de pages répond bi_web_unavailable. Ajoute bi_connection.created. Une nouvelle tentative identique avec la même Idempotency-Key renvoie cette même réponse.

Authentification
projectBearer OU dashboardSession
Corps de la requête
BIConnectionWrite
ID d’opération
createBIConnection

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
Idempotency-Keyen-têteoptionnelOmettre pour une opération fraîche. Fournissez et réutilisez une clé pour dédupliquer les tentatives ; le CLI gère les clés automatiquement.

Champs du corps de la requête

ChampDescription
nom (obligatoire, chaîne)minLength : 1 maxLength : 80
type (obligatoire, chaîne)Autorisés : « grafana », « powerbi », « tableau », « web »
config (obligatoire, BIConnectionConfig)
secret (facultatif, chaîne)

Requis sauf pour web, et pour une connexion Power BI qui nomme connection_id. Le jeton du compte de service (Grafana), la valeur du secret client de l’application (Power BI), la valeur du secret de l’application connectée (Tableau) ou le mot de passe du compte de service (web : requis par login_mode auto, inutilisé par none).

Scellé à l’arrivée ; la CLI le lit depuis un fichier ou l’entrée standard, jamais depuis un argument. minLength: 1 maxLength: 4096

totp_secret (facultatif, chaîne)

Web : la clé base32 de l’application d’authentification du compte (de 16 à 128 caractères, espaces permis), ou son adresse otpauth://totp, qui peut fixer l’algorithme (SHA1, SHA256, SHA512), le nombre de chiffres (6 à 8) et la période. Scellé ; seul le code calculé quitte le serveur. maxLength: 1024

cookies (optionnel, array)Web : un fichier de cookies exporté d’un navigateur connecté. Scellé ; renouvelé à chaque capture.
Modèle de requête et réponses
shell · modèle de requête
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/bi-connections'

Réponses

StatutSensCorps et en-têtes
201Créé.BIConnection (application/json); en-têtes : ETag, Cache-Control
400invalid_request, y notamment une adresse qui n’est pas un hôte public d’Internet.Problème (application/problem+json)
402feature_not_in_plan — le forfait du projet n’inclut pas les tableaux de bord BI ; required_plan nomme le forfait qui les inclut.Problème (application/problem+json)
409idempotency_mismatch, ou bi_web_unavailable pour une connexion web sur un serveur sans moteur de rendu de pages.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
GET/api/bi-connections/{id}

Obtenir la connexion BI

Une connexion, avec son dernier test.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
getBIConnection

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
idcheminobligatoire
Modèle de requête et réponses
shell · modèle de requête
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-connections/RESOURCE_ID'

Réponses

StatutSensCorps et en-têtes
200Une connexion.BIConnection (application/json); en-têtes : ETag, Cache-Control
404not_found.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
PATCH/api/bi-connections/{id}

Modifier la connexion BI

Changes a connection's name, address, organization or secret (a sent secret replaces it; an omitted one is kept). Moving a Grafana or Tableau connection to another origin (scheme, host or port) needs the secret in the same request, answered invalid_request at secret otherwise: the stored secret is only sent to the address it was saved for.

Un changement d’adresse ou de secret efface last_test et retire tous les rendus mis en cache pour ses vues. Ajoute bi_connection.updated. If-Match protège la révision.

Authentification
projectBearer OU dashboardSession
Corps de la requête
BIConnectionPatch
ID d’opération
updateBIConnection

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
idcheminobligatoire
If-Matchen-têteoptionnelRévision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict.
Idempotency-Keyen-têteoptionnelOmettre pour une opération fraîche. Fournissez et réutilisez une clé pour dédupliquer les tentatives ; le CLI gère les clés automatiquement.

Champs du corps de la requête

ChampDescription
nom (optionnel, chaîne)minLength : 1 maxLength : 80
config (facultatif, BIConnectionConfig)
secret (facultatif, chaîne)Remplace le secret stocké. Sur une connexion web, une chaîne vide supprime le mot de passe. maxLength: 4096
totp_secret (facultatif, chaîne)Web : remplace le secret TOTP ; une chaîne vide le supprime. maxLength: 1024
cookies (optionnel, array)Web : remplace le fichier de cookies ; une liste vide le supprime.
Modèle de requête et réponses
shell · modèle de requête
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/bi-connections/RESOURCE_ID'

Réponses

StatutSensCorps et en-têtes
200La connexion mise à jour.BIConnection (application/json); en-têtes : ETag, Cache-Control
400invalid_request.Problème (application/problem+json)
402

feature_not_in_plan — le forfait du projet n’inclut pas les tableaux de bord BI ; required_plan nomme le forfait qui les inclut. Un changement qui ne fait que remplacer le secret (et le secret_id Tableau qui l’accompagne) est toujours autorisé, de sorte qu’une connexion dont le jeton a expiré reste à jour.

Problème (application/problem+json)
412revision_conflict.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
SUPPRIMER/api/bi-connections/{id}

Supprimer la connexion BI

Supprime une connexion qu’aucune vue n’utilise ; tant que des vues l’utilisent, la réponse est resource_conflict avec leurs identifiants. Ajoute bi_connection.deleted. If-Match protège la révision.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
deleteBIConnection

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
idcheminobligatoire
If-Matchen-têteoptionnelRévision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict.
Idempotency-Keyen-têteoptionnelOmettre pour une opération fraîche. Fournissez et réutilisez une clé pour dédupliquer les tentatives ; le CLI gère les clés automatiquement.
Modèle de requête et réponses
shell · modèle de requête
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-connections/RESOURCE_ID'

Réponses

StatutSensCorps et en-têtes
204Supprimé.pas de corps
409resource_conflict : des vues utilisent la connexion.Problème (application/problem+json)
412revision_conflict.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
POST/api/bi-connections/{id}/test

Tester la connexion BI

Calls the BI system with the connection's secret and stores the answer as last_test. For Grafana the checks are token (GET /api/search accepts it) and image_renderer (the plugin is listed; a missing plugin is a warning because a remote rendering service does not show as one).

Elle ne juge ni les autorisations par tableau de bord, ni l’état des sources de données, ni l’accessibilité d’un moteur de rendu distant : testez une vue pour un vrai rendu. Un refus de Grafana est une vérification échouée, pas une erreur.

For Power BI the checks are token (Microsoft Entra accepts the app) and workspaces (the app can list workspaces; it counts them and none fails the check, naming the workspace access step). It does not judge capacity, row-level security or access to any one report: test a view, which generates a real embed token.

For Tableau the check is signin: Tableau accepts a content-read JWT signed with the connected app secret for the connection user, and the server signs out again. It does not judge the domain allowlist, which only a screen loading a view proves, or the permissions on any view: test a view, which looks the view up as the user.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
testBIConnection

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
idcheminobligatoire
Idempotency-Keyen-têteoptionnelOmettre pour une opération fraîche. Fournissez et réutilisez une clé pour dédupliquer les tentatives ; le CLI gère les clés automatiquement.
Modèle de requête et réponses
shell · modèle de requête
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-connections/RESOURCE_ID/test'

Réponses

StatutSensCorps et en-têtes
200Les vérifications.BITestReport (application/json); en-têtes : Cache-Control
404not_found.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
GET/api/bi-connections/{id}/browse

Parcourir la connexion BI

Liste ce que le jeton de la connexion peut afficher. Grafana : ses tableaux de bord (query recherche dans les titres ; next_cursor pagine), ou, avec dashboard défini, les panneaux de ce tableau de bord (lignes aplaties) sous dashboard.

Power BI : les espaces de travail que l’application peut voir (id, name ; query garde les noms qui la contiennent), ou, avec workspace défini, les rapports de cet espace de travail (id, name, embed_url) sous workspace.

Tableau : les vues que l’utilisateur de la connexion peut voir (chemin sous la forme Workbook/View, name), 100 par page lue ; query garde les vues dont le nom ou le chemin le contient, en lisant jusqu’à dix pages pour les trouver, et next_cursor est la page suivante à lire. Une connexion web ne liste rien.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
browseBIConnection

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
idcheminobligatoire
requêterequêteoptionnel
tableau de bordrequêteoptionnelUn uid de tableau de bord ; liste ses panneaux.
espace de travailrequêteoptionnelUn identifiant d’espace de travail Power BI ; liste ses rapports.
curseurrequêteoptionnelnext_cursor de la page précédente.
Modèle de requête et réponses
shell · modèle de requête
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-connections/RESOURCE_ID/browse'

Réponses

StatutSensCorps et en-têtes
200Tableaux de bord ou panneaux.BIBrowse (application/json); en-têtes : Cache-Control
409bi_upstream_refused : le système BI a refusé les identifiants ou les autorisations de la connexion.Problème (application/problem+json)
500bi_upstream_unavailable.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
GET/api/bi-views

Lister les vues BI

Lists the project's BI views, oldest first, 200 to a page; pass next_cursor back as cursor for the next. Each carries embed_url, the address an iframe primitive shows (content_fit fill); it is null where this server has no embed host.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
listBIViews

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
curseurrequêteoptionnelnext_cursor de la page précédente.
limiterequêteoptionnel
Modèle de requête et réponses
shell · modèle de requête
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-views'

Réponses

StatutSensCorps et en-têtes
200Une page de vues.BIViewList (application/json); en-têtes : Cache-Control
400invalid_request, y notamment un curseur mal formé.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
POST/api/bi-views

Créer une vue BI

Ajoute une vue d’un tableau de bord Grafana de la connexion, ou d’un seul de ses panneaux (url : une adresse /d/{uid}/... sur l’hôte de la connexion, ou target), ou d’un lien de tableau de bord public Grafana (kind grafana et target.public_url, sans connexion).

Put the answer's embed_url in an iframe primitive: the server renders the dashboard as a PNG through Grafana's /render API, refreshed every refresh_s (30 to 86400, default 300) and shared by every screen of the same size; the screen never talks to Grafana. A public dashboard plays live from Grafana, which must allow embedding.

La page d’intégration n’affiche qu’un ticket que porte le manifeste de l’écran : une vue ne passe donc que sur les écrans de son propre projet.

For Power BI (kind powerbi): a report of a workspace the connection's app is a member of (url: an app.powerbi.com /groups/{workspace}/reports/{report} address, or target with workspace_id and report_id), with pages to show and rotate_s to rotate through them (pages listing two or more, or rotate_all_pages, need rotate_s of 10 to 3600; one report page needs none), and refresh_s of 0 (no refresh) or 60 to 86400 (default 300).

The page asks the server for a short-lived view-only embed token (GenerateToken, App owns data) and renews it before it expires; the screen never holds the client secret. A Power BI Publish to web link is a view without a connection (kind powerbi, target.public_url https://app.powerbi.com/view?r=...), framed as it is.

For Tableau (kind tableau): a view of the connection site (url: an address copied from Tableau, such as https://HOST/t/SITE/views/WORKBOOK/VIEW or Tableau Cloud https://HOST/#/site/SITE/views/WORKBOOK/VIEW, or Workbook/View; or target.view), optionally with target.rotate_sheets and rotate_s of 10 to 3600 to turn the workbook published sheets (rotate_s and rotate_sheets go together; rotate_sheets may be given as the whole target beside url), and refresh_s of 0 (no refresh) or 60 to 86400 (default 300).

The page asks the server for a five minute JWT with only the embed scope, signed with the connected app secret, and builds the Embedding API v3 tableau-viz from the Tableau host; the screen never holds the secret.

Une visualisation Tableau Public est une vue sans connexion (kind tableau, target.public_url, reconstruite comme https://public.tableau.com/views/WORKBOOK/VIEW) et accepte aussi rotate_sheets. Pour une page web (kind web) : une page du site de la connexion web (url : une adresse https sur un hôte public, sans target).

Le navigateur en périphérie l’ouvre en étant connecté, attend l’élément wait_for s’il est défini et wait_ms millisecondes (jusqu’à 10000), et dessine clip, un sélecteur CSS, s’il est défini, sinon la page entière.

L’image est redessinée toutes les refresh_s (60 à 86400, 300 par défaut) et partagée par tous les écrans de même taille, et seulement tant qu’un écran affiche la vue ; quand une capture échoue, la dernière image reste à l’écran. Réglez wait_for sur un élément qui n’existe que lorsque la page est connectée, de sorte qu’une page de connexion ne soit jamais affichée. Ajoute bi_view.created.

Authentification
projectBearer OU dashboardSession
Corps de la requête
BIViewWrite
ID d’opération
createBIView

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
Idempotency-Keyen-têteoptionnelOmettre pour une opération fraîche. Fournissez et réutilisez une clé pour dédupliquer les tentatives ; le CLI gère les clés automatiquement.

Champs du corps de la requête

ChampDescription
connection_id (facultatif, chaîne)
kind (facultatif, chaîne)Requis sans connection_id ; sinon il doit correspondre à la connexion. Autorisés : « grafana », « powerbi », « tableau », « web »
nom (obligatoire, chaîne)minLength : 1 maxLength : 80
url (optionnelle, chaîne)

Une adresse de tableau de bord /d/{uid}/... sur l’hôte de la connexion. Le serveur y lit orgId, viewPanel (N ou panel-N) ou panelId, from, to, var-* et theme. Tableau : une adresse de vue sur l’hôte de la connexion (/views/W/V, /t/SITE/views/W/V, #/site/SITE/views/W/V) ou Workbook/View. Web : l’adresse https de la page sur un hôte public. maxLength: 2048

target (facultatif, BITarget)

Ce qu’une vue affiche. Grafana avec une connexion : dashboard_uid (et facultativement un panneau). Power BI avec une connexion : workspace_id et report_id, avec pages ou rotate_all_pages. Tableau avec une connexion : view (Workbook/View), avec rotate_sheets. Web avec une connexion : url. Sans connexion : seulement public_url (et rotate_sheets pour Tableau).

refresh_s (facultatif, entier)Grafana 30 à 86400 ; Power BI et Tableau 0 ou 60 à 86400 ; web 60 à 86400. default: 300 minimum: 0 maximum: 86400
rotate_s (facultatif, entier)Power BI et Tableau : 0 ou 10 à 3600 ; obligatoire pour une cible qui fait défiler des pages ou des feuilles. default: 0 minimum: 0 maximum: 3600
fit (facultatif, chaîne)Autorisés : « contain », « cover », « fill » par défaut : « contain »
wait_for (facultatif, chaîne)Web : un sélecteur CSS d’un élément qui s’affiche quand la page est prête, et seulement quand elle est connectée. maxLength: 512
wait_ms (facultatif, entier)Web : les millisecondes à attendre une fois la page prête. minimum: 0 maximum: 10000
clip (facultatif, chaîne)Web : un sélecteur CSS de la partie de la page à dessiner. maxLength: 512
Modèle de requête et réponses
shell · modèle de requête
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/bi-views'

Réponses

StatutSensCorps et en-têtes
201Créé.BIView (application/json); en-têtes : ETag, Cache-Control
400invalid_request, y compris une url qui n’est pas une adresse de tableau de bord de la connexion.Problème (application/problem+json)
402feature_not_in_plan — le forfait du projet n’inclut pas les tableaux de bord BI ; required_plan nomme le forfait qui les inclut.Problème (application/problem+json)
404not_found : la connexion ne fait pas partie de ce projet.Problème (application/problem+json)
409idempotency_mismatch.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
GET/api/bi-views/{id}

Obtenir la vue BI

Une vue, avec embed_url et son comportement à l’écran la dernière fois (status).

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
getBIView

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
idcheminobligatoire
Modèle de requête et réponses
shell · modèle de requête
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-views/RESOURCE_ID'

Réponses

StatutSensCorps et en-têtes
200Une vue.BIView (application/json); en-têtes : ETag, Cache-Control
404not_found.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
PATCH/api/bi-views/{id}

Modifier la vue BI

Changes a view's name, target (url or target replaces the whole target), cadence or fit. A new target clears status, and every render cached for the old one is retired. A view keeps its connection and kind. Appends bi_view.updated. If-Match guards the revision.

Authentification
projectBearer OU dashboardSession
Corps de la requête
BIViewPatch
ID d’opération
updateBIView

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
idcheminobligatoire
If-Matchen-têteoptionnelRévision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict.
Idempotency-Keyen-têteoptionnelOmettre pour une opération fraîche. Fournissez et réutilisez une clé pour dédupliquer les tentatives ; le CLI gère les clés automatiquement.

Champs du corps de la requête

ChampDescription
nom (optionnel, chaîne)minLength : 1 maxLength : 80
url (optionnelle, chaîne)maxLength: 2048
target (facultatif, BITarget)

Ce qu’une vue affiche. Grafana avec une connexion : dashboard_uid (et facultativement un panneau). Power BI avec une connexion : workspace_id et report_id, avec pages ou rotate_all_pages. Tableau avec une connexion : view (Workbook/View), avec rotate_sheets. Web avec une connexion : url. Sans connexion : seulement public_url (et rotate_sheets pour Tableau).

refresh_s (facultatif, entier)minimum : 0 maximum : 86400
rotate_s (facultatif, entier)minimum : 0 maximum : 3600
fit (facultatif, chaîne)Autorisés : « contain », « cover », « fill »
wait_for (facultatif, chaîne)Web : une chaîne vide le supprime. maxLength: 512
wait_ms (facultatif, entier)Web : 0 le supprime. minimum: 0 maximum: 10000
clip (facultatif, chaîne)Web : une chaîne vide le supprime. maxLength: 512
Modèle de requête et réponses
shell · modèle de requête
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/bi-views/RESOURCE_ID'

Réponses

StatutSensCorps et en-têtes
200La vue mise à jour.BIView (application/json); en-têtes : ETag, Cache-Control
400invalid_request.Problème (application/problem+json)
402feature_not_in_plan — le forfait du projet n’inclut pas les tableaux de bord BI ; required_plan nomme le forfait qui les inclut.Problème (application/problem+json)
412revision_conflict.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
SUPPRIMER/api/bi-views/{id}

Supprimer la vue BI

Supprime une vue. Un écran qui affiche encore son embed_url répond not_found à l’écran jusqu’à ce que sa liste de lecture change. Ajoute bi_view.deleted. If-Match protège la révision.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
deleteBIView

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
idcheminobligatoire
If-Matchen-têteoptionnelRévision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict.
Idempotency-Keyen-têteoptionnelOmettre pour une opération fraîche. Fournissez et réutilisez une clé pour dédupliquer les tentatives ; le CLI gère les clés automatiquement.
Modèle de requête et réponses
shell · modèle de requête
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-views/RESOURCE_ID'

Réponses

StatutSensCorps et en-têtes
204Supprimé.pas de corps
412revision_conflict.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
POST/api/bi-views/{id}/test

Tester la vue BI

Renders a connection view for real (1920x1080, outside the shared cache and without touching status), or fetches a public dashboard link and checks that its page may be framed by the view's embed host (allow_embedding in Grafana). It does not judge what the picture shows. A Grafana failure is a failed check, not an error.

Une vue de connexion Power BI génère un vrai jeton d’intégration pour son rapport (vérifie report et embed_token) ; elle ne juge ni les pages qu’elle nomme, ni la capacité, ni ce que le rapport affiche, et un jeu de données avec sécurité au niveau des lignes est refusé par Power BI avec son propre message, affiché dans la vérification. Un lien public Power BI est récupéré et ses en-têtes d’encadrement sont lus.

Une vue de connexion Tableau se connecte comme l’utilisateur de la connexion et recherche la vue (vérifie signin et view) ; elle ne juge ni la liste d’autorisation des domaines, ni l’autorisation d’intégration, ni ce que la vue affiche. Une vue Tableau Public demande à Tableau Public si le classeur existe et ne juge pas le nom de la vue.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
testBIView

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
idcheminobligatoire
Idempotency-Keyen-têteoptionnelOmettre pour une opération fraîche. Fournissez et réutilisez une clé pour dédupliquer les tentatives ; le CLI gère les clés automatiquement.
Modèle de requête et réponses
shell · modèle de requête
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-views/RESOURCE_ID/test'

Réponses

StatutSensCorps et en-têtes
200Les vérifications.BIViewTest (application/json); en-têtes : Cache-Control
404not_found.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)
GET/api/bi-views/{id}/image

Obtenir l’image de la vue BI

Dessine maintenant une vue Grafana ou web en PNG (une vue Power BI ou Tableau répond not_found), hors du cache partagé, de sorte qu’un test montre exactement ce que Grafana ou le navigateur rend à cette taille. La page d’intégration elle-même utilise le rendu partagé.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
getBIViewImage

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton.
idcheminobligatoire
largeurrequêteoptionnel
hauteurrequêteoptionnel
Modèle de requête et réponses
shell · modèle de requête
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-views/RESOURCE_ID/image'

Réponses

StatutSensCorps et en-têtes
200Le PNG rendu.string (image/png); en-têtes : Cache-Control
409bi_upstream_refused : le système BI a refusé les identifiants ou les autorisations de la connexion.Problème (application/problem+json)
500bi_upstream_unavailable, y notamment un Grafana sans moteur de rendu d’images.Problème (application/problem+json)
par défaut

Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique.

Problème (application/problem+json)