Search the health-system brand catalog (public)
Public, unauthenticated search over the CuraeAI health-system brand catalog — the discovery surface a consumer uses to build an institution picker before any data is linked. The catalog contains only non-PHI metadata (brand name, EHR platform type, FHIR base URL, city/state, and a logo reference), so no API key is required; the authorization boundary is the SDK connection, not catalog discovery. Results are deduplicated by FHIR system identity and CDN-cached at the edge.
/api/sdk/v1/catalog/brandsPublic, unauthenticated search over the CuraeAI health-system brand catalog — the discovery surface a consumer uses to build an institution picker before any data is linked. The catalog contains only non-PHI metadata (brand name, EHR platform type, FHIR base URL, city/state, and a logo reference), so no API key is required; the authorization boundary is the SDK connection, not catalog discovery. Results are deduplicated by FHIR system identity and CDN-cached at the edge.
Query Parameters
Multi-word search query matched against brand name, aliases, city, and state. Queries shorter than 2 characters return an empty result set.
Optional filter to a single EHR platform (e.g. EPIC).
Maximum number of brands to return (1..100, default 25).
Response Body
application/json
application/problem+json
curl -X GET "https://example.com/api/sdk/v1/catalog/brands?q=string"{ "brands": [ { "id": "string", "name": "string", "platformType": "string", "fhirBaseUrl": "http://example.com", "city": "string", "state": "string", "portalUrl": "http://example.com", "logoUrl": "string" } ], "count": 0}{ "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string", "code": "string", "details": {}, "retryable": true}Resolve the lifecycle state of an SDK app-user coordinate (read-only) GET
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 a single catalog brand by id (public) GET
Public, unauthenticated lookup of one catalog brand by its opaque `brandId` (as returned by the catalog search). Non-PHI metadata; CDN-cached. An unknown or malformed id returns 404 problem details.