Skip to content
OpenAppPhysical access, fully managed
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 authentication at the HTTP edge: an API key in X-API-Key, a Kratos browser session (ory_kratos_session cookie), or a 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_eulaDeclares api_key in OpenAPI; a browser session or JWT is accepted too.
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 an API key, browser session or JWT. 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)