API reference

Application storage API

Runtime application K/V

HTTP reference. Generated from the backend contract. Browse endpoints below or download OpenAPI.

This group has 4 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.

Runtime application K/V

GET/screen/apps/{application_id}/kv

List Runtime KV

Returns at most 200 entries in ascending key order and does not page; a namespace with more keys is only partly listed. Lists metadata for an application the screen's current content holds.

Runtime KV is authorized by the Player's runtime session (kv.read, and kv.write for writes) and the screen's current grant, which must hold a ready release of the application; a ScreenRig-Primitive-Capability header is ignored. Uploaded frames never call these routes and must use the validated parent SDK bridge.

Authentication
runtimeCookie OR nativeSessionAuthorization
Request body
none
Operation ID
listRuntimeKV

Parameters

NameSend inRequired?Description
application_idpathrequired
Request template and responses
shell · request template
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/apps/APPLICATION_ID/kv'

Responses

StatusMeaningBody and headers
200Manifest-authorized application KVRuntimeKVList (application/json)
default

Stable RFC 9457 problem response on a Player-facing runtime, content, or probe route, in the runtime document shape (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
GET/screen/apps/{application_id}/kv/{key}

Get Runtime KV

Authentication
runtimeCookie OR nativeSessionAuthorization
Request body
none
Operation ID
getRuntimeKV

Parameters

NameSend inRequired?Description
application_idpathrequired
keypathrequired
Request template and responses
shell · request template
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/apps/APPLICATION_ID/kv/KEY'

Responses

StatusMeaningBody and headers
200Manifest-authorized application KV valueRuntimeKVEntry (application/json)
default

Stable RFC 9457 problem response on a Player-facing runtime, content, or probe route, in the runtime document shape (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
PUT/screen/apps/{application_id}/kv/{key}

Put Runtime KV

Authentication
pairedRuntimeCookie OR nativeSessionAuthorization
Request body
RuntimeKVWrite
Operation ID
putRuntimeKV

Parameters

NameSend inRequired?Description
application_idpathrequired
keypathrequired
If-MatchheaderoptionalOptional positive resource revision. Omit to create or overwrite a key; a supplied stale revision is revision_conflict.
Idempotency-KeyheaderoptionalOmit for a fresh operation. Supply and reuse a key to deduplicate retries; the CLI manages keys automatically.

Request body fields

FieldDescription
value_base64 (required, string)maxLength: 1398104
content_type (optional, string)default: "application/octet-stream" minLength: 1 maxLength: 127
Request template and responses
shell · request template
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/apps/APPLICATION_ID/kv/KEY'

Responses

StatusMeaningBody and headers
200Paired-device KV mutationRuntimeKVEntry (application/json); headers: RateLimit-Policy, RateLimit
default

Stable RFC 9457 problem response on a Player-facing runtime, content, or probe route, in the runtime document shape (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
DELETE/screen/apps/{application_id}/kv/{key}

Delete Runtime KV

Authentication
pairedRuntimeCookie OR nativeSessionAuthorization
Request body
none
Operation ID
deleteRuntimeKV

Parameters

NameSend inRequired?Description
application_idpathrequired
keypathrequired
If-MatchheaderoptionalOptional positive resource revision. Omit to write the current resource; a supplied stale revision is revision_conflict.
Idempotency-KeyheaderoptionalOmit for a fresh operation. Supply and reuse a key to deduplicate retries; the CLI manages keys automatically.
Request template and responses
shell · request template
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/apps/APPLICATION_ID/kv/KEY'

Responses

StatusMeaningBody and headers
204Paired-device KV deletionno body; headers: RateLimit-Policy, RateLimit
default

Stable RFC 9457 problem response on a Player-facing runtime, content, or probe route, in the runtime document shape (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)