Canonical page: https://docs.singlebase.io/user

# Current User

`user.*` operations act on the account in the bearer token. A payload cannot select another user.

## user.get

```json
{
  "operation": "user.get",
  "payload": {}
}
```

**Response:**
```json
{
  "data": {
    "id": "user_123",
    "email": "jane@example.com",
    "username": null,
    "phone": null,
    "first_name": "Jane",
    "last_name": "Doe",
    "profile_photo": null,
    "status": "active",
    "requires_password_change": false,
    "email_verified_at": "2026-10-03T12:00:00+00:00",
    "phone_verified_at": null,
    "created_at": "2026-10-01T09:30:00+00:00",
    "modified_at": "2026-10-03T12:00:00+00:00",
    "timezone": "America/New_York",
    "locale": "en-US",
    "metadata": { "plan": "free" },
    "aud": "web",
    "roles": ["user"]
  }
}
```

## user.update

```json
{
  "operation": "user.update",
  "payload": {
    "first_name": "Jane",
    "timezone": "America/New_York",
    "locale": "en-US",
    "metadata": { "theme": "dark" }
  }
}
```

**Updatable fields:** `first_name` (alias `name`), `last_name` (alias `surname`), `phone` (alias `phone_number`), `profile_photo` (alias `photo_url`), `timezone`, `locale`, and `metadata`.

Send at least one field. Null values are ignored. Returns the updated profile.

To change email, username, or password, use [codes](/auth.md#one-time-codes) or [`auth.change_password`](/auth.md#auth-change-password). To set a profile photo from an upload, see [Files](/files.md#profile-photos).

## Next Steps

- [Authentication](/auth.md): signup, signin, credentials, and session tokens.
- [Users administration](/users.md): manage any project user from server code.
