---
title: "Update the caller enthusiast-profile fields (e.g. directory opt-in)"
method: PATCH
path: "/v1/users/me/profile"
tags: ["Users Me"]
---

# Update the caller enthusiast-profile fields (e.g. directory opt-in)

`PATCH /v1/users/me/profile`

## Request body

- UserMeUpdateProfileBodyDto
  - `publicProfile` boolean — Opt the caller into (or out of) the public enthusiast directory.
  - `avatarKey` string, nullable — S3 key of an uploaded user-avatar asset (set), `null` to clear, or omit to leave unchanged.

## Response `200`

- UserMeDto
  - `id` string, uuid, required
  - `workosUserId` string, required
  - `email` string, required
  - `firstName` string, nullable, required
  - `lastName` string, nullable, required
  - `bio` string, nullable, required
  - `githubUserId` string, nullable, required
  - `githubUsername` string, nullable, required
  - `personalVxp` number, required
  - `isEnthusiast` boolean, required
  - `publicProfile` boolean, required
  - `avatarUrl` string, nullable, required

## Other responses

- `400` — Validation failed
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `409` — Conflict
- `500` — Internal server error

---

[API](https://skmtc.net/vendure/apis/vendure-io-api-public.md) · [All operations](https://skmtc.net/vendure/apis/vendure-io-api-public/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vendure/vendure-io-api-public/revisions/5fc4757128af/schema)
