OpenAPI YAMLOpenAPI JSONproblemas YAMLResumen de la API
Este grupo tiene 12 operaciones, generadas a partir de api/openapi.yaml. Filtre por ruta, acción o autenticación. Cada endpoint indica sus entradas; despliéguelo para ver una plantilla de solicitud y los códigos de respuesta. Las plantillas necesitan sus propios valores y un cuerpo válido según el esquema.
Reemplace los marcadores en mayúsculas con sus valores. Para una solicitud JSON, guarde un cuerpo que coincida con el esquema en request.json. Los ejemplos de cookies usan un frasco de cookies local de una sesión autenticada.
Disparadores de alertas CAP
Listar disparadores
Lista los activadores del proyecto (CAP y de superposición), del más antiguo al más reciente (20 como máximo), cada uno con su url de ingesta, su username y su última alerta o estado de superposición. Aquí nunca se devuelve ningún secreto.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Los triggers del proyecto. | Lista de disparadores (application/json); encabezados: Cache-Control |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Crear disparador
Crea un disparador de alerta CAP: una URL entrante a la que un sistema de notificaciones de emergencia (Everbridge, Rave, Alertus, relés IPAWS y otros emisores CAP 1.2) envía alertas, con credenciales HTTP Basic.
La respuesta es el único lugar donde aparece la contraseña (con la respuesta de rotación): guárdela en el sistema de envío de inmediato. target es una etiqueta (todas las pantallas activas con ella cuando llega la alerta) o hasta 500 screen_ids.
Una alerta toma todas las pantallas objetivo con una lista de reproducción predeterminada hasta que la alerta <expires>, o para default_for_seconds (60 a 604800, por defecto 3600); vea POST /api/triggers/{id}/cap. Una organización tiene como máximo 20 disparadores en todos sus proyectos (trigger_limit_reached). Añade trigger.created.
Un reintento exacto con la misma Idempotency-Key devuelve esta misma respuesta, incluida la contraseña, por veinticuatro horas.
El pull opcional añade fuentes CAP que la plataforma lee para el activador (véase CapPull); la url de ingesta sigue funcionando a su lado. kind overlay crea en su lugar el segundo tipo: una url de entrada (POST /api/triggers/{id}/overlay) en la que cualquier sistema (Home Assistant, una cámara, una herramienta de alertas) publica unas pocas palabras, que se muestran en las pantallas de destino como una franja sobre lo que se reproduce (overlay.show bar, en el borde inferior o superior) o como una toma de control (overlay.show takeover) mientras dura una alerta; véase TriggerOverlay.
Con signing true la respuesta también lleva el secreto de firma una vez. verify hace que la firma propia de un proveedor (GitHub, Stripe, Shopify, Slack, Linear, Vercel, Asana o cualquier remitente HMAC) autentique un envío en lugar de la contraseña, que sigue funcionando a su lado; no puede combinarse con signing, y su secreto se sella y nunca se devuelve, solo una pista. handshake nombra un handshake de proveedor al que responde la URL (Microsoft Graph, monday.com, Trello o Azure Event Grid; verify slack y asana responden al suyo).
Las retenciones de superposición son de 10 a 604800 segundos (predeterminado 600). Un activador cuyo selector alcanza una pantalla protegida es protected_target (409), y una lectura fallida de la protección de pantallas es dependency_unavailable (500, repita la misma solicitud); un activador no está disponible para un llamador limitado a pantallas.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| kind (opcional, cadena) | Permitidos: "cap", "overlay" predeterminado: "cap" |
| etiqueta (requerida, cadena) | minLength: 1 maxLength: 80 |
| objetivo (requerido, TriggerTarget) | Exactamente uno de tag y screen_ids. |
| default_for_seconds (opcional, entero) | Cuánto tiempo mantiene las pantallas una alerta sin <expires>: de 60 a 604800, por defecto 3600, en un activador CAP; cuánto tiempo mantiene su alerta un envío sin duration: de 10 a 604800, por defecto 600, en un activador de superposición. minimum: 10 maximum: 604800 |
| pull (opcional, CapPull) | CAP fuentes que la plataforma lee para el disparador, con dónde están las pantallas objetivo y qué alertas cuentan: los parámetros de una colocación de tarjeta de alerta cap (docs/feeds.md "Alertas CAP"). Cada URL fuente se consulta una vez por minuto para cada disparador y colocación que la nombre. Sin fuentes, se leen los feeds públicos de la plataforma que cubren la ubicación (NWS, Canada NAAD y MeteoAlarm para una ubicación con códigos de área). La alerta coincidente más severa toma el control de las pantallas objetivo exactamente como lo haría un mensaje enviado; cuando las fuentes no muestran ninguna (una cancelación o expiración), termina una alerta extraída. Una fuente obsoleta o fallida nunca termina una alerta. location es obligatorio a menos que se proporcionen fuentes. |
| overlay (opcional, TriggerOverlayWrite) |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 201 | Creado, con su URL, nombre de usuario y contraseña. | TriggerWithPassword (application/json); encabezados: ETag, Cache-Control |
| 400 | invalid_request, incluyendo una etiqueta malformada o tanto etiqueta como screen_ids. | Problema (application/problem+json) |
| 409 | trigger_limit_reached, idempotency_mismatch, o protected_target cuando el selector alcanza una pantalla de una carpeta de pantallas protegida. | Problema (application/problem+json) |
| 500 | dependency_unavailable - no se pudo ejecutar la comprobación de carpetas de pantallas protegidas; envíe la misma solicitud de nuevo tras una breve espera. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Obtener disparador
Un activador con su última alerta o, en un activador de superposición, sus alertas activas (la más reciente primero, la primera se muestra), los recuentos de difusión y si hay trabajo pendiente. Una alerta pasada su until se lee como terminada con ended_reason expired.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Un disparador. | Disparador (application/json); encabezados: ETag, Cache-Control |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Actualizar un activador
Cambia un activador sin cambiar su URL ni su secreto: label, target, default_for_seconds, el pull de un activador CAP (null lo quita) y, en un activador de superposición, overlay.edge, style (reemplaza todo el estilo; null lo borra), mapping (null lo quita), enabled, signing, verify (null lo quita; sin secreto conserva el almacenado cuando el proveedor es el mismo) y handshake (null lo quita).
Un activador de superposición desactivado responde a su remitente con el mismo 404 que un secreto incorrecto. Activar la firma devuelve el secreto de firma una sola vez en esta respuesta. Una franja se recoloca en las nuevas pantallas de destino y en el nuevo borde; el nuevo destino de un activador de toma de control se aplica desde la siguiente alerta que empiece. Añade trigger.updated con details.changed. If-Match protege la revisión.
Cada actualización se comprueba sobre el destino que tendrá el activador, el nuevo o, si no, el guardado: un destino que alcanza una pantalla protegida es protected_target (409) sea cual sea el miembro que cambia, y una lectura fallida de la protección de pantallas es dependency_unavailable (500, repita la misma solicitud).
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| etiqueta (opcional, cadena) | minLength: 1 maxLength: 80 |
| target (opcional, TriggerTarget) | Exactamente uno de tag y screen_ids. |
| default_for_seconds (opcional, entero) | minimum: 10 maximum: 604800 |
| pull (opcional, en línea) | Solo activadores CAP; null quita las fuentes. |
| overlay (opcional, object) |
Plantilla y respuestas de solicitud
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El activador, con signing_secret cuando esta actualización activó la firma. | TriggerWithSecrets (application/json); cabeceras: ETag, Cache-Control |
| 400 | invalid_request — errors[0].field nombra el miembro (overlay.edge, overlay.style.theme, overlay.mapping, pull). | Problema (application/problem+json) |
| 409 | idempotency_mismatch, o protected_target cuando el destino del activador (el nuevo, si no el guardado) alcanza una pantalla de una carpeta de pantallas protegida. | Problema (application/problem+json) |
| 500 | dependency_unavailable - no se pudo ejecutar la comprobación de carpetas de pantallas protegidas; envíe la misma solicitud de nuevo tras una breve espera. | Problema (application/problem+json) |
| 412 | revision_conflict. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Eliminar disparador
Elimina el activador. Su URL deja de funcionar de inmediato, y se eliminan su lista de reproducción de alertas y sus imágenes fijas (o las franjas, la lista de reproducción y la tarjeta de un activador de superposición). Un activador que muestra una alerta, o que aún está retirando una, se rechaza con resource_conflict; termínelo primero. Añade trigger.deleted. If-Match protege la revisión.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 204 | Eliminado. | sin cuerpo |
| 409 | resource_conflict: el disparador está mostrando una alerta. | Problema (application/problem+json) |
| 412 | revision_conflict. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Rotar secreto de activación
Reemplaza la contraseña del activador y devuelve la nueva, una sola vez. La contraseña anterior deja de funcionar de inmediato; actualice el sistema remitente. Con signing en true en el cuerpo, reemplaza en su lugar el secreto de firma de un activador de superposición y devuelve ese, una sola vez (400 invalid_request cuando el activador no firma). Añade trigger.updated con details.rotated.
If-Match protege la revisión.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| If-Match | encabezado | opcional | Revisión positiva opcional de recurso. Omitir para escribir el recurso actual; una revisión obsoleta suministrada es revision_conflict. |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| signing (opcional, booleano) | Rotar el secreto de firma en lugar de la contraseña. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/rotate-secret'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El activador con su nueva contraseña, o su nuevo secreto de firma. | TriggerWithSecrets (application/json); cabeceras: ETag, Cache-Control |
| 412 | revision_conflict. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Prueba de activador
Muestra una alerta de ejercicio de un minuto (una tarjeta azul con un banner amarillo EXERCISE) en las pantallas del disparador, exactamente como lo haría una alerta recibida, para que se pueda verificar la orientación y las pantallas sin el sistema de envío. Se rechazó resource_conflict mientras el disparador muestra una alerta, por lo que una prueba nunca reemplaza una real.
Un reintento exacto con la misma Idempotency-Key responde con outcome duplicate. Un activador de superposición muestra la alerta screenrig-test (label Test, title Test overlay) durante un minuto y responde con un TriggerOverlayReceipt.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/test'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Lo que hizo la alerta de prueba. | inline (application/json) |
| 409 | resource_conflict: el disparador está mostrando una alerta. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Borrar disparador
Finaliza la alerta del disparador (ended_reason cleared) y elimina las tomas de control que estableció. Una pantalla que otra toma de control haya reemplazado desde entonces queda intacta. Un disparador sin alerta activa responde sin cambios. Añade trigger.alert_received con resultado ended.
En un activador de superposición, el cuerpo puede nombrar una alerta (alert_id); sin ella terminan todas las alertas, y al terminar la última se baja la franja o se terminan las tomas de control.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| alert_id (opcional, cadena) | La alerta de superposición que se termina. Sin ella terminan todas las alertas. minLength: 1 maxLength: 200 |
Plantilla y respuestas de solicitud
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/clear'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El trigger.alert.screens.pending es verdadero mientras se están limpiando los takeovers. | Disparador (application/json); encabezados: ETag |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Recibir Trigger CAP
La URL a la que un sistema de notificación de emergencia publica una alerta CAP 1.2 (cualquier tipo de contenido XML, máximo 256 KiB). Se autentica con las credenciales HTTP Basic propias del disparador: el nombre de usuario es el id del disparador, la contraseña la devuelta por create o rotate.
Un mensaje con estado Actual o Ejercicio y msgType Alerta muestra una tarjeta a pantalla completa (título, evento, descripción, instrucción y remitente, rojo para Extremo, Severo o sin severidad, ámbar para Moderado, azul para Menor; Ejercicio añade un banner amarillo EJERCICIO) en cada pantalla objetivo con una lista de reproducción predeterminada, hasta <expires>, o para default_for_seconds, como máximo 7 días.
Una actualización que referencia la alerta mostrada la redibuja en su lugar y mueve las tomas cuando <expires> cambió. Una cancelación que la referencia, o cualquier mensaje con responseType AllClear, la termina y limpia las tomas que estableció. Un disparador muestra una alerta: una nueva alerta reemplaza a la mostrada.
Los mensajes de prueba, sistema y borrador, Ack y Error, una alerta ya expirada y una Cancelación de alerta no mostrada se ignoran; el mismo remitente e identificador dos veces es un duplicado. La respuesta es un recibo que nombra el resultado; las pantallas se escriben justo después (alert.screens.pending).
Los takeovers evaden los límites de tasa de control de pantalla y nunca se miden ni se rechazan por saldo. Añade trigger.alert_received.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request POST --header 'Content-Type: application/xml' --data-binary '@request.bin' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/cap'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Lo que hizo el mensaje. | Recibo de disparador (application/json); encabezados: RateLimit-Policy, RateLimit, Cache-Control |
| 400 | invalid_request — el cuerpo no es una alerta CAP 1.2 usable, o es mayor a 256 KiB. | Problema (application/problem+json) |
| 401 | no autorizado — credenciales faltantes o incorrectas, o un trigger desconocido. WWW-Authenticate indica el ámbito Basic. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Recibir un envío de activador de superposición
La URL en la que un sistema externo (Home Assistant, una cámara, un sensor de puerta, una herramienta de alertas o un proveedor que firma sus propios webhooks) publica para que las pantallas del activador muestren unas pocas palabras. Se autentica con el secreto propio del activador en el encabezado Authorization: Bearer <secret>, o con HTTP Basic usando el id del activador como usuario.
Cuando el activador se creó con verify, una firma válida en el encabezado propio de ese proveedor (vea WebhookVerifyWrite) autentica el envío en lugar del secreto, que sigue funcionando a su lado.
Cuando el activador firma, también se exige ScreenRig-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>" under the signing secret>, y t debe estar a menos de cinco minutos del reloj del servidor.
Un activador desconocido, un activador CAP, un secreto o una firma incorrectos o ausentes, una marca de tiempo obsoleta, un activador desactivado y cada GET reciben el mismo 404 not_found; el proyecto ve el motivo en el registro de entregas del activador.
Un activador configurado para un handshake de proveedor lo responde primero, antes de pedir ninguna credencial, a una solicitud que es ese handshake: el desafío url_verification de Slack (firmado), el validationToken de Microsoft Graph, el X-Hook-Secret de Asana (guardado sellado como secreto de firma de sus eventos), el challenge de monday.com, el SubscriptionValidationEvent de Azure Event Grid y la comprobación HEAD de Trello (la operación head de esta URL).
Un handshake no cambia ninguna alerta, nunca se factura y no gasta presupuesto de velocidad, y se registra en el registro de entregas con el resultado handshake.
El cuerpo, de 256 KiB como máximo, es JSON, application/x-www-form-urlencoded o multipart/form-data (cada campo de texto es body.<field>, las partes de archivo se ignoran y se cuentan en el registro de entregas); con un mapping, la plantilla construye la solicitud a partir de body y query. alert_id nombra la alerta: un envío con un id activo actualiza esa alerta en lugar de apilar otra, y se muestra la alerta iniciada más recientemente.
Cada activación o actualización mantiene su alerta durante duration desde ese envío (de 10 a 604800 segundos, o 10s, 5m, 2h, 1d, o until_cleared; por defecto el del activador), de modo que un sensor que sigue enviando mantiene la superposición.
Un envío con clear en true, o un state que significa que terminó (off, closed, clear, cleared, resolved, ok, normal, inactive, ended), termina la alerta con ese id, o todas las alertas si no se indica ninguno. Una activación o actualización es una solicitud de API facturada; una finalización es gratuita y nunca se rechaza por saldo.
Idempotency-Key (de 8 a 200 caracteres) responde al reintento de un remitente con el primer recibo durante veinticuatro horas. Como máximo 120 envíos por minuto por activador.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| id | ruta | requerido | |
| Idempotency-Key | encabezado | opcional | Omitir para una operación nueva. Proporcione y reutilice una clave para deduplicar reintentos; el CLI gestiona las claves automáticamente. |
| ScreenRig-Signature | encabezado | opcional | t=<unix seconds>,v1=<hex HMAC-SHA256 over "<t>.<raw body>">; obligatorio cuando el activador firma. |
Campos del cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| alert_id (opcional, cadena) | El id de la alerta que elige el remitente; ausente o vacío es default para una activación, y todas las alertas para una finalización. maxLength: 200 |
| etiqueta (opcional, cadena) | Una etiqueta breve sobre el título. maxLength: 40 |
| title (opcional, cadena) | maxLength: 120 |
| message (opcional, cadena) | maxLength: 400 |
| note (opcional, string) | Una línea discreta al pie. maxLength: 120 |
| duration (opcional, en línea) | Cuánto tiempo mantiene este envío la alerta, desde ahora. Sin valor se usa el predeterminado del activador. |
| clear (opcional, en línea) | True termina la alerta (true, yes, y, 1 o x como texto). |
| state (opcional, cadena) | Una palabra de estado del remitente: off, closed, clear, cleared, resolved, ok, normal, inactive o ended (en cualquier caso) termina la alerta; cualquier otro estado la activa. |
Plantilla y respuestas de solicitud
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/overlay'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Lo que hizo el envío, o la respuesta al handshake de un proveedor. | TriggerOverlayReceipt (application/json); cabeceras: RateLimit-Policy, RateLimit, Cache-Control |
| 400 | invalid_request — el cuerpo es demasiado grande, está vacío, no es JSON ni un formulario, el mapping falló con él, o un miembro es incorrecto; el registro de entregas lo nombra. | Problema (application/problem+json) |
| 402 | payment_required — el proyecto no tiene crédito (solo en una activación o actualización). | Problema (application/problem+json) |
| 404 | not_found — la única respuesta a cada envío rechazado y a cada GET. | Problema (application/problem+json) |
| 409 | idempotency_mismatch. | Problema (application/problem+json) |
| 429 | Problema estable rate_limited. Reintente solo después del intervalo Retry-After autorizado. Las denegaciones de ventana fija también incluyen la política RateLimit-Policy y los miembros RateLimit aplicables; las denegaciones por concurrencia y presupuesto de bytes omiten esas divulgaciones opcionales. | Problema (application/problem+json); encabezados: Retry-After, RateLimit-Policy, RateLimit |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Head Trigger Overlay
La comprobación que hace Trello de un webhook nuevo. Responde 200 sin cuerpo para un activador cuyo handshake es trello, y el único 404 not_found para cualquier otro activador, dirección y solicitud, así que una vista previa de enlace no aprende nada. No escribe nada, nunca se factura y no gasta presupuesto de velocidad; la comprobación respondida figura en el registro de entregas con el resultado handshake.
Cada GET responde el 404 y no lee nada.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| id | ruta | requerido |
Plantilla y respuestas de solicitud
curl --request HEAD 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/overlay'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | El webhook responde al handshake de Trello. | sin cuerpo; encabezados: Cache-Control |
| 404 | not_found — la única respuesta a cualquier otra solicitud. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |
Listar las entregas de un activador
Los envíos a un activador de superposición durante los últimos siete días, los más recientes primero (como máximo 100), con cuándo llegó cada uno, cómo terminó cada uno (shown, updated, unchanged, ended, ignored, refused, invalid o handshake), por qué lo fue uno rechazado o no válido (credentials, signature, signature_missing, signature_invalid, timestamp_missing, timestamp_stale, secret_pending, handshake_invalid, disabled, body, mapping, field, rate_limited, payment_required, internal), el estado, el tamaño, el número de partes de archivo que llevaba un envío multipart (ignoradas) y el ID de solicitud.
No guarda cuerpo, cabecera ni credencial. Un activador CAP no tiene ninguna.
Parámetros
| Nombre | Enviar | ¿Requerido? | Descripción |
|---|---|---|---|
| ScreenRig-Project | encabezado | opcional | Obsoleto por una versión. Debe ser consistente con las concesiones de proyectos JWT; añade encabezados Deprecation y Warning. Sin intercambio de token. |
| id | ruta | requerido | |
| límite | consulta | opcional |
Plantilla y respuestas de solicitud
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/deliveries'Respuestas
| Estado | Significado | Cuerpo y encabezados |
|---|---|---|
| 200 | Las entregas del activador. | TriggerDeliveryList (application/json) |
| 400 | invalid_request — limit no es un número entero de 1 a 100. | Problema (application/problem+json) |
| predeterminado | Respuesta estable RFC 9457 a problemas. Un 421 server_draining lleva Retry-After de 1 segundo, un 500 not_ready o dependency_unavailable lleva 5, y un 500 manifest_degraded lleva 60, a menos que el manejador establezca un valor más específico. | Problema (application/problem+json) |