Skip to content
OAOpenAppPhysical Security as a Service
Login

EULA

The EULA tag covers reading the published agreement and accepting it during browser session self-signup flows. Shapes follow EulaResponse (content, version), AcceptEulaRequest (accepted), and AcceptEulaResponse (message, user_id, optional workspace_id) — see the API reference.

GET /eula is intentionally readable without authentication at the HTTP edge so clients can render terms before login. POST /eula/accept requires bearer_auth and is documented as relying on X-User-Email from the Oathkeeper cookie session (same pattern as other auth-browser routes — see Auth (browser session)).

ConcernHTTPoperationIdNotes
Read agreementGET /eulaget_eulaNo security in OpenAPI; anonymous GET at the edge.
Accept & provisionPOST /eula/acceptaccept_eulaBody AcceptEulaRequest with accepted: true. Session-email header expectations match browser auth flows.
CapabilityPythonRust (openapp_sdk)GoTypeScript (AsyncClient)
Get EULAclient.eula.get()client.eula().get()EULAAPI.GetEulaNot on façade yet
Accept EULAclient.eula.accept(accepted=True)client.eula().accept(...)EULAAPI.AcceptEulaNot on façade yet

POST /eula/accept returns 401 without a valid browser session / bearer context and 400 for invalid bodies. GET /eula follows normal read retry behavior — see Errors & retries.

text = await client.eula.get()
assert "version" in text

Use this only when your transport carries the browser session / bearer token expected by the gateway (see Authentication and Auth (browser session)).

out = await client.eula.accept(accepted=True)