---
title: "Update the current user's profile"
method: PUT
path: "/api/v1/users/{user}/profile"
---

# Update the current user's profile

`PUT /api/v1/users/{user}/profile`

Updates one or more profile fields for the authenticated user. All
fields are optional; omit any you do not want to change.

When `profile_picture` is supplied, the image is uploaded and replaces
the existing picture. The previous picture is deleted after the new one
is stored. Image upload failures return 422 without modifying other
profile fields.

## Path parameters

- `user` string, required

## Request body

- object
  - `alias` string — Short display alias shown in place of the full name in compact UI contexts.
  - `full_name` string — Updated display name for the user.
  - `metadata` object — Arbitrary key-value metadata to associate with the user. Existing keys are merged; pass `null` for a key to remove it.
  - `profile_picture` object — New profile picture to upload as a base64-encoded image. Replaces any existing picture.
    - `data` string — Base64-encoded binary content of the image file.
    - `filename` string — Original filename of the image, used for storage metadata.
    - `mime_type` string — MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`.

## Response `200`

Successful response

- User — A platform user account. Represents a human or system actor that can own threads, belong to an organization, and interact with the API.
  - `alias` string — Short handle or alias for the user. `null` if not set.
  - `app` string — ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app.
  - `app_name` string — Display name of the user's app. `null` when the app association was not preloaded by the caller.
  - `email` string — Email address of the user.
  - `id` string, required — User ID (`usr_...`).
  - `is_system_user` boolean — `true` if this account is an internal system user rather than a human. System users are created automatically by the platform.
  - `metadata` object — Arbitrary key-value metadata attached to the user. Defaults to an empty object.
  - `name` string — Full display name of the user. `null` if the user has not set a name.
  - `org` string — ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization.
  - `org_name` string — Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller.
  - `org_role` string — Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization.
  - `sandbox` string — ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users.
  - `sandbox_name` string — Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller.

## Other responses

- `401` — Unauthorized
- `422` — Validation error

---

[API](https://skmtc.net/archastro/apis/archastro-platform-api.md) · [All operations](https://skmtc.net/archastro/apis/archastro-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/archastro/archastro-platform-api/versions/a8772b442f86/schema)
