OpenAPI YAMLOpenAPI JSONproblèmes YAMLVue d’ensemble de l’API
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
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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| curseur | requête | optionnel | next_cursor de la page précédente. |
| limite | requête | optionnel |
Modèle de requête et réponses
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-connections'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Une page de connexions. | BIConnectionList (application/json); en-têtes : Cache-Control |
| 400 | invalid_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) |
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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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-Key | en-tête | optionnel | Omettre 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
| Champ | Description |
|---|---|
| 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
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 201 | Créé. | BIConnection (application/json); en-têtes : ETag, Cache-Control |
| 400 | invalid_request, y notamment une adresse qui n’est pas un hôte public d’Internet. | 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. | Problème (application/problem+json) |
| 409 | idempotency_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) |
Obtenir la connexion BI
Une connexion, avec son dernier test.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| id | chemin | obligatoire |
Modèle de requête et réponses
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Une connexion. | BIConnection (application/json); en-têtes : ETag, Cache-Control |
| 404 | not_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) |
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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| id | chemin | obligatoire | |
| If-Match | en-tête | optionnel | Révision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict. |
| Idempotency-Key | en-tête | optionnel | Omettre 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
| Champ | Description |
|---|---|
| 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
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | La connexion mise à jour. | BIConnection (application/json); en-têtes : ETag, Cache-Control |
| 400 | invalid_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) |
| 412 | revision_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 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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| id | chemin | obligatoire | |
| If-Match | en-tête | optionnel | Révision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict. |
| Idempotency-Key | en-tête | optionnel | Omettre 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
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 204 | Supprimé. | pas de corps |
| 409 | resource_conflict : des vues utilisent la connexion. | Problème (application/problem+json) |
| 412 | revision_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) |
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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| id | chemin | obligatoire | |
| Idempotency-Key | en-tête | optionnel | Omettre 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
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Les vérifications. | BITestReport (application/json); en-têtes : Cache-Control |
| 404 | not_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) |
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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| id | chemin | obligatoire | |
| requête | requête | optionnel | |
| tableau de bord | requête | optionnel | Un uid de tableau de bord ; liste ses panneaux. |
| espace de travail | requête | optionnel | Un identifiant d’espace de travail Power BI ; liste ses rapports. |
| curseur | requête | optionnel | next_cursor de la page précédente. |
Modèle de requête et réponses
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Tableaux de bord ou panneaux. | BIBrowse (application/json); en-têtes : Cache-Control |
| 409 | bi_upstream_refused : le système BI a refusé les identifiants ou les autorisations de la connexion. | Problème (application/problem+json) |
| 500 | bi_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) |
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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| curseur | requête | optionnel | next_cursor de la page précédente. |
| limite | requête | optionnel |
Modèle de requête et réponses
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/bi-views'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Une page de vues. | BIViewList (application/json); en-têtes : Cache-Control |
| 400 | invalid_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) |
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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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-Key | en-tête | optionnel | Omettre 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
| Champ | Description |
|---|---|
| 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
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 201 | Créé. | BIView (application/json); en-têtes : ETag, Cache-Control |
| 400 | invalid_request, y compris une url qui n’est pas une adresse de tableau de bord de la connexion. | 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. | Problème (application/problem+json) |
| 404 | not_found : la connexion ne fait pas partie de ce projet. | Problème (application/problem+json) |
| 409 | idempotency_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) |
Obtenir la vue BI
Une vue, avec embed_url et son comportement à l’écran la dernière fois (status).
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| id | chemin | obligatoire |
Modèle de requête et réponses
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Une vue. | BIView (application/json); en-têtes : ETag, Cache-Control |
| 404 | not_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) |
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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| id | chemin | obligatoire | |
| If-Match | en-tête | optionnel | Révision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict. |
| Idempotency-Key | en-tête | optionnel | Omettre 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
| Champ | Description |
|---|---|
| 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
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | La vue mise à jour. | BIView (application/json); en-têtes : ETag, Cache-Control |
| 400 | invalid_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. | Problème (application/problem+json) |
| 412 | revision_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 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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| id | chemin | obligatoire | |
| If-Match | en-tête | optionnel | Révision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict. |
| Idempotency-Key | en-tête | optionnel | Omettre 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
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 204 | Supprimé. | pas de corps |
| 412 | revision_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) |
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.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| id | chemin | obligatoire | |
| Idempotency-Key | en-tête | optionnel | Omettre 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
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Les vérifications. | BIViewTest (application/json); en-têtes : Cache-Control |
| 404 | not_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) |
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é.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolè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. |
| id | chemin | obligatoire | |
| largeur | requête | optionnel | |
| hauteur | requête | optionnel |
Modèle de requête et réponses
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
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Le PNG rendu. | string (image/png); en-têtes : Cache-Control |
| 409 | bi_upstream_refused : le système BI a refusé les identifiants ou les autorisations de la connexion. | Problème (application/problem+json) |
| 500 | bi_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) |