---
title: "Update Profile"
method: PATCH
path: "/api/auth/profile"
---

# Update Profile

`PATCH /api/auth/profile`

Update the caller's researcher profile.

This used to write ONLY `name` while accepting the whole ProfileIn — so
omicOS-ui's ProfileModal, which PATCHes the full form, silently lost
institution / research_area / usage_purpose on every save. Worse, it then
reported success and merged the form into its local copy, so the edit
looked applied until the next login reloaded the untouched row from the
server. The fields have been in the payload model since the profile form
shipped; only the UPDATE was missing.

Semantics: a field is written only when the client SENDS it non-empty.
ProfileIn defaults every field to "", and PATCH is a partial update, so a
caller that omits a field (omicos-server-ui sends name only) must not have
it blanked. Clearing a field is therefore not expressible here — no client
offers it, and silently wiping data on a partial payload is the worse
failure. `title` additionally goes through the closed vocabulary.

## Headers

- `authorization` string, nullable

## Request body

- ProfileIn
  - `name` string
  - `display_name` string
  - `full_name` string
  - `institution` string
  - `research_area` string
  - `usage_purpose` string
  - `title` string

## Response `200`

Successful Response

- object

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/omicos/apis/omicos-server.md) · [All operations](https://skmtc.dev/omicos/apis/omicos-server/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/omicos/omicos-server/revisions/a00b94573ffe/schema)
