{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/vital-io/main/json-schema/vital-user-schema.json", "title": "VitalUser", "description": "An end user on the Junction (Vital) platform. Each user represents a person whose wearable, device, and lab data is ingested under your team. Identified by a Junction-issued user_id (UUID) and an optional client_user_id (your own opaque identifier).", "type": "object", "required": ["user_id", "client_user_id", "team_id"], "properties": { "user_id": { "type": "string", "format": "uuid", "description": "Junction-assigned unique identifier for the user." }, "client_user_id": { "type": "string", "description": "Your application's opaque identifier for the user. Must be unique within the team." }, "team_id": { "type": "string", "format": "uuid", "description": "Identifier of the team that owns this user." }, "created_on": { "type": "string", "format": "date-time", "description": "ISO-8601 timestamp of when the user was created." }, "fallback_time_zone": { "type": ["string", "null"], "description": "IANA time zone applied when device-reported time zone is unavailable (e.g., America/New_York)." }, "fallback_birth_date": { "type": ["string", "null"], "format": "date", "description": "Fallback birth date used for age-dependent calculations." }, "connected_sources": { "type": "array", "description": "Providers the user has connected (Fitbit, Garmin, Oura, etc.).", "items": { "type": "object", "properties": { "provider": {"type": "string"}, "created_on": {"type": "string", "format": "date-time"}, "status": {"type": "string", "enum": ["connected", "error", "paused", "disconnected"]} } } } } }