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 and POST /eula/accept both require a valid browser session or bearer context at the HTTP edge (Kratos cookie_session or local JWT). They are used during onboarding after sign-in, before the user is provisioned. POST /eula/accept relies on X-User-Email / X-User-Phone from the Oathkeeper session (same pattern as other auth-browser routes — see Auth (browser session)).

ConcernHTTPoperationIdNotes
Read agreementGET /eulaget_eulaRequires bearer_auth (browser session or JWT).
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

GET /eula and POST /eula/accept return 401 without a valid browser session / bearer context. POST /eula/accept also returns 400 for invalid bodies. 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)