---
title: "Get user"
method: GET
path: "/api/users/{userId}"
tags: ["User"]
---

# Get user

`GET /api/users/{userId}`

## Request

- Base URL: `https://studio.edgeimpulse.com/v1`
- URL: `https://studio.edgeimpulse.com/v1/api/users/{userId}`
- Auth: one of:
  - API key in header `x-api-key`
  - API key in cookie `jwt`
  - API key in header `x-jwt-token`
  - OAuth 2
    - Authorization code: `/v1/oauth/authorize`
    - Client credentials
    - Implicit: `/v1/oauth/authorize`
    - Password
    - Token URL: `/v1/oauth/token`
- TypeScript: <https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/docs/api/users/:userId/get.ts> (a function with typed inputs; its response is checked against the schema)

Get information about a user. This function is only available through a JWT token.

## Path parameters

- `userId` integer, required

## Response `200`

OK

- GetUserResponse
  - `success` boolean, required: Whether the operation succeeded
  - `error` string: Optional error description (set if 'success' was false)
  - `id` integer, required
  - `username` string, required
  - `name` string, required
  - `email` string, required
  - `photo` string
  - `created` string, date-time, required
  - `lastSeen` string, date-time
  - `staffInfo` StaffInfo, required
    - `isStaff` boolean, required
    - `hasSudoRights` boolean, required
    - `companyName` string
  - `pending` boolean, required
  - `jobTitle` string
  - `permissions` Permission[]: List of permissions the user has
  - `companyName` string
  - `activated` boolean, required: Whether the user has activated their account or not.
  - `mfaConfigured` boolean, required: Whether the user has configured multi-factor authentication
  - `stripeCustomerId` string: Stripe customer ID, if any.
  - `hasPendingPayments` boolean: Whether the user has pending payments.
  - `tier` 'free' | 'community-plus' | 'professional' | 'enterprise', required: The user account tier.
  - `idps` string[]: List of identity providers (e.g. Google, GitHub) that the user has used to sign in with
  - `organizations` UserOrganization[], required: Organizations that the user is a member of. Only filled when requesting information about yourself.
    - `id` integer, required
    - `name` string, required
    - `logo` string
    - `isDeveloperProfile` boolean, required
    - `extensionSettings` UserOrganizationExtensionSettings
      - `extensionsAllowMembers` boolean: Whether organization members may create extensions.
      - `extensionsAllowLocalhost` boolean: Whether localhost extension development is enabled for this organization.
      - `extensionsAllowedDomains` string[]: Domains allowed for organization extensions, including enterprise localhost ports.
    - `whitelabelId` integer, nullable, required: Unique identifier of the white label this project belongs to, if any.
    - `isAdmin` boolean, required: Whether the user is admin of this organization or not.
    - `created` string, date-time, required: When the organization was created.
    - `trialId` number, nullable, required: Unique identifier of the trial this organization belongs to, if any.
    - `trialExpiredDate` string, date-time, nullable, required: Date when the trial expired, if any. A expired trial has a grace period of 30 days before it's associated organization is deleted.
    - `trialUpgradedDate` string, date-time, nullable, required: Date when the trial was upgraded to a full enterprise account, if any.
    - `entitlementLimits` EntitlementLimits, required
      - `totalStorage` number: Storage entitlement, in bytes
      - `computeTimePerYear` number: Total compute time entitlement (CPU + GPU), in seconds
      - `gpuComputeTimePerYear` number: GPU compute time entitlement, in seconds
      - `numberOfProjects` integer: Number of projects allowed for this organization
      - `numberOfUsers` integer: Number of users allowed for this organization
    - `userCount` integer, required: The total number of users that are a member of this organization.
    - `adminCount` integer, required: The number of admin users for this organization.
    - `privateProjectCount` integer, required: The number of private projects for this organization.
    - `lastAccessed` string, date-time: Last time this user accessed this organization.
    - `publicProjectLicense` object, required: Default license for new public projects under this organization.
      - `name` string, required
      - `link` string, required
  - `projects` Project[], required: List of all projects. This returns all projects for the user (regardless of whitelabel)
    - `id` integer, required
    - `name` string, required
    - `description` string, required
    - `created` string, date-time, required
    - `owner` string, required: User or organization that owns the project
    - `lastAccessed` string, date-time
    - `lastModified` string, date-time
    - `lastModificationDetails` string: Details about the last modification
    - `logo` string: Custom logo for this project (not available for all projects)
    - `ownerUserId` integer
    - `ownerOrganizationId` integer
    - `ownerAvatar` string: URL of the project owner avatar, if any.
    - `ownerIsDeveloperProfile` boolean, required
    - `developerProfileUserId` integer: User ID of the developer profile, if any.
    - `collaborators` ProjectCollaborator[], required
      - `id` integer, required
      - `username` string, required
      - `name` string, required
      - `email` string, required
      - `photo` string
      - `created` string, date-time, required
      - `lastSeen` string, date-time
      - `staffInfo` StaffInfo, required
        - `isStaff` boolean, required
        - `hasSudoRights` boolean, required
        - `companyName` string
      - `pending` boolean, required
      - `jobTitle` string
      - `permissions` Permission[]: List of permissions the user has
      - `companyName` string
      - `activated` boolean, required: Whether the user has activated their account or not.
      - `mfaConfigured` boolean, required: Whether the user has configured multi-factor authentication
      - `stripeCustomerId` string: Stripe customer ID, if any.
      - `hasPendingPayments` boolean: Whether the user has pending payments.
      - `tier` 'free' | 'community-plus' | 'professional' | 'enterprise': The user account tier.
      - `idps` string[]: List of identity providers (e.g. Google, GitHub) that the user has used to sign in with
      - `isOwner` boolean, required
    - `labelingMethod` 'single_label' | 'object_detection' | 'label_map', required
    - `metadata` object, required: Metadata about the project
    - `dataExplorerScreenshot` string
    - `isEnterpriseProject` boolean, required: Whether this is an enterprise project
    - `whitelabelId` integer, nullable, required: Unique identifier of the white label this project belongs to, if any.
    - `whitelabelName` string: Name of the white label this project belongs to, if any.
    - `tags` string[]: List of project tags
    - `category` 'Accelerometer' | 'Audio' | 'Images' | 'Keyword spotting' | 'Object detection' | 'Other': Project category
    - `license` 'Apache-2.0' | 'BSD-3-Clause' | 'BSD-3-Clause-Clear'
    - `tier` 'free' | 'community-plus' | 'professional' | 'enterprise', required: The project tier. This is "enterprise" for all organization projects, or the user tier for all user projects.
    - `hasPublicVersion` boolean, required: Whether this project has been published or not.
    - `isPublic` boolean, required: Whether this is a public version of a project. A version is a snapshot of a project at a certain point in time, which can be used to periodically save the state of a project. Versions can be private (just for internal use and reference) or public, available to everyone. A public version can be cloned by anyone, restoring the state of the project at the time into a new, separate project.
    - `allowsLivePublicAccess` boolean, required: Whether this project allows live, public access. Unlike a public version, a live public project is not fixed in time, and always includes the latest project changes. Similar to public versions, a live public project can be cloned by anyone, creating a new, separate project.
    - `indPauseProcessingSamples` boolean, required
    - `publicProjectListed` boolean, required: If the project allows public access, whether to list it the public projects overview response. If not listed, the project is still accessible via direct link. If the project does not allow public access, this field has no effect.
    - `deletedDate` string, date-time
    - `fullDeletionDate` string, date-time
    - `scheduledFullDeletionDate` string, date-time
  - `experiments` UserExperiment[], required: Experiments the user has access to. Enabling experiments can only be done through a JWT token.
    - `type` string, required
    - `title` string, required
    - `help` string
    - `enabled` boolean, required
    - `showToUser` boolean, required
  - `evaluation` boolean: Whether this is an ephemeral evaluation account.
  - `ambassador` boolean: Whether this user is an ambassador.
  - `whitelabels` object[]: List of white labels the user is a member of
    - `id` number, required
    - `domain` string, required
    - `name` string, required
    - `ownerOrganizationId` number, required
    - `isAdmin` boolean, required: Whether the user is an admin of the white label.
  - `suspended` boolean, required: Whether the user is suspended.
  - `suspensionReason` string: Detailed explanation of why the user account was suspended. This could include violations of terms of service, suspicious activity, or administrative actions.
  - `notifications` string[], required: List of notifications to show to the user.
  - `subscriptionCancellationRequestDate` string, date-time: The date at which the user has requested to cancel their subscription.
  - `subscriptionDowngradeDate` string, date-time: The date at which the user's subscription will be downgraded due to cancellation.
  - `subscriptionTerminationDate` string, date-time: The date at which the user's subscription will be automatically terminated due to failed payments.
  - `payAsYouGoSubscriptionPeriodStartDate` string, date-time: The start date of the current pay-as-you-go subscription period.
  - `payAsYouGoSubscriptionPeriodEndDate` string, date-time: The end date of the current pay-as-you-go subscription period.
  - `passwordConfigured` boolean, required: Whether the user has configured a password
  - `projectsSortOrder` 'created-asc' | 'created-desc' | 'added-asc' | 'added-desc' | 'name-asc' | 'name-desc' | 'last-accessed-desc', required
  - `activeEnterpriseTrial` EnterpriseTrial
    - `id` integer, required: Unique identifier of the trial.
    - `userId` integer, required: ID of the user who created the trial.
    - `organizationId` integer, required: ID of the organization created for the trial.
    - `created` string, date-time, required: Date when the trial was created. Trials start immediately on creation.
    - `expirationDate` string, date-time, required: Expiration date of the trial. The trial will be set as expired after this date. There will be a grace period of 30 days after a trial expires before fully deleting the trial organization. This field is ignored if the trial is requested by a non-admin user, defaulting to 14 days trial.
    - `notes` string: Notes about the trial. Free form text. This field is ignored if the trial is requested by a non-admin user.
    - `expiredDate` string, date-time, nullable, required: Date when the trial actually expired. This is set when the trial is expired by the system.
    - `deletedDate` string, date-time, nullable, required: Date when the trial was deleted. This is set when the trial is fully deleted by the system.
    - `upgradedDate` string, date-time, nullable, required: Date when the trial was upgraded to a full enterprise account.
  - `hasEnterpriseFeaturesAccess` boolean, required: Whether the current user has access to enterprise features. This is true if the user is an enterprise user, or has an active enterprise trial.
  - `timezone` string: Timezone for the user (or undefined if not specified).
  - `lastAccessedProjects` object, required: Last 5 accessed projects. This _only_ returns projects for the current whitelabel ID.
    - `projects` object[], required
      - `id` integer, required
      - `name` string, required
      - `created` string, date-time, required
      - `lastAccessed` string, date-time
    - `hasMoreProjects` boolean, required
  - `privatePersonalProjectsUsed` integer, required: Number of private projects created by the current user.
  - `lastAcceptedTermsOfService` object
    - `version` string, required
    - `acceptanceDate` string, date-time, required
  - `eulas` UserEula[], required: List of all Vendor End-User License Agreements that the user has accepted, or could accept.
    - `name` 'brainchip' | 'syntiant', required
    - `description` string, required
    - `latestVersion` string, required
    - `acceptedVersion` string: Current accepted version (or undefined if none)
    - `link` string, required
    - `userIsCompliant` boolean, required

---

[API](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api.md) - [All operations](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/llms.txt) - [OpenAPI document](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/revisions/e2a976d38427?raw)
