> ## Documentation Index
> Fetch the complete documentation index at: https://docs.glider.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# tRPC v2 Operating Preference Profiles API

> Read and confirm the webapp-v2 Operating Preferences personalization profile

The `v2.operatingPreferenceProfiles.*` namespace stores the confirmed default
personalization profile created by `/onboarding-v2`. It is a product personalization seed, not a
financial compliance, suitability, or account-opening profile.

* Base endpoint: `POST /v1/trpc`
* Namespace: `v2.operatingPreferenceProfiles.*`
* Auth: wallet session or API key
* Rollout: UI entrypoint gated behind `webapp_v2_operating_preferences_onboarding`

## Procedures

### `v2.operatingPreferenceProfiles.getProfile`

Returns the current caller's confirmed Operating Preferences profile, or `null` when no
profile has been saved yet. Admin callers may pass `userId` to read another
user's profile.

### `v2.operatingPreferenceProfiles.confirmProfile`

Persists a validated `operating_preference_profile.v1` payload for the current caller.
The profile `userId` must match the authenticated user unless the caller is an
admin. The write records `confirmedAt` and stores the profile, field source
metadata, AI summary state, and completion level.

## Runtime Notes

The live onboarding draft is held by the Cloudflare `OnboardingAgent` Durable
Object. This API only persists the final confirmed profile into `db-v2`.
