What you’ll accomplish
You will activate a Structured Widget Push source, authenticate a server-to-server request, replace the current snapshot, and implement safe retries.Supported Widgets
Structured Push v2 currently supports these exact mappings:Endpoint
Prerequisites
- A supported Widget added to a Design.
- Content editing permission to activate its Push source.
- The Widget’s Unique Widget ID.
- An active Workspace API Key stored in a trusted backend or automation.
Get the Widget ID and API key
- Select the Widget in Studio Canvas.
- Open Properties → Data Source.
- Select Layarva Push API.
- Open API Setup & Usage Guide.
- Copy the Unique Widget ID and the one-time full Workspace API Key.
- Save and publish the Design once.
Authenticate the request
Authorization: Bearer is recommended. The route also accepts x-layarva-api-key for server integrations. Do not send both.
Send a schedule snapshot
Understand the request envelope
Unknown envelope and payload fields are rejected. HTML markup is not accepted in semantic text fields.
Successful response
X-Layarva-Data-Revision. Record the revision with the source event in your integration logs.
Implement idempotency and ordering
Idempotency-Keyis optional but strongly recommended for every logical snapshot.- A key contains 8–180 characters and is retained for 24 hours.
- Retrying the same key with the same raw body returns the original response.
- Reusing the key with a different raw body returns HTTP 409
IDEMPOTENCY_KEY_REUSED. - When
source.sequenceis present, it must be greater than the last accepted sequence. - An equal or lower sequence returns HTTP 409
STALE_SOURCE_SEQUENCE.
Request limits
- Maximum body size: 1 MiB.
- Default rate limit: 120 Push attempts per Widget in a rolling one-minute window.
Content-Typemust includeapplication/json.- Schedule and Event arrays accept up to 500 items.
- Announcement arrays accept up to 200 items.
- Transport arrays accept up to 1,000 items.
Handle errors
Do not retry schema, authentication, or conflict errors blindly. Retry HTTP 429 and transient server failures with exponential backoff, preserving the Idempotency Key and body for the same logical snapshot.
Validate the integration
- Send the first snapshot and require
accepted: true. - Record its
dataRevision. - Confirm the Player changes after the configured Widget refresh interval.
- Retry the identical request and confirm the revision does not increase.
- Send a new body with a new Idempotency Key and higher sequence.
- Confirm the Widget changes without republishing the Design.
- Test invalid schema, stale sequence, expired key, rate limit, and temporary network failure behavior.
Important notes
- This endpoint is not a general API for editing Designs, Playlists, Screens, or Publications.
- The Push API changes the Widget’s semantic data, not its layout or visual style.
- Legacy Widget integration dialogs can use a different endpoint and body. Use the request generated by that Widget’s Studio dialog.
- Keep Static JSON valid so the Player has a safe fallback before the first accepted dynamic snapshot.

