Référence API

API Stockage clé/valeur

Stockage clé/valeur d’application

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 9 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.

Stockage clé/valeur d’application

GET/api/applications/{application_id}/kv

Lister KV

Retourne au maximum 200 entrées dans l’ordre croissant des clés. next_cursor est la dernière clé retournée ; renvoyez-la comme after pour récupérer la page suivante. next_cursor est nul quand il n’y a plus d’entrées. Une session du tableau de bord lit ici les entrées de son projet pour l’aperçu de l’application web ; le tableau de bord n’a aucune écriture KV.

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

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.
application_idcheminobligatoire
aprèsrequê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://api.screenrig.ai/api/applications/APPLICATION_ID/kv'

Réponses

StatutSensCorps et en-têtes
200Entrées KVKVList (application/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/applications/{application_id}/kv/{key}

Obtenir KV

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

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.
application_idcheminobligatoire
clécheminobligatoire
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://api.screenrig.ai/api/applications/APPLICATION_ID/kv/KEY'

Réponses

StatutSensCorps et en-têtes
200Entrée KVKVEntry (application/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)
PUT/api/applications/{application_id}/kv/{key}

Mettre KV

Authentification
projectBearer
Corps de la requête
Écriture KV
ID d’opération
putKV

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.
application_idcheminobligatoire
clécheminobligatoire
If-Matchen-têteoptionnelRévision positive optionnelle de ressource. Omettre pour créer ou écraser une clé ; 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
value_base64 (obligatoire, chaîne)maxLength : 1398104
content_type (optionnel, chaîne)par défaut : « application/octet-stream » minLength : 1 maxLength : 127
Modèle de requête et réponses
shell · modèle de requête
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/APPLICATION_ID/kv/KEY'

Réponses

StatutSensCorps et en-têtes
200Entrée KVKVEntry (application/json)
429

Problème stable rate_limited. Réessayez seulement après l’intervalle Retry-After autoritaire. Les refus à fenêtre fixe incluent aussi la politique RateLimit-Policy applicable et les membres RateLimit ; les refus de concurrence et de budget d’octets omettent ces divulgations optionnelles.

Problème (application/problem+json) ; en-têtes : Retry-After, RateLimit-Policy, RateLimit
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/applications/{application_id}/kv/{key}

Supprimer KV

Authentification
projectBearer
Corps de la requête
aucun
ID d’opération
deleteKV

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.
application_idcheminobligatoire
clécheminobligatoire
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]' 'https://api.screenrig.ai/api/applications/APPLICATION_ID/kv/KEY'

Réponses

StatutSensCorps et en-têtes
204Supprimépas de corps
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/applications/{application_id}/kv-webhooks

Lister KVWebhooks

Liste les webhooks entrants de l’application, les plus anciens d’abord (au maximum 20), chacun avec la clé qu’il écrit, son URL d’ingestion et last_used_at une fois qu’il a écrit. Le secret n’est jamais retourné ici.

Authentification
projectBearer
Corps de la requête
aucun
ID d’opération
listKVWebhooks

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.
application_idcheminobligatoire
Modèle de requête et réponses
shell · modèle de requête
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/applications/APPLICATION_ID/kv-webhooks'

Réponses

StatutSensCorps et en-têtes
200Les webhooks clé/valeur de l’application.Liste des webhooks KV (application/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/applications/{application_id}/kv-webhooks

Créer un KVWebhook

Crée un webhook clé/valeur entrant : une URL qui écrit une clé de cette application, pour qu’un système externe (Zapier, Make, un point de vente, un cron, curl) pousse des données vers les écrans avec un POST HTTP ; voir POST /api/applications/{application_id}/kv-webhooks/{webhook_id}/write. La clé peut ne pas encore exister.

La réponse est le seul endroit où le secret apparaît (avec la réponse de rotation) : stockez-le immédiatement dans le système d’envoi ; le serveur conserve un résumé. Une application a au plus 20 webhooks (kv_webhook_limit_reached). Ajoute kv_webhook.created. Une nouvelle tentative exacte avec la même Idempotency-Key renvoie cette même réponse, secret inclus, pendant vingt-quatre heures.

Authentification
projectBearer
Corps de la requête
Créer un webhook KV
ID d’opération
createKVWebhook

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.
application_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.

Champs du corps de la requête

ChampDescription
clé (obligatoire, chaîne)minLength : 1 maxLength : 256 motif : « ^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$ »
description (optionnelle, chaîne)Ce qui est envoyé, pour les personnes qui lisent la liste. Épuré ; ne doit pas contenir d’identifiant. maxLength : 200
Modèle de requête et réponses
shell · modèle de requête
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/APPLICATION_ID/kv-webhooks'

Réponses

StatutSensCorps et en-têtes
201Créé, avec son URL et son secret.Webhook KV avec secret (application/json) ; en-têtes : Cache-Control
400invalid_request, incluant une clé mal formée ou une description contenant une information d’identification.Problème (application/problem+json)
404not_found — l’application n’est pas dans ce projet.Problème (application/problem+json)
409kv_webhook_limit_reached ou 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)
SUPPRIMER/api/applications/{application_id}/kv-webhooks/{webhook_id}

Supprimer KVWebhook

Supprime le webhook. Son URL cesse de fonctionner immédiatement ; la clé qu’il a écrite conserve sa valeur. Ajoute kv_webhook.deleted.

Authentification
projectBearer
Corps de la requête
aucun
ID d’opération
deleteKVWebhook

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.
application_idcheminobligatoire
webhook_idcheminobligatoireL’identifiant d’un des webhooks clé/valeur de l’application.
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]' 'https://api.screenrig.ai/api/applications/APPLICATION_ID/kv-webhooks/WEBHOOK_ID'

Réponses

StatutSensCorps et en-têtes
204Supprimé.pas de corps
404not_found — le webhook n’est pas sur cette application.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/applications/{application_id}/kv-webhooks/{webhook_id}/rotate-secret

Faire pivoter le secret KVWebhook

Remplace le secret du webhook et retourne le nouveau, une fois. L’ancien secret cesse de fonctionner immédiatement ; mettez à jour le système d’envoi. Ajoute kv_webhook.secret_rotated. Une nouvelle tentative exacte avec la même Idempotency-Key retourne cette même réponse, secret inclus, pendant vingt-quatre heures.

Authentification
projectBearer
Corps de la requête
aucun
ID d’opération
rotateKVWebhookSecret

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.
application_idcheminobligatoire
webhook_idcheminobligatoireL’identifiant d’un des webhooks clé/valeur de l’application.
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]' 'https://api.screenrig.ai/api/applications/APPLICATION_ID/kv-webhooks/WEBHOOK_ID/rotate-secret'

Réponses

StatutSensCorps et en-têtes
200Le webhook avec son nouveau secret.Webhook KV avec secret (application/json) ; en-têtes : Cache-Control
404not_found — le webhook n’est pas sur cette application.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/applications/{application_id}/kv-webhooks/{webhook_id}/write

Recevoir KVWebhook

L’URL à laquelle un système externe envoie la nouvelle valeur d’une clé. Elle s’authentifie uniquement avec le secret du webhook dans l’en-tête Authorization : Bearer <secret>, ou HTTP Basic avec l’ID du webhook comme nom d’utilisateur et le secret comme mot de passe. Un secret dans l’URL ou la requête n’est jamais accepté.

Un webhook inconnu, d’une autre application et un mauvais secret répondent tous par le même 401. Le corps brut, au maximum 1 Mio, devient la valeur de la clé du webhook, et l’en-tête Content-Type son content_type (application/octet-stream en l’absence ; un en-tête qui n’est pas un type média est invalid_request).

L’écriture est PUT /api/applications/{application_id}/kv/{key} sans If-Match : elle remplace la valeur, incrémente la révision, est mesurée et soumise à quota comme toute écriture K/V, compte comme une requête API facturée qui n’est jamais refusée en raison du solde, et ajoute kv.updated.

Idempotency-Key (de 8 à 200 caractères) déduplique les nouvelles tentatives d’un expéditeur pour une écriture pendant vingt-quatre heures, et la même clé avec un autre corps ou type de contenu donne idempotency_mismatch; sans elle, chaque envoi est une nouvelle écriture. La réponse est les nouvelles métadonnées de la clé, jamais sa valeur.

Au maximum 120 écritures par minute et par webhook; chacune compte aussi dans les taux d’écriture de l’organisation et de la clé (PUT /api/card-data/{key}).

Authentification
kvWebhookBearer OU kvWebhookBasic
Corps de la requête
string
ID d’opération
receiveKVWebhook

Paramètres

NomEnvoyerRequis ?Description
application_idcheminobligatoire
webhook_idcheminobligatoireL’identifiant d’un des webhooks clé/valeur de l’application.
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 'Content-Type: */*' --data-binary '@request.bin' 'https://api.screenrig.ai/api/applications/APPLICATION_ID/kv-webhooks/WEBHOOK_ID/write'

Réponses

StatutSensCorps et en-têtes
200Les nouvelles métadonnées de la clé.Résultat d’écriture KVWebhook (application/json) ; en-têtes : RateLimit-Policy, RateLimit, Cache-Control
400invalid_request — le corps est plus grand que 1 Mio, le Content-Type n’est pas un type média unique, ou le Idempotency-Key est mal formé.Problème (application/problem+json)
401non autorisé — identifiants manquants ou erronés, ou webhook inconnu. WWW-Authenticate indique les domaines Bearer et Basic.Problème (application/problem+json)
409idempotency_mismatch — le Idempotency-Key a été utilisé pour un autre corps ou type de contenu.Problème (application/problem+json)
429

Problème stable rate_limited. Réessayez seulement après l’intervalle Retry-After autoritaire. Les refus à fenêtre fixe incluent aussi la politique RateLimit-Policy applicable et les membres RateLimit ; les refus de concurrence et de budget d’octets omettent ces divulgations optionnelles.

Problème (application/problem+json) ; en-têtes : Retry-After, RateLimit-Policy, RateLimit
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)