---
title: "User information"
method: GET
path: "/user_info/"
tags: ["esper_cloud_api_User"]
---

# User information

`GET /user_info/`

Retrieves the profile and account details of the authenticated user associated with the current API key.

Use this endpoint to confirm which user identity is bound to your API credentials — useful for debugging access issues, verifying role assignments, or bootstrapping workflows that need to know the acting user's context before proceeding.

**About Get User Info** 

Every Esper API key is tied to a specific user account within a tenant. This endpoint surfaces that user's full profile, including their role, group memberships, EMM linkage, and account status. It requires no path parameters — the response is scoped entirely to the authenticated caller. This is the canonical way to confirm "who am I?" in the Esper API context.

**Key Fields**

username — the login identifier for this user

profile.role — the user's assigned role (e.g., Enterprise Admin, Viewer, Group Admin)

profile.enterprise — the enterprise UUID this user belongs to

emm — linked EMM account details, if applicable

is_active — whether this user account is currently enabled

last_login — timestamp of the most recent authenticated session

**Common Use Cases**

Confirming which user identity is in use before executing sensitive operations

Retrieving the caller's enterprise ID for use in subsequent API calls

Auditing role assignments for an API key owner

**Best Practices**

Call this endpoint at the start of integrations to validate API key identity and capture the enterprise ID, rather than hardcoding it

Check is_active to ensure the account hasn't been deactivated before proceeding with bulk operations

Use profile.role to conditionally adapt your integration's behavior based on permission level

**Workflow**

Authenticate with your API key

Call GET /user_info/ to retrieve the caller's identity, enterprise ID, and role

Store profile.enterprise for use as enterprise_id in downstream API calls

## Response `200`

User Info

- EsperCloudApiUser
  - `id` integer
  - `username` string
  - `email` string, email
  - `first_name` string
  - `last_name` string
  - `full_name` string
  - `is_staff` boolean
  - `is_superuser` boolean
  - `is_active` boolean
  - `profile` EsperCloudApiUserProfile
    - `id` integer
    - `enterprise_user_id` string
    - `authn_user_id` string, uuid
    - `authn_connection_id` string, uuid
    - `authz_role_id` string, uuid
    - `role` 'Shoonya Admin' | 'Enterprise Admin' | 'Enterprise User' | 'Viewer' | 'Group Admin' | 'Group Viewer'
    - `enterprise` string, uuid
    - `is_customer` boolean
    - `is_endpoint_creator` boolean
    - `created_on` string, date-time
    - `updated_on` string, date-time
    - `setup_wizard_complete` boolean
    - `default_password_changed` boolean
    - `is_developer` boolean
    - `can_factory_reset` boolean
    - `groups` EsperCloudApiGroup[]
      - `id` string, uuid
      - `name` string
      - `path` string
      - `device_count` integer
  - `emm` EsperCloudApiEMM
    - `id` integer
    - `user` integer
    - `account_identifier` string
    - `account_type` string
    - `display_name` string
    - `google_user_id` string
    - `google_enterprise` integer
    - `is_active` boolean
    - `created_on` string, date-time
    - `updated_on` string, date-time
    - `authentication_token` EsperCloudApiAuthenticationToken
      - `id` integer
      - `token` string
      - `is_active` boolean
      - `updated_on` string, date-time
  - `last_login` string
  - `token` string
  - `has_emm` boolean
  - `is_email_verified` boolean

## Other responses

- `401` — Authorization information is missing or invalid
- `500` — Internal server error

---

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