---
title: "Profile"
method: POST
path: "daily.data.profile.*"
tags: ["summary"]
---

# Profile

`POST daily.data.profile.*` (webhook)

## Payload

- ClientFacingProfileChanged
  - `event_type` 'daily.data.profile.created' | 'daily.data.profile.updated', required
  - `user_id` string, uuid, required
  - `client_user_id` string, uuid, required
  - `team_id` string, uuid, required
  - `data` ClientFacingProfile, required
    - `id` string, uuid, required
    - `user_id` string, uuid, required — User id returned by vital create user request. This id should be stored in your database against the user and used for all interactions with the vital api.
    - `height` integer, nullable
    - `birth_date` string, date, nullable
    - `wheelchair_use` true, nullable
    - `gender` 'female' | 'male' | 'other' | 'unknown' — ℹ️ This enum is non-exhaustive.
    - `sex` 'female' | 'male' | 'other' — ℹ️ This enum is non-exhaustive.
    - `source` ClientFacingSource, required — Source summarizes where a sample or a summary is sourced from. At minimum, the source provider is always included.
      - `provider` string, required — Provider slug. e.g., `oura`, `fitbit`, `garmin`.
      - `type` string — The type of the data source (app or device) by which the summary or the timeseries data were recorded. This defaults to `unknown` when Vital cannot extract or infer that information
      - `app_id` string, nullable — The identifier of the app which recorded this summary. This is only applicable to multi-source providers like Apple Health and Android Health Connect.
      - `device_id` string, uuid, nullable — The identifier of the device which recorded this summary.
      - `sport` string, nullable — For workout stream timeseries, this is the standard sport slug of the workout with which the timeseries data are associated. For the `distance` timeseries, this is `wheelchair_pushing` if the user is a wheelchair user, or `null` otherwise. For all summary types and non-workout timeseries, this is always `null`.
      - `workout_id` string, uuid, nullable — For workout stream timeseries, this is the workout ID with which the timeseries data are associated. For all other types, this is always `null`.
      - `name` string — Deprecated. Subject to removal after 1 Jan 2024.
      - `slug` string — Deprecated. Use `provider` instead. Subject to removal after 1 Jan 2024.
      - `logo` string — Deprecated. Subject to removal after 1 Jan 2024.
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Acknowledgement `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/tryvital/apis/junction-api.md) · [All operations](https://skmtc.net/tryvital/apis/junction-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryvital/junction-api/revisions/1a22b97afb3a/schema)
