---
title: "Update User Profile"
method: PUT
path: "/users/{userId}"
tags: ["Users"]
---

# Update User Profile

`PUT /users/{userId}`

Update specific fields of an existing user profile without changing everything.

The `userId` in the URL path should be your `externalUserId`. Only the fields you include in your request will be updated—everything else stays the same. Perfect for targeted updates like changing an email address or adding new properties.

Prefer a simpler approach? Use `POST /users` instead—it automatically creates or updates the user, so you don't need to know if they exist yet.

Optionally associate the user with an organization by providing an `externalOrganizationId`. If the organization doesn't exist yet, we'll create it automatically.

## Path parameters

- `userId` string, required — Your external user ID (the externalUserId used when creating the user)

## Request body

- UpdateUserRequest — Request payload for updating an existing user profile.
  - `organizationId` string, uuid — The Greenflash organization ID that the user belongs to.
  - `externalOrganizationId` string — Your unique identifier for the organization this user belongs to. If provided, the user will be associated with this organization.
  - `name` string — The user's full name.
  - `email` string, email — The user's email address.
  - `phone` string — The user's phone number.
  - `anonymized` boolean — Whether to anonymize the user's personal information.
  - `properties` object — Additional data about the user (e.g., plan type, preferences).

## Response `200`

User profile updated successfully

- UpdateUserResponse — Success response for user update.
  - `success` boolean, required — Whether the API call was successful.
  - `participant` Participant, required — The user profile.
    - `id` string, required — The Greenflash participant ID.
    - `externalId` string, required — Your external user ID (matches the externalUserId from the request).
    - `organizationId` string, uuid, nullable, required — The internal organization ID that the user belongs to.
    - `externalOrganizationId` string, nullable, required — Your external identifier for the user's organization.
    - `name` string — The participant's full name.
    - `email` string — The participant's email address.
    - `phone` string — The participant's phone number.
    - `anonymized` boolean, required — Whether the participant's personal information is anonymized.
    - `properties` object, required — Additional data about the participant.
    - `createdAt` string, date-time — When the participant was first created.
    - `updatedAt` string, date-time — When the participant was last updated.

## Other responses

- `404` — User not found
- `500` — Server error

## Changes

- **2025-11-24** `c1998d918478` — 2 breaking, 1 warning, 6 info
  - removed the required property `participant/metadata` from the response with the `200` status
  - removed the required property `participant/tenantId` from the response with the `200` status
  - removed the request property `metadata`
  - api tag `Users` added
  - …5 more
- **2025-10-09** `48adb6bfe01d` — 2 breaking
  - the `participant/createdAt` response's property type/format changed from `string`/`date` to `string`/`date-time` for status `200`
  - the `participant/updatedAt` response's property type/format changed from `string`/`date` to `string`/`date-time` for status `200`
- **2025-10-09** `e2ce5771d0c3` — 2 breaking
  - the response property `participant/createdAt` became optional for the status `200`
  - the response property `participant/updatedAt` became optional for the status `200`
- **2025-10-06** `8ac2a6f673ac` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/greenflash-ai/apis/greenflash-api-reference/changes/users/:userId/put.md)

---

[API](https://skmtc.dev/greenflash-ai/apis/greenflash-api-reference.md) · [All operations](https://skmtc.dev/greenflash-ai/apis/greenflash-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/greenflash-ai/greenflash-api-reference/revisions/c566e560677d/schema)
