Edge Impulse User API
The User API from Edge Impulse — 43 operation(s) for user.
The User API from Edge Impulse — 43 operation(s) for user.
openapi: 3.0.0
info:
title: Edge Impulse User API
version: 1.0.0
servers:
- url: https://studio.edgeimpulse.com/v1
security:
- ApiKeyAuthentication: []
- JWTAuthentication: []
- JWTHttpHeaderAuthentication: []
tags:
- name: User
paths:
/api-user-create:
post:
summary: Create user
security: []
description: Create a new user and project
tags:
- User
operationId: createUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserResponse'
/api-user-create-evaluate:
post:
summary: Create evaluation user
security: []
description: Creates an evaluation user and a new project, and redirects the user to the new project.
tags:
- User
operationId: createEvaluationUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEvaluationUserResponse'
/api-create-pro-user:
post:
summary: Create Professional Tier user
security: []
description: Create a new user for the Professional Plan and a new project. Note that the Professional plan will not be enabled until the payment is successful.
tags:
- User
operationId: createProTierUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProTierUserRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserResponse'
/api-user-create-enterprise-trial:
post:
summary: Create enterprise trial user
security: []
description: Creates an enterprise trial user and a new trial organization, and redirects the user to the new organization.
tags:
- User
operationId: createEnterpriseTrialUser
requestBody:
description: Trial request
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEnterpriseTrialUserRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEnterpriseTrialResponse'
/api-user-need-to-set-password/{usernameOrEmail}:
get:
summary: Get user registration state
security: []
description: Tells whether a user is registered and whether it needs to set its password.
tags:
- User
operationId: getUserNeedToSetPassword
parameters:
- $ref: '#/components/parameters/UsernameOrEmailParameter'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserNeedToSetPasswordResponse'
/api/user:
get:
summary: Get current user
description: Get information about the current user. This function is only available through a JWT token.
tags:
- User
operationId: getCurrentUser
parameters:
- $ref: '#/components/parameters/UserExcludeProjectsParameter'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserResponse'
post:
summary: Update current user
description: Update user properties such as name. This function is only available through a JWT token.
tags:
- User
operationId: updateCurrentUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
delete:
summary: Delete current user
description: Delete a user. This function is only available through a JWT token, and can only remove the current user.
tags:
- User
operationId: deleteCurrentUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteUserRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/projects:
get:
summary: Get current user projects
description: Get projects for the current user. This returns all projects regardless of whitelabel. This function is only available through a JWT token.
tags:
- User
operationId: getCurrentUserProjects
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserProjectsResponse'
/api/user/convert:
post:
summary: Convert current evaluation user
description: Convert current evaluation user account to regular account.
tags:
- User
operationId: convertCurrentUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ConvertUserRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/activate:
post:
summary: Activate current user
description: Activate the current user account (requires an activation code). This function is only available through a JWT token.
tags:
- User
operationId: activateCurrentUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ActivateUserOrVerifyEmailRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/request-activation:
post:
summary: Request activation code
description: Request a new activation code for the current user. This function is only available through a JWT token.
tags:
- User
operationId: requestActivationCodeCurrentUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/create-developer-profile:
post:
summary: Create developer profile
description: Create a developer profile for the current active user.
tags:
- User
operationId: createDeveloperProfile
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDeveloperProfileResponse'
/api/user/trial:
post:
summary: Start enterprise trial
description: Create an enterprise trial for the current user. Users can only go through a trial once.
tags:
- User
operationId: startEnterpriseTrial
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StartEnterpriseTrialRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEnterpriseTrialResponse'
/api/user/emails:
get:
summary: List emails
description: Get a list of all emails sent by Edge Impulse to the current user. This function is only available through a JWT token, and is not available for all users.
security:
- permissions:
- users:emails:read
tags:
- User
operationId: listEmailsCurrentUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListEmailResponse'
/api/user/photo:
post:
summary: Upload photo
description: Upload a photo for the current user. This function is only available through a JWT token.
tags:
- User
operationId: uploadPhotoCurrentUser
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/UploadUserPhotoRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UploadUserPhotoResponse'
delete:
summary: Delete photo
description: Delete user profile photo. This function is only available through a JWT token.
tags:
- User
operationId: deletePhotoCurrentUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/change-password:
post:
summary: Change password current user
description: Change the password for the current user account. This function is only available through a JWT token.
tags:
- User
operationId: changePasswordCurrentUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePasswordRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/organizations:
get:
summary: Get organizations
description: List all organizations that the current user is a member of. This function is only available through a JWT token.
tags:
- User
operationId: listOrganizationsCurrentUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrganizationsResponse'
/api/users/buckets:
get:
summary: Get buckets current user
description: List all organizational storage buckets that the current user has access to. This function is only available through a JWT token.
tags:
- User
operationId: listOrganizationBucketsCurrentUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrganizationBucketsUserResponse'
/api/user/by-third-party-activation-code:
post:
summary: Get user by third party activation code
description: Get information about a user through an activation code. This function is only available through a JWT token.
tags:
- User
operationId: getUserByThirdPartyActivationCode
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserByThirdPartyActivationRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserResponse'
/api/user/activate-by-third-party-activation-code:
post:
summary: Activate user by third party activation code
description: Activate a user that was created by a third party. This function is only available through a JWT token.
tags:
- User
operationId: activateUserByThirdPartyActivationCode
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ActivateUserByThirdPartyActivationCodeRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetJWTResponse'
/api/user/accept-tos:
post:
summary: Accept Terms of Service
description: Accept Terms of Service.
tags:
- User
operationId: acceptTermsOfService
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/dismiss-notification:
post:
summary: Dismiss a notification
description: Dismiss a notification
tags:
- User
operationId: userDismissNotification
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserDismissNotificationRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/mfa/totp/create-key:
post:
summary: Generate a new TOTP MFA key
description: Creates a new MFA key, only allowed if the user has no MFA configured. TOTP tokens use SHA-1 algorithm.
tags:
- User
operationId: userGenerateNewTotpMfaKey
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserGenerateNewMfaKeyResponse'
/api/user/mfa/totp/set-key:
post:
summary: Set TOTP MFA key
description: Enable MFA on this account using an TOTP token. First create a new key via `userGenerateNewTotpMfaKey`.
tags:
- User
operationId: userSetTotpMfaKey
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserSetTotpMfaKeyRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserSetTotpMfaKeyResponse'
/api/user/mfa/totp/clear:
post:
summary: Remove TOTP MFA key
description: Disable MFA on this account using an TOTP token.
tags:
- User
operationId: userDeleteTotpMfaKey
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserDeleteTotpMfaKeyRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/subscription/upgrade:
post:
summary: Upgrade subscription
description: Upgrade the current subscription.
tags:
- User
operationId: userUpgradeSubscription
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpgradeSubscriptionRequest'
responses:
'302':
description: A redirect to the payment portal
/api/user/subscription/cancel:
post:
summary: Cancel subscription
description: Cancel the current subscription.
tags:
- User
operationId: userCancelSubscription
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DowngradeSubscriptionRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/subscription/undo-cancel:
post:
summary: Undo subscription cancellation
description: 'Stop a pending cancellation. If you schedule a subscription to be canceled, and
the subscription hasn''t yet reached the end of the billing period, you can stop
the cancellation. After a subscription has been canceled, you can''t reactivate it.
'
tags:
- User
operationId: userUndoCancelSubscription
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/user/subscription/metrics:
get:
summary: Get user billable compute metrics
description: Get billable compute metrics for a user. This function is only available to users with an active subscription.
tags:
- User
operationId: userGetSubscriptionMetrics
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserSubscriptionMetricsResponse'
/api/users/{userId}:
get:
summary: Get user
description: Get information about a user. This function is only available through a JWT token.
tags:
- User
parameters:
- $ref: '#/components/parameters/UserIdParameter'
operationId: getUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserResponse'
post:
summary: Update user
description: Update user properties such as name. This function is only available through a JWT token.
tags:
- User
parameters:
- $ref: '#/components/parameters/UserIdParameter'
operationId: updateUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
delete:
summary: Delete user
description: Delete a user. This function is only available through a JWT token, and can only remove the current user.
tags:
- User
parameters:
- $ref: '#/components/parameters/UserIdParameter'
operationId: deleteUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteUserRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/users/{userId}/activate:
post:
summary: Activate user
description: Activate a user account (requires an activation code). This function is only available through a JWT token.
tags:
- User
parameters:
- $ref: '#/components/parameters/UserIdParameter'
operationId: activateUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ActivateUserOrVerifyEmailRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/users/{userId}/request-activation:
post:
summary: Request activation code
description: Request a new activation code. This function is only available through a JWT token.
tags:
- User
parameters:
- $ref: '#/components/parameters/UserIdParameter'
operationId: requestActivationCodeUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/users/{userId}/emails:
get:
summary: List emails
description: Get a list of all emails sent by Edge Impulse to a user. This function is only available through a JWT token, and is not available for all users.
security:
- permissions:
- users:emails:read
tags:
- User
parameters:
- $ref: '#/components/parameters/UserIdParameter'
operationId: listEmailsUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListEmailResponse'
/api/users/{userId}/photo:
post:
summary: Upload photo
description: Upload a photo for a user. This function is only available through a JWT token, and is not available for all users.
tags:
- User
parameters:
- $ref: '#/components/parameters/UserIdParameter'
operationId: uploadPhotoUser
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/UploadUserPhotoRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UploadUserPhotoResponse'
/api/users/{userId}/change-password:
post:
summary: Change password
description: Change the password for a user account. This function is only available through a JWT token.
tags:
- User
parameters:
- $ref: '#/components/parameters/UserIdParameter'
operationId: changePasswordUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePasswordRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/users/{userId}/set-password:
post:
summary: Set password for SSO user
description: Set the password for a new SSO user. This function is only available through an SSO access token.
security: []
tags:
- User
parameters:
- $ref: '#/components/parameters/UserIdParameter'
operationId: setUserPassword
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetUserPasswordRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/users/{userId}/organizations:
get:
summary: Get organizations
description: List all organizations for a user. This function is only available through a JWT token.
tags:
- User
operationId: listOrganizationsUser
parameters:
- $ref: '#/components/parameters/UserIdParameter'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrganizationsResponse'
/api/users/{userId}/buckets:
get:
summary: Get buckets
description: List all organizational storage buckets that a user has access to. This function is only available through a JWT token.
tags:
- User
operationId: listOrganizationBucketsUser
parameters:
- $ref: '#/components/parameters/UserIdParameter'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrganizationBucketsUserResponse'
/api/users/{userId}/feedback:
post:
summary: Send feedback
description: Send feedback to Edge Impulse or get in touch with sales.
tags:
- User
operationId: sendUserFeedback
parameters:
- $ref: '#/components/parameters/UserIdParameter'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SendUserFeedbackRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/users/{userId}/upgrade:
post:
summary: Send upgrade request
description: Send an upgrade to Enterprise request to Edge Impulse.
tags:
- User
operationId: sendUserUpgradeRequest
parameters:
- $ref: '#/components/parameters/UserIdParameter'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EnterpriseUpgradeOrTrialExtensionRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/users/{userId}/trials:
get:
summary: Get enterprise trials
description: Get a list of all enterprise trials for a user. This function is only available through a JWT token.
tags:
- User
operationId: listEnterpriseTrialsUser
parameters:
- $ref: '#/components/parameters/UserIdParameter'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListEnterpriseTrialsResponse'
/api-user-request-reset-password:
post:
summary: Request reset password
security: []
description: Request a password reset link for a user.
tags:
- User
operationId: requestResetPassword
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RequestResetPasswordRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api-user-reset-password:
post:
summary: Reset password
security: []
description: Reset the password for a user.
tags:
- User
operationId: resetPassword
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ResetPasswordRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api-user-verify-reset-password-code:
post:
summary: Verify reset password code
security: []
description: Verify whether the reset password code for the user is valid.
tags:
- User
operationId: verifyResetPassword
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyResetPasswordRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
components:
schemas:
BillingCycle:
type: string
enum:
- monthly
- yearly
description: 'Specifies the frequency at which the subscription fee is billed:
- `monthly`: Billed once every month.
- `yearly`: Billed once every year, often at a discounted rate compared to monthly billing.
'
EntitlementLimits:
type: object
properties:
totalStorage:
type: number
description: Storage entitlement, in bytes
computeTimePerYear:
type: number
description: Total compute time entitlement (CPU + GPU), in seconds
gpuComputeTimePerYear:
type: number
description: GPU compute time entitlement, in seconds
numberOfProjects:
type: integer
description: Number of projects allowed for this organization
numberOfUsers:
type: integer
description: Number of users allowed for this organization
CreateDeveloperProfileResponse:
allOf:
- $ref: '#/components/schemas/GenericApiResponse'
- type: object
required:
- organizationId
properties:
organizationId:
type: integer
link:
type: string
GetUserResponse:
allOf:
- $ref: '#/components/schemas/GenericApiResponse'
- $ref: '#/components/schemas/User'
- type: object
required:
- email
- activated
- organizations
- projects
- experiments
- tier
- suspended
- notifications
- passwordConfigured
- projectsSortOrder
- hasEnterpriseFeaturesAccess
- lastAccessedProjects
- privatePersonalProjectsUsed
properties:
email:
type: string
activated:
type: boolean
organizations:
type: array
description: Organizations that the user is a member of. Only filled when requesting information about yourself.
items:
$ref: '#/components/schemas/UserOrganization'
projects:
description: List of all projects. This returns all projects for the user (regardless of whitelabel)
type: array
items:
$ref: '#/components/schemas/Project'
experiments:
type: array
description: Experiments the user has access to. Enabling experiments can only be done through a JWT token.
items:
$ref: '#/components/schemas/UserExperiment'
evaluation:
type: boolean
description: Whether this is an ephemeral evaluation account.
ambassador:
type: boolean
description: Whether this user is an ambassador.
whitelabels:
description: List of white labels the user is a member of
type: array
items:
type: object
required:
- id
- domain
- name
- ownerOrganizationId
- isAdmin
properties:
id:
type: number
domain:
type: string
name:
type: string
ownerOrganizationId:
type: number
isAdmin:
type: boolean
description: Whether the user is an admin of the white label.
suspended:
type: boolean
description: Whether the user is suspended.
notifications:
type: array
description: List of notifications to show to the user.
items:
type: string
subscriptionDowngradeDate:
type: string
format: date-time
description: The date at which the user's subscription will be downgraded due to cancellation.
subscriptionTerminationDate:
type: string
format: date-time
description: The date at which the user's subscription will be automatically terminated due to failed payments.
passwordConfigured:
type: boolean
description: Whether the user has configured a password
projectsSortOrder:
description: Default sort order on the projects list
$ref: '#/components/schemas/UserProjectsSortOrder'
activeEnterpriseTrial:
description: The ongoing free Enterprise trials that the user has created, if any.
$ref: '#/components/schemas/EnterpriseTrial'
# --- truncated at 32 KB (73 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/edge-impulse/refs/heads/main/openapi/edge-impulse-user-api-openapi.yml