> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# User

> Authenticated user profile.

`User` is the authenticated user's profile as returned by the SignalWire
fabric. A single instance is created and populated automatically when a
[`SignalWire`](/docs/browser-sdk/v4/reference/signalwire) client connects and
the SAT is validated; applications retrieve it via
[`client.user$`](/docs/browser-sdk/v4/reference/signalwire/user\$).

The class exposes the user's identity (`id`, `email`, `displayName`,
name fields), organizational metadata (`companyName`, `country`, `region`,
`timeZone`, `jobTitle`), and the fabric `addresses` available for dialing.
`appSettings` carries the display name advertised to other participants and
the OAuth-style scopes granted to the current session; `satClaims` exposes
any extended capability claims encoded in the token (e.g. a `refresh` scope).
`pushNotificationKey` is used by mobile and web-push integrations to register
the user for inbound-call notifications.

`User` extends `Fetchable` — meaning the profile is populated lazily and
[`fetched$`](#fetched\$) emits `true` once the initial fetch completes. There
are no mutating methods on this class: the profile is read-only from the
SDK's perspective.

## **Extends**

* `Fetchable<GetUserInfoResponse>`

## **Constructors**

### Constructor

```ts
new User(http): User
```

#### Parameters

HTTP request controller used for REST calls.

#### Returns

`User`

## **Properties**

Fabric addresses associated with this user.

Application-level settings (display name, permission scopes).

Display name advertised to other participants.

OAuth-style scopes granted to this session.

Company name.

Country code.

Display name shown to other participants.

User email address.

First name.

Unique user identifier.

Job title.

Last name.

Push notification key for mobile/web push.

Region/state.

Filtered SAT claims when the token has special capabilities (e.g., refresh scope). See [`SATClaims`](/docs/browser-sdk/v4/reference/interfaces/sat-claims).

Time zone offset.

Observable that emits `true` once the user profile has been fetched.

Origin path or URI captured at construction time, used for routing inbound calls.

## **Accessors**

Observable that emits when the instance is destroyed

## **Methods**

Cleans up subscriptions and subjects owned by this instance.