Skip to content
OAOpenAppPhysical Security as a Service
Login

Status

The Status OpenAPI tag exposes a single probe: get_backend_status (GET /status). The JSON body matches BackendStatus (environment, version) — see schemas in the API reference.

The published security requirement list for this path is empty (no bearer_auth); callers may still issue the request through SDK clients that attach your API key by default.

ConcernHTTPoperationIdResponse
Backend infoGET /statusget_backend_statusBackendStatus
CapabilityPythonRust (openapp_sdk)GoTypeScript (AsyncClient)
Get statusclient.status.get()client.status().get()StatusAPI.GetBackendStatusgetBackendStatus

Transient 5xx responses and connection failures follow the same Errors & retries behavior as other reads. A 502 with a non-JSON body is surfaced as a transport-style failure on core-backed SDKs.

status.get performs GET /status and returns a dict shaped like BackendStatus.

status = await client.status.get()
assert "version" in status

GET /status is a cheap, anonymous-allowed probe — useful as a startup gate before issuing real API calls in a long-running worker, or as a liveness check from infrastructure. Wrap it in a bounded retry loop and treat any 2xx as “the service is responding,” without inspecting the body. Pair this with Errors & retries for the broader retry policy on first-class operations.

import asyncio
async def wait_for_backend(client, timeout_s: float = 30.0) -> dict:
deadline = asyncio.get_event_loop().time() + timeout_s
while True:
try:
return await client.status.get()
except Exception:
if asyncio.get_event_loop().time() >= deadline:
raise
await asyncio.sleep(1.0)
await wait_for_backend(client)

Because security is empty for get_backend_status, you can call GET /status without an API key — useful when you want to verify the gateway is up before configuring credentials, or surface the running version in a deployment dashboard. The body shape is { "environment": string, "version": string } (Cargo package.version for the backend); compare it against the version you expect when pinning a particular release in CI.

import httpx
async with httpx.AsyncClient(base_url="https://api.openapp.house") as http:
resp = await http.get("/status")
resp.raise_for_status()
info = resp.json()
assert info["version"].startswith("0."), f"unexpected version: {info['version']}"