---
title: "Update My Profile"
method: PATCH
path: "/api/v1/users/me/profile"
tags: ["users"]
---

# Update My Profile

`PATCH /api/v1/users/me/profile`

## Request

- Base URL: `https://api.aws.cognee.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.aws.cognee.ai/api/v1/users/me/profile`
- Auth: API key in header `X-Api-Key`

## Request body

- ProfileUpdateInDTO: A partial update: a field that is sent is set, null clears it, and a field that is not sent stays as it is. Only the two names and the surface that sent them. The surface is provenance the first-party client states about its own write (constrained to a Literal, like the consent sources), not something the server can verify. The time of the change is stamped server-side, and InDTO ignores a key it does not know, so a client cannot reach it, or the stored source columns, by naming them.
  - `firstName` string, nullable
  - `lastName` string, nullable
  - `source` 'onboarding' | 'settings'

## Response `200`

Successful Response

- UserMeDTO
  - `id` string, uuid, required
  - `email` string, required
  - `is_active` boolean, required
  - `is_superuser` boolean, required
  - `is_verified` boolean, required
  - `tenant_id` string, uuid, nullable, required
  - `parent_user_id` string, uuid, nullable, required
  - `profile` UserProfileDTO, required: The personal fields a user edits about themselves (CLO-456). Its own object rather than more fields on UserMeDTO, so the next personal field is added here instead of widening the response every screen reads. Both names are null until the user sets them in settings, which is every account that existed before names were stored.
    - `firstName` string, nullable, required
    - `lastName` string, nullable, required
  - `isSeenWelcome` boolean, required
  - `onboardingCompletedAt` string, date-time, nullable, required
  - `activeWorkspaceId` string, uuid, nullable, required
  - `pendingFeatureAnnouncements` string[], required
  - `accountCreatedAt` string, date-time, nullable, required
  - `marketingOptIn` boolean, required
  - `marketingConsentAnswered` boolean, required
  - `sessionRecordingOptIn` boolean, required
  - `sessionRecordingConsentAnswered` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/cognee/apis/cognee-api.md) - [All operations](https://skmtc.dev/cognee/apis/cognee-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cognee/apis/cognee-api/revisions/a7b6c6cb8212?raw)
