OpenAPI YAMLOpenAPI JSONproblems YAMLAPI overview
This group has 12 operations, generated from api/openapi.yaml. Filter by path, action, or authentication. Each endpoint lists its inputs; expand it for a request template and response codes. Templates need your own values and a schema-valid body.
Replace uppercase placeholders with your values. For a JSON request, save a body matching the schema in request.json. Cookie examples use a local cookie jar from an authenticated session.
CAP alert triggers
List Triggers
Lists the project's triggers (CAP alert and overlay), oldest first (at most 20), each with its ingest url, username and latest alert or overlay state. No secret is ever returned here.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| ScreenRig-Project | header | optional | Deprecated for one release. Must be consistent with the JWT projects grants; adds Deprecation and Warning headers. No token exchange. |
Request template and responses
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 200 | The project's triggers. | TriggerList (application/json); headers: Cache-Control |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
Create Trigger
Creates a CAP alert trigger: one inbound URL an emergency notification system (Everbridge, Rave, Alertus, IPAWS relays and other CAP 1.2 senders) posts alerts to, with HTTP Basic credentials.
The answer is the only place the password appears (with the rotate answer): store it in the sending system at once. target is a tag (every active screen with it when the alert arrives) or up to 500 screen_ids.
An alert takes every target screen with a default playlist over until the alert's <expires>, else for default_for_seconds (60 to 604800, default 3600); see POST /api/triggers/{id}/cap. An organization has at most 20 triggers across its projects (trigger_limit_reached). Appends trigger.created.
An exact retry with the same Idempotency-Key returns this same answer, password included, for twenty-four hours.
Optional pull adds CAP sources the platform reads for the trigger (see CapPull); the ingest url keeps working beside it. kind overlay creates the second kind instead: one inbound URL (POST /api/triggers/{id}/overlay) any system (Home Assistant, a camera, an alerting tool) posts a few words to, shown on the target screens as a bar over whatever plays (overlay.show bar, on the bottom or top edge) or as a takeover (overlay.show takeover) while an alert lasts; see TriggerOverlay.
With signing true the answer also carries the signing secret once. verify makes a vendor's own signature (GitHub, Stripe, Shopify, Slack, Linear, Vercel, Asana or any HMAC sender) authenticate a post in place of the password, which keeps working beside it; it cannot be combined with signing, and its secret is sealed and never returned, only a hint of it. handshake names a vendor handshake the URL answers (Microsoft Graph, monday.com, Trello or Azure Event Grid; verify slack and asana answer theirs).
Overlay holds are 10 to 604800 seconds (default 600). A trigger whose selector reaches a protected screen is protected_target (409), and a failed read of screen protection is dependency_unavailable (500, retry the same request); a trigger is not available to a caller limited to screens.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| ScreenRig-Project | header | optional | Deprecated for one release. Must be consistent with the JWT projects grants; adds Deprecation and Warning headers. No token exchange. |
| Idempotency-Key | header | optional | Omit for a fresh operation. Supply and reuse a key to deduplicate retries; the CLI manages keys automatically. |
Request body fields
| Field | Description |
|---|---|
| kind (optional, string) | Allowed: "cap", "overlay" default: "cap" |
| label (required, string) | minLength: 1 maxLength: 80 |
| target (required, TriggerTarget) | Exactly one of tag and screen_ids. |
| default_for_seconds (optional, integer) | How long an alert without <expires> holds the screens: 60 to 604800, default 3600, for a CAP trigger; how long a post without duration holds its alert: 10 to 604800, default 600, for an overlay trigger. minimum: 10 maximum: 604800 |
| pull (optional, CapPull) | CAP sources the platform reads for the trigger, with where the target screens are and which alerts count: the params of a cap-alert card placement (docs/feeds.md "CAP alerts"). Each source URL is fetched once per minute for every trigger and placement that names it. With no sources the platform's public feeds covering location are read (NWS, Canada NAAD, and MeteoAlarm for a location with area codes). The most severe matching alert takes the target screens over exactly as a pushed message would; when the sources show none (a cancel or an expiry) a pulled alert ends. A stale or failing source never ends an alert. location is required unless sources are given. |
| overlay (optional, TriggerOverlayWrite) |
Request template and responses
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'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 201 | Created, with its url, username and password. | TriggerWithPassword (application/json); headers: ETag, Cache-Control |
| 400 | invalid_request, including a malformed tag or both tag and screen_ids. | Problem (application/problem+json) |
| 409 | trigger_limit_reached, idempotency_mismatch, or protected_target when the selector reaches a screen in a protected screen folder. | Problem (application/problem+json) |
| 500 | dependency_unavailable - the check for protected screen folders could not run; send the same request again after a short wait. | Problem (application/problem+json) |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
Get Trigger
One trigger with its latest alert, or for an overlay trigger its active alerts (newest first, the first shows), the fan-out counts and whether work is pending. An alert past its until reads as ended with ended_reason expired.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| ScreenRig-Project | header | optional | Deprecated for one release. Must be consistent with the JWT projects grants; adds Deprecation and Warning headers. No token exchange. |
| id | path | required |
Request template and responses
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 200 | One trigger. | Trigger (application/json); headers: ETag, Cache-Control |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
Update Trigger
Changes a trigger without changing its URL or secret: label, target, default_for_seconds, a CAP trigger's pull (null removes it), and for an overlay trigger overlay.edge, style (replaces the whole style; null clears it), mapping (null removes it), enabled, signing, verify (null removes it; without a secret it keeps the stored one when the vendor is the same) and handshake (null removes it).
A disabled overlay trigger answers its sender the same 404 as a wrong secret. Turning signing on returns the signing secret once in this answer. A bar re-places itself on the new target screens and edge; a takeover trigger's new target applies from the next alert that starts. Appends trigger.updated with details.changed. If-Match guards the revision.
Every update is checked on the target the trigger will have, the new one or else the stored one: a target that reaches a protected screen is protected_target (409) whichever member changes, and a failed read of screen protection is dependency_unavailable (500, retry the same request).
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| ScreenRig-Project | header | optional | Deprecated for one release. Must be consistent with the JWT projects grants; adds Deprecation and Warning headers. No token exchange. |
| id | path | required | |
| If-Match | header | optional | Optional positive resource revision. Omit to write the current resource; a supplied stale revision is revision_conflict. |
| Idempotency-Key | header | optional | Omit for a fresh operation. Supply and reuse a key to deduplicate retries; the CLI manages keys automatically. |
Request body fields
| Field | Description |
|---|---|
| label (optional, string) | minLength: 1 maxLength: 80 |
| target (optional, TriggerTarget) | Exactly one of tag and screen_ids. |
| default_for_seconds (optional, integer) | minimum: 10 maximum: 604800 |
| pull (optional, inline) | CAP triggers only; null removes the sources. |
| overlay (optional, object) |
Request template and responses
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'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 200 | The trigger, with signing_secret when this update turned signing on. | TriggerWithSecrets (application/json); headers: ETag, Cache-Control |
| 400 | invalid_request — errors[0].field names the member (overlay.edge, overlay.style.theme, overlay.mapping, pull). | Problem (application/problem+json) |
| 409 | idempotency_mismatch, or protected_target when the trigger's target (the new one, else the stored one) reaches a screen in a protected screen folder. | Problem (application/problem+json) |
| 500 | dependency_unavailable - the check for protected screen folders could not run; send the same request again after a short wait. | Problem (application/problem+json) |
| 412 | revision_conflict. | Problem (application/problem+json) |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
Delete Trigger
Deletes the trigger. Its URL stops working at once, and its alert playlist and stills (or an overlay trigger's bars, playlist and card) are deleted. A trigger showing an alert, or still clearing one, is refused resource_conflict; clear it first. Appends trigger.deleted. If-Match guards the revision.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| ScreenRig-Project | header | optional | Deprecated for one release. Must be consistent with the JWT projects grants; adds Deprecation and Warning headers. No token exchange. |
| id | path | required | |
| If-Match | header | optional | Optional positive resource revision. Omit to write the current resource; a supplied stale revision is revision_conflict. |
| Idempotency-Key | header | optional | Omit for a fresh operation. Supply and reuse a key to deduplicate retries; the CLI manages keys automatically. |
Request template and responses
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 204 | Deleted. | no body |
| 409 | resource_conflict — the trigger is showing an alert. | Problem (application/problem+json) |
| 412 | revision_conflict. | Problem (application/problem+json) |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
Rotate Trigger Secret
Replaces the trigger's password and returns the new one, once. The old password stops working at once; update the sending system. With signing true in the body it replaces an overlay trigger's signing secret instead and returns that one, once (400 invalid_request when the trigger does not sign). Appends trigger.updated with details.rotated.
If-Match guards the revision.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| ScreenRig-Project | header | optional | Deprecated for one release. Must be consistent with the JWT projects grants; adds Deprecation and Warning headers. No token exchange. |
| id | path | required | |
| If-Match | header | optional | Optional positive resource revision. Omit to write the current resource; a supplied stale revision is revision_conflict. |
| Idempotency-Key | header | optional | Omit for a fresh operation. Supply and reuse a key to deduplicate retries; the CLI manages keys automatically. |
Request body fields
| Field | Description |
|---|---|
| signing (optional, boolean) | Rotate the signing secret instead of the password. |
Request template and responses
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'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 200 | The trigger with its new password, or its new signing secret. | TriggerWithSecrets (application/json); headers: ETag, Cache-Control |
| 412 | revision_conflict. | Problem (application/problem+json) |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
Test Trigger
Shows a one-minute Exercise alert (a blue card with a yellow EXERCISE banner) on the trigger's screens, exactly as a received alert would, so the targeting and the screens can be checked without the sending system. Refused resource_conflict while the trigger shows an alert, so a test never replaces a real one.
An exact retry with the same Idempotency-Key answers outcome duplicate. An overlay trigger shows the alert screenrig-test (label Test, title Test overlay) for a minute and answers a TriggerOverlayReceipt.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| ScreenRig-Project | header | optional | Deprecated for one release. Must be consistent with the JWT projects grants; adds Deprecation and Warning headers. No token exchange. |
| id | path | required | |
| Idempotency-Key | header | optional | Omit for a fresh operation. Supply and reuse a key to deduplicate retries; the CLI manages keys automatically. |
Request template and responses
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/test'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 200 | What the test alert did. | inline (application/json) |
| 409 | resource_conflict — the trigger is showing an alert. | Problem (application/problem+json) |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
Clear Trigger
Ends the trigger's alert (ended_reason cleared) and clears the takeovers it set. A screen another takeover has replaced since is left alone. A trigger without an active alert answers unchanged. Appends trigger.alert_received with outcome ended.
For an overlay trigger the body may name one alert (alert_id); without one every alert ends, and the last one ending lowers the bar or clears the takeovers.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| ScreenRig-Project | header | optional | Deprecated for one release. Must be consistent with the JWT projects grants; adds Deprecation and Warning headers. No token exchange. |
| id | path | required |
Request body fields
| Field | Description |
|---|---|
| alert_id (optional, string) | The overlay alert to end. Without it every alert ends. minLength: 1 maxLength: 200 |
Request template and responses
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'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 200 | The trigger. alert.screens.pending is true while the takeovers are being cleared. | Trigger (application/json); headers: ETag |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
Receive Trigger CAP
The URL an emergency notification system posts one CAP 1.2 alert to (any XML content type, at most 256 KiB). It authenticates with the trigger's own HTTP Basic credentials: the username is the trigger id, the password the one create or rotate returned.
A message with status Actual or Exercise and msgType Alert shows a full-screen card (headline, event, description, instruction and sender, red for Extreme, Severe or no severity, amber for Moderate, blue for Minor; Exercise adds a yellow EXERCISE banner) on every target screen with a default playlist, until <expires>, else for default_for_seconds, at most 7 days.
An Update that references the shown alert redraws it in place and moves the takeovers when <expires> changed. A Cancel that references it, or any message with responseType AllClear, ends it and clears the takeovers it set. A trigger shows one alert: a new Alert replaces the shown one.
Test, System and Draft messages, Ack and Error, an alert already expired, and a Cancel of an alert not shown are ignored; the same sender and identifier twice is a duplicate. The answer is a receipt naming the outcome; the screens are written right after it (alert.screens.pending).
The takeovers bypass the screen-control rate limits and are never metered or refused for balance. Appends trigger.alert_received.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| id | path | required |
Request template and responses
curl --request POST --header 'Content-Type: application/xml' --data-binary '@request.bin' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/cap'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 200 | What the message did. | TriggerReceipt (application/json); headers: RateLimit-Policy, RateLimit, Cache-Control |
| 400 | invalid_request — the body is not a usable CAP 1.2 alert, or is larger than 256 KiB. | Problem (application/problem+json) |
| 401 | unauthorized — missing or wrong credentials, or an unknown trigger. WWW-Authenticate names the Basic realm. | Problem (application/problem+json) |
| 429 | Stable rate_limited problem. Retry only after the authoritative Retry-After interval. Fixed-window denials also include the applicable RateLimit-Policy and RateLimit members; concurrency and byte-budget denials omit those optional disclosures. | Problem (application/problem+json); headers: Retry-After, RateLimit-Policy, RateLimit |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
Receive Trigger Overlay
The URL an outside system (Home Assistant, a camera, a door sensor, an alerting tool, or a vendor that signs its own webhooks) posts to so the trigger's screens show a few words. It authenticates with the trigger's own secret in the Authorization header: Bearer <secret>, or HTTP Basic with the trigger id as the username.
When the trigger was created with verify, a valid signature in that vendor's own header (see WebhookVerifyWrite) authenticates the post in place of the secret, which keeps working beside it.
When the trigger signs, ScreenRig-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>" under the signing secret> is also required, and t must be within five minutes of the server's clock.
An unknown trigger, a CAP trigger, a wrong or missing secret or signature, a stale timestamp, a disabled trigger and every GET answer the same 404 not_found; the project sees the reason in the trigger's delivery log.
A trigger set up for a vendor handshake answers it first, before any credential is asked for, to a request that is that handshake: Slack's url_verification challenge (signed), Microsoft Graph's validationToken, Asana's X-Hook-Secret (kept sealed as the signing secret of its events), monday.com's challenge, Azure Event Grid's SubscriptionValidationEvent, and Trello's HEAD check (the head operation of this URL).
A handshake changes no alert, is never billed and spends no rate budget, and is recorded in the delivery log with outcome handshake.
The body, at most 256 KiB, is JSON, application/x-www-form-urlencoded or multipart/form-data (each text field is body.<field>, file parts are ignored and counted in the delivery log); with a mapping the template builds the request from body and query. alert_id names the alert: a post with an id that is active updates that alert instead of stacking another, and the newest started alert shows.
Every raise or update holds its alert for duration from that post (10 to 604800 seconds, or 10s, 5m, 2h, 1d, or until_cleared; default the trigger's), so a sensor that keeps posting keeps the overlay up.
A post with clear true, or a state that means over (off, closed, clear, cleared, resolved, ok, normal, inactive, ended), ends the alert with that id, or every alert without one. A raise or update is one billed API request; a clear is free and never refused for balance.
Idempotency-Key (8 to 200 characters) answers a sender's retry with the first receipt for twenty-four hours. At most 120 posts per minute per trigger.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| id | path | required | |
| Idempotency-Key | header | optional | Omit for a fresh operation. Supply and reuse a key to deduplicate retries; the CLI manages keys automatically. |
| ScreenRig-Signature | header | optional | t=<unix seconds>,v1=<hex HMAC-SHA256 over "<t>.<raw body>">; required when the trigger signs. |
Request body fields
| Field | Description |
|---|---|
| alert_id (optional, string) | The sender's id for the alert; absent or empty is default for a raise, and every alert for a clear. maxLength: 200 |
| label (optional, string) | A short label above the title. maxLength: 40 |
| title (optional, string) | maxLength: 120 |
| message (optional, string) | maxLength: 400 |
| note (optional, string) | A quiet line at the foot. maxLength: 120 |
| duration (optional, inline) | How long this post holds the alert, from now. Absent takes the trigger's default. |
| clear (optional, inline) | True ends the alert (true, yes, y, 1 or x as text). |
| state (optional, string) | A state word from the sender: off, closed, clear, cleared, resolved, ok, normal, inactive or ended (any case) ends the alert; anything else raises it. |
Request template and responses
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/overlay'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 200 | What the post did, or the answer to a vendor's handshake. | TriggerOverlayReceipt (application/json); headers: RateLimit-Policy, RateLimit, Cache-Control |
| 400 | invalid_request — the body is too large, empty, not JSON or a form, the mapping failed on it, or a member is wrong; errors name it in the delivery log. | Problem (application/problem+json) |
| 402 | payment_required — the project has no credit left (a raise or update only). | Problem (application/problem+json) |
| 404 | not_found — the one answer to every refused post and every GET. | Problem (application/problem+json) |
| 409 | idempotency_mismatch. | Problem (application/problem+json) |
| 429 | Stable rate_limited problem. Retry only after the authoritative Retry-After interval. Fixed-window denials also include the applicable RateLimit-Policy and RateLimit members; concurrency and byte-budget denials omit those optional disclosures. | Problem (application/problem+json); headers: Retry-After, RateLimit-Policy, RateLimit |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
Head Trigger Overlay
The check Trello makes of a new webhook. It answers 200 with no body for a trigger whose handshake is trello, and the one 404 not_found for every other trigger, address and request, so a link previewer learns nothing. It writes nothing, is never billed and spends no rate budget; the answered check is in the delivery log with outcome handshake.
Every GET answers the 404 and reads nothing.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| id | path | required |
Request template and responses
curl --request HEAD 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/overlay'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 200 | The webhook answers Trello's handshake. | no body; headers: Cache-Control |
| 404 | not_found — the one answer to every other request. | Problem (application/problem+json) |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |
List Trigger Deliveries
The posts to an overlay trigger over the last seven days, newest first (at most 100), with when each arrived, how each ended (shown, updated, unchanged, ended, ignored, refused, invalid or handshake), why a refused or invalid one was (credentials, signature, signature_missing, signature_invalid, timestamp_missing, timestamp_stale, secret_pending, handshake_invalid, disabled, body, mapping, field, rate_limited, payment_required, internal), the status, the size, the number of file parts a multipart post carried (ignored) and the request id.
It keeps no body, header or credential. A CAP trigger lists none.
Parameters
| Name | Send in | Required? | Description |
|---|---|---|---|
| ScreenRig-Project | header | optional | Deprecated for one release. Must be consistent with the JWT projects grants; adds Deprecation and Warning headers. No token exchange. |
| id | path | required | |
| limit | query | optional |
Request template and responses
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/triggers/RESOURCE_ID/deliveries'Responses
| Status | Meaning | Body and headers |
|---|---|---|
| 200 | The trigger's deliveries. | TriggerDeliveryList (application/json) |
| 400 | invalid_request — limit is not a whole number from 1 to 100. | Problem (application/problem+json) |
| default | Stable RFC 9457 problem response. A 421 server_draining carries Retry-After of 1 second, a 500 not_ready or dependency_unavailable carries 5, and a 500 manifest_degraded carries 60, unless the handler set a more specific value. | Problem (application/problem+json) |