Edge Impulse API

The Edge Impulse Studio API provides programmatic access to build datasets, train models, and deploy embedded machine learning libraries directly to devices, from microcontrollers to gateways with neural accelerators.

OpenAPI Specification

edge-impulse-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Edge Impulse API
  version: 1.0.0
servers:
  - url: https://studio.edgeimpulse.com/v1
paths:
  /api-login:
    post:
      summary: Get JWT token
      security: []
      description: Get a JWT token to authenticate with the API.
      tags:
        - Login
      operationId: login
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetJWTRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetJWTResponse'
  /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/canary:
    get:
      summary: >-
        Get the decision to whether the requested URL goes on canary deployment
        or not
      description: >-
        Get the decision to whether the requested URL goes on canary deployment
        or not
      x-internal-api: true
      x-required-headers:
        - x-edge-lambda
      security:
        - JWTAuthentication: []
      operationId: shouldGoOnCanary
      tags:
        - Canary
      parameters:
        - $ref: '#/components/parameters/RequestedUrlParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CanaryResponse'
  /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'
  /api/third-party-auth:
    get:
      summary: Get all third party auth
      description: Get information about all third party authentication partners
      operationId: getAllThirdPartyAuth
      x-internal-api: true
      security:
        - permissions:
            - thirdpartyauth:read
      tags:
        - ThirdPartyAuth
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllThirdPartyAuthResponse'
    post:
      summary: Create third party auth
      description: Create a new third party authentication partner
      operationId: createThirdPartyAuth
      x-internal-api: true
      security:
        - permissions:
            - thirdpartyauth:write
      tags:
        - ThirdPartyAuth
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateThirdPartyAuthRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateThirdPartyAuthResponse'
  /api/third-party-auth/{authId}:
    get:
      summary: Get third party auth
      description: Get information about a third party authentication partner
      operationId: getThirdPartyAuth
      x-internal-api: true
      security:
        - permissions:
            - thirdpartyauth:read
      tags:
        - ThirdPartyAuth
      parameters:
        - $ref: '#/components/parameters/AuthIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetThirdPartyAuthResponse'
    post:
      summary: Update third party auth
      description: Update a third party authentication partner
      operationId: updateThirdPartyAuth
      x-internal-api: true
      security:
        - permissions:
            - thirdpartyauth:write
      tags:
        - ThirdPartyAuth
      parameters:
        - $ref: '#/components/parameters/AuthIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateThirdPartyAuthRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete third party auth
      description: Delete a third party authentication partner
      operationId: deleteThi

# --- truncated at 32 KB (964 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/edge-impulse/refs/heads/main/openapi/edge-impulse-openapi.yml