Lightweight operational health endpoint for uptime checks and deployment verification.
Runtime API
Public client traffic stays constrained and explicit.
Persistly’s public runtime surface is intentionally small: create, load, and sync around known save IDs. Trusted lookup flows are separate.
Endpoints
The public runtime contract is intentionally small.
Create a save record and receive the canonical save payload immediately.
Load the canonical current save for a known save ID.
Submit state + metadata with a baseVersion and receive accepted or conflict semantics.
Exact Examples
Use operation-specific example pages when you need copy-pasteable request and response shapes.
These pages exist so developers and coding agents can implement one operation at a time without inferring missing fields or statuses.
Exact POST request and 201 response with a Bearer runtime key.
Exact GET request by saveId and the canonical save envelope response.
Exact POST sync request with baseVersion and the accepted response shape.
Exact conflict response body so SDKs and agents can recover intentionally.
Shared error envelope with HTTP status, code, message, and optional details.
Auth Boundary
The public runtime is intentionally smaller than the operator/admin surface.
The API is permanent and public-facing for SDK traffic, but that does not mean every operation belongs in the public client path.
Runtime keys identify the environment for SDK traffic. They are not privileged admin credentials.
Clients should never use runtime keys to discover arbitrary player saves by externalUserId.
Trusted lookup and admin actions belong to the dashboard or future server-side operator flows.
Operational Limits
Payload caps and auth rules are part of the contract, not just suggestions.
Errors
Clients should treat HTTP status and error code as one contract.
The request body, parameters, or payload shape is invalid for the runtime contract.
The runtime key is missing, malformed, revoked, or does not belong to the target environment.
The referenced saveId does not exist in the environment identified by the runtime key.
The submitted baseVersion is stale. Persistly returns the canonical current save so the client can reconcile.
The metadata or state payload exceeds Persistly's documented byte limits.
The client exceeded allowed request volume for the current environment or plan.
Persistly failed internally and the operation result should be treated as unknown.