CuraeAI Developers
API referenceSDK Curae Connect

Resolve the lifecycle state of an SDK app-user coordinate (read-only)

Read-only probe used by the SDK's `<CuraeAIAccountProvider>` to decide which onboarding / lifecycle UI to render for the current user. Resolves `(customerAccountId, appUserId)` to one of `UNLINKED`, `LIMITED`, `ACTIVE`, or `TOMBSTONED` without minting a `CuraeConnectSession` row, provisioning a LIMITED user, emitting any outbox event, or counting against the per-coordinate `/initiate` rate-limit bucket. Supports RFC 7232 conditional GET — pass the previously-received ETag in `If-None-Match` to receive a `304 Not Modified` when the state has not moved. Designed for high-frequency polling (every page mount, every browser tab visibility-change).

GET/api/sdk/v1/curae-connect/account-state

Read-only probe used by the SDK's <CuraeAIAccountProvider> to decide which onboarding / lifecycle UI to render for the current user. Resolves (customerAccountId, appUserId) to one of UNLINKED, LIMITED, ACTIVE, or TOMBSTONED without minting a CuraeConnectSession row, provisioning a LIMITED user, emitting any outbox event, or counting against the per-coordinate /initiate rate-limit bucket. Supports RFC 7232 conditional GET — pass the previously-received ETag in If-None-Match to receive a 304 Not Modified when the state has not moved. Designed for high-frequency polling (every page mount, every browser tab visibility-change).

Authorization

platformApiKey
AuthorizationBearer <token>

CuraeAI Platform API key using the format Bearer . Keys are opaque credentials such as cae_live_..., not JWTs.

In: header

Query Parameters

appUserId*string

Opaque SDK user id. Must be canonical: no leading or trailing whitespace and no control characters.

Header Parameters

If-None-Match?string

Strong ETag list (RFC 7232 §3.2). When any candidate matches the current account-state ETag, the response is 304 Not Modified with the same ETag header and no body.

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/api/sdk/v1/curae-connect/account-state?appUserId=string"
{  "lifecycleState": "UNLINKED",  "subjectUserId": "296d2d93-03fc-4d0e-b7e7-4f7600664125"}
Empty
{  "type": "string",  "title": "string",  "status": 0,  "detail": "string",  "instance": "string",  "code": "string",  "details": {},  "retryable": true}