---
title: "Update the current user"
url: https://docs.gleap.ai/en/reference/rest-api/put-users-userid
method: PUT
path: "/users/{userId}"
api: "API Reference"
tag: "User"
operationId: "Update"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Update the current user

`PUT https://api.gleap.io/v3/users/{userId}`

Update the authenticated user's own profile. The `{userId}` path segment is ignored; you can only ever update yourself. Sending an empty string for a field clears it; omitted fields are left untouched.

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Request body (`application/json`, required)

- `firstName` (string)
- `lastName` (string)
- `userRole` (string)
- `jobTitle` (string)
- `department` (string)
- `phone` (string)
- `calendarLink` (string)
- `socialLink` (string)
- `otherLink` (string)
- `knewGleapFrom` (string)
- `userUsage` (string)
- `profileImageUrl` (string)
- `completedOnboarding` (boolean)
- `available` (boolean)
- `unavailableProjects` (string[])
- `awayUntil` (string): "Away until" (ISO date, at most a year ahead); an empty string clears it.
- `sendOnEnter` (boolean): Inbox composer: Enter sends the reply, Shift+Enter adds a new line. Off by default (Ctrl/Cmd+Enter sends).
- `notificationPreferences` (any)
- `notificationSettings` (object): `notificationSettings` keys to change: merged into the stored ones, a key left out keeps its value.
  - `pushLevel` (enum<string>): When to push: `mine` (your conversations, mentions, hand-offs, agent asks, new conversations nobody picked up), `teams` (plus your teams' conversations), `everything`, `off`. One of: `mine`, `teams`, `everything`, `off`.
  - `quietHours` (object): Quiet hours: pushes go out inside these working hours only.
    - `enabled` (boolean, required)
    - `days` (number<double>[], required): 0 = Sunday … 6 = Saturday.
    - `start` (string, required): 'HH:mm'
    - `end` (string, required): 'HH:mm'
    - `timezone` (string, required): IANA time zone, e.g. 'Europe/Vienna'.
  - `missedEmail` (boolean): One email with what waited on you while you were away.
  - `mentionEmail` (boolean): One email for every @mention, sent right away, also while you are in Gleap.
  - `sendEmailOnlyWhenOffline` (boolean): No longer read since the push rework (2026-10-30); accepted so older clients still save.
  - `directlySendNotifications` (boolean)
  - `preventNotificationsWhereICreator` (boolean)
  - `agentNotifyLevel` (enum<string>): No longer read: the agent level follows `pushLevel` (off → off, everything → all, else needed). One of: `needed`, `all`, `off`.

## Example request

```bash
curl --request PUT \
  --url 'https://api.gleap.io/v3/users/{userId}' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "firstName": "<firstName>",
  "lastName": "<lastName>",
  "userRole": "<userRole>",
  "jobTitle": "<jobTitle>"
}'
```

## Responses

### 200 (`application/json`)

Ok
