Edge Impulse Admin API

The Admin API from Edge Impulse — 49 operation(s) for admin.

Operations 72

GET /api/admin/metrics Get global metrics #
GET /api/admin/metrics/reports Get global metrics reports #
POST /api/admin/metrics/reports Create a new global metrics report #
GET /api/admin/metrics/reports/{reportId} Get global metrics report #
DELETE /api/admin/metrics/reports/{reportId} Delete global metrics report #
GET /api/admin/metrics/reports/{reportId}/download Download global metrics report #
GET /api/admin/infra/migrations Get data migrations #
GET /api/admin/infra/migrations/{migrationId} Get data migration #
POST /api/admin/infra/migrations/{migrationId} Run or pause a data migration #
GET /api/admin/infra/disallowedEmailDomains Get the list of disallowed email domains #
PUT /api/admin/infra/disallowedEmailDomains Add a disallowed email domain #
DELETE /api/admin/infra/disallowedEmailDomains/{domainName} Delete disallowed email domain #
GET /api/admin/infra/featureFlags Get all feature flags #
PUT /api/admin/infra/featureFlags/{featureId} Set a feature flag ON #
DELETE /api/admin/infra/featureFlags/{featureId} Set a feature flag OFF #
GET /api/admin/infra/config Get all studio config #
POST /api/admin/infra/config/{configKey} Update studio config #
DELETE /api/admin/infra/config/{configKey} Delete a studio config item #
GET /api/admin/users Get all users #
GET /api/admin/users/{userId} Get user #
POST /api/admin/users/{userId} Update user #
DELETE /api/admin/users/{userId} Delete a user #
GET /api/admin/users/{userId}/metrics Get user metrics #
POST /api/admin/users/{userId}/permissions Update user permissions #
GET /api/admin/users/{userId}/jobs Get user jobs #
POST /api/admin/trials Create user enterprise trial #
GET /api/admin/trials/{enterpriseTrialId} Get enterprise trial #
PUT /api/admin/trials/{enterpriseTrialId} Update enterprise trial #
DELETE /api/admin/trials/{enterpriseTrialId} Delete enterprise trial #
POST /api/admin/trials/{enterpriseTrialId}/upgrade Upgrade enterprise trial to a full enterprise account #
GET /api/admin/projects Get all projects #
POST /api/admin/projects Create a new project #
GET /api/admin/projects/{projectId} Get project #
POST /api/admin/projects/{projectId} Update project #
DELETE /api/admin/projects/{projectId} Delete a project #
POST /api/admin/projects/{projectId}/members Add user to a project #
DELETE /api/admin/projects/{projectId}/members/{userId} Remove user from a project #
GET /api/admin/projects/{projectId}/jobs Get project jobs #
GET /api/admin/organizations Get all organizations #
POST /api/admin/organizations Create a new organization #
GET /api/admin/organizations/{organizationId} Organization information #
POST /api/admin/organizations/{organizationId} Update organization #
DELETE /api/admin/organizations/{organizationId} Delete an organization #
POST /api/admin/organizations/{organizationId}/restore Restore an organization #
GET /api/admin/organizations/{organizationId}/usage/computeTime Get organization compute time usage #
GET /api/admin/organizations/{organizationId}/usage/reports Get all usage reports #
POST /api/admin/organizations/{organizationId}/usage/reports Creates a new usage report #
GET /api/admin/organizations/{organizationId}/usage/reports/{reportId} Get usage report #
DELETE /api/admin/organizations/{organizationId}/usage/reports/{reportId} Delete usage report #
GET /api/admin/organizations/{organizationId}/usage/reports/{reportId}/download Download usage report #
POST /api/admin/organizations/{organizationId}/members Add user to an organization #
DELETE /api/admin/organizations/{organizationId}/members/{userId} Remove user from an organization #
POST /api/admin/organizations/{organizationId}/projects Create a new organization project #
GET /api/admin/organizations/{organizationId}/exports Get all organization data exports #
POST /api/admin/organizations/{organizationId}/exports Create a new organization data export #
GET /api/admin/organizations/{organizationId}/exports/{exportId} Get organization data export #
DELETE /api/admin/organizations/{organizationId}/exports/{exportId} Delete organization data export #
PUT /api/admin/organizations/{organizationId}/exports/{exportId} Update organization data export #
GET /api/admin/organizations/{organizationId}/jobs Get organization jobs #
GET /api/admin/sso Get SSO settings #
GET /api/admin/sso/{domainName} Get SSO settings for a domain #
PUT /api/admin/sso/{domainName} Add or update SSO settings for a domain #
DELETE /api/admin/sso/{domainName} Delete SSO settings for a domain #
GET /api/admin/jobs/{jobId}/details Get job execution details #
GET /api/admin/jobs/{jobId}/logs Get job logs #
GET /api/admin/jobs/{jobId}/metrics Get job usage metrics #
GET /api/admin/emails/{email}/verification-code Get enterprise trial email verification code #
GET /api/admin/find-user Find a user #
GET /api/admin/users-ids Get all user IDs #
GET /api/admin/users-ids/active Get all user IDs (active last 30 days) #
POST /api/admin/projects/{projectId}/add Add current user to a project #
POST /api/admin/projects/{projectId}/remove Remove current user from a project #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/edge-impulse-admin-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

edge-impulse-admin-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Edge Impulse Admin API
  version: 1.0.0
servers:
- url: https://studio.edgeimpulse.com/v1
security:
- ApiKeyAuthentication: []
- JWTAuthentication: []
- JWTHttpHeaderAuthentication: []
tags:
- name: Admin
paths:
  /api/admin/metrics:
    get:
      summary: Get global metrics
      description: Admin-only API to get global metrics.
      x-internal-api: true
      security:
      - permissions:
        - admin:metrics:read
      tags:
      - Admin
      operationId: adminGetMetrics
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetMetricsResponse'
  /api/admin/metrics/reports:
    get:
      summary: Get global metrics reports
      description: Admin-only API to get global metrics reports.
      x-internal-api: true
      security:
      - permissions:
        - admin:metrics:read
      tags:
      - Admin
      operationId: adminGetMetricsReports
      parameters:
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetReportsResponse'
    post:
      summary: Create a new global metrics report
      description: 'Admin-only API to create a new global metrics report.

        A job is created to process the report request and the job details are returned in the response.

        '
      x-internal-api: true
      security:
      - permissions:
        - admin:metrics:read
      tags:
      - Admin
      operationId: adminCreateMetricsReport
      parameters:
      - $ref: '#/components/parameters/RequiredStartDateParameter'
      - $ref: '#/components/parameters/RequiredEndDateParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartJobResponse'
  /api/admin/metrics/reports/{reportId}:
    get:
      summary: Get global metrics report
      description: Admin-only API to get a global metrics report.
      x-internal-api: true
      security:
      - permissions:
        - admin:metrics:read
      tags:
      - Admin
      operationId: adminGetMetricsReport
      parameters:
      - $ref: '#/components/parameters/ReportIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetReportResponse'
    delete:
      summary: Delete global metrics report
      description: Admin-only API to delete a global metrics report.
      x-internal-api: true
      security:
      - permissions:
        - admin:metrics:write
      tags:
      - Admin
      operationId: adminDeleteMetricsReport
      parameters:
      - $ref: '#/components/parameters/ReportIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/metrics/reports/{reportId}/download:
    get:
      summary: Download global metrics report
      description: Admin-only API to download a global metrics report.
      x-internal-api: true
      security:
      - permissions:
        - admin:metrics:read
      tags:
      - Admin
      operationId: adminDownloadMetricsReport
      parameters:
      - $ref: '#/components/parameters/ReportIdParameter'
      responses:
        '302':
          description: A redirect to the ZIP file
  /api/admin/infra/migrations:
    get:
      summary: Get data migrations
      description: Admin-only API to get data migrations.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:migrations:read
      tags:
      - Admin
      operationId: adminGetDataMigrations
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetDataMigrationsResponse'
  /api/admin/infra/migrations/{migrationId}:
    get:
      summary: Get data migration
      description: Admin-only API to get a data migration.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:migrations:read
      tags:
      - Admin
      operationId: adminGetDataMigration
      parameters:
      - $ref: '#/components/parameters/MigrationIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetDataMigrationResponse'
    post:
      summary: Run or pause a data migration
      description: Admin-only API to run or pause a data migration.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:migrations:write
      tags:
      - Admin
      operationId: adminToggleDataMigration
      parameters:
      - $ref: '#/components/parameters/MigrationIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminToggleDataMigrationRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/infra/disallowedEmailDomains:
    get:
      summary: Get the list of disallowed email domains
      description: Admin-only API to get the list of disallowed email domains.
      x-internal-api: true
      tags:
      - Admin
      operationId: adminGetDisallowedEmailDomains
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetDisallowedEmailDomainsResponse'
    put:
      summary: Add a disallowed email domain
      description: Admin-only API to add an email domain to the list of disallowed email domains.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:disallowedEmailDomains:write
      tags:
      - Admin
      operationId: adminAddDisallowedEmailDomain
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminAddDisallowedEmailDomainRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/infra/disallowedEmailDomains/{domainName}:
    delete:
      summary: Delete disallowed email domain
      description: Admin-only API to delete an email domain from the list of disallowed email domains.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:disallowedEmailDomains:write
      tags:
      - Admin
      operationId: adminDeleteDisallowedEmailDomain
      parameters:
      - $ref: '#/components/parameters/DomainNameParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/infra/featureFlags:
    get:
      summary: Get all feature flags
      description: Admin-only API to get all feature flags.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:featureFlags:read
      tags:
      - Admin
      operationId: adminGetFeatureFlags
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFeatureFlagsResponse'
  /api/admin/infra/featureFlags/{featureId}:
    put:
      summary: Set a feature flag ON
      description: Admin-only API to set a feature flag ON. Setting a feature flag ON essentially enables the feature for all users.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:featureFlags:write
      tags:
      - Admin
      operationId: adminEnableFeature
      parameters:
      - $ref: '#/components/parameters/FeatureIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Set a feature flag OFF
      description: Admin-only API to delete a feature flag. Deleting a feature flag essentially disables the feature for all users.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:featureFlags:write
      tags:
      - Admin
      operationId: adminDisableFeature
      parameters:
      - $ref: '#/components/parameters/FeatureIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/infra/config:
    get:
      summary: Get all studio config
      description: Admin-only API to get all studio config.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:config:read
      tags:
      - Admin
      operationId: adminGetStudioConfig
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStudioConfigResponse'
  /api/admin/infra/config/{configKey}:
    post:
      summary: Update studio config
      description: Admin-only API to update a studio config item.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:config:write
      tags:
      - Admin
      operationId: adminSetStudioConfig
      parameters:
      - $ref: '#/components/parameters/ConfigKeyParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminUpdateConfigRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete a studio config item
      description: Admin-only API to delete a studio config item.
      x-internal-api: true
      security:
      - permissions:
        - admin:infra:config:write
      tags:
      - Admin
      operationId: adminDeleteStudioConfig
      parameters:
      - $ref: '#/components/parameters/ConfigKeyParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/users:
    get:
      summary: Get all users
      description: Admin-only API to get the list of all registered users.
      x-internal-api: true
      security:
      - permissions:
        - admin:users:read
      tags:
      - Admin
      operationId: adminGetUsers
      parameters:
      - $ref: '#/components/parameters/FiltersActiveParameter'
      - $ref: '#/components/parameters/FiltersTierParameter'
      - $ref: '#/components/parameters/FieldsParameter'
      - $ref: '#/components/parameters/SortQueryParameter'
      - $ref: '#/components/parameters/FiltersQueryParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      - $ref: '#/components/parameters/SearchQueryParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetUsersResponse'
  /api/admin/users/{userId}:
    get:
      summary: Get user
      description: Admin-only API to get information about a user.
      x-internal-api: true
      security:
      - permissions:
        - admin:users:read
      tags:
      - Admin
      operationId: adminGetUser
      parameters:
      - $ref: '#/components/parameters/UserIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetUserResponse'
    post:
      summary: Update user
      description: Admin-only API to update user properties.
      x-internal-api: true
      security:
      - permissions:
        - admin:users:write
      tags:
      - Admin
      operationId: adminUpdateUser
      parameters:
      - $ref: '#/components/parameters/UserIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminUpdateUserRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete a user
      description: Admin-only API to delete a user.
      x-internal-api: true
      security:
      - permissions:
        - admin:users:write
      tags:
      - Admin
      operationId: adminDeleteUser
      parameters:
      - $ref: '#/components/parameters/UserIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartJobResponse'
  /api/admin/users/{userId}/metrics:
    get:
      summary: Get user metrics
      description: Admin-only API to get marketing metrics about a user.
      x-internal-api: true
      security:
      - permissions:
        - admin:users:read
      tags:
      - Admin
      operationId: adminGetUserMetrics
      parameters:
      - $ref: '#/components/parameters/UserIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetUserMetricsResponse'
  /api/admin/users/{userId}/permissions:
    post:
      summary: Update user permissions
      description: Admin-only API to update the list of permissions for a user.
      x-internal-api: true
      security:
      - permissions:
        - admin:users:permissions:write
      tags:
      - Admin
      operationId: adminUpdateUserPermissions
      parameters:
      - $ref: '#/components/parameters/UserIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminUpdateUserPermissionsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/users/{userId}/jobs:
    get:
      summary: Get user jobs
      description: Admin-only API to get the list of all project jobs for a user.
      x-internal-api: true
      security:
      - permissions:
        - admin:users:read
      tags:
      - Admin
      operationId: adminGetUserJobs
      parameters:
      - $ref: '#/components/parameters/UserIdParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListJobsResponse'
  /api/admin/trials:
    post:
      summary: Create user enterprise trial
      description: Admin-only API to create an enterprise trial for a user.
      x-internal-api: true
      security:
      - permissions:
        - admin:trials:write
      tags:
      - Admin
      operationId: adminCreateTrial
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminStartEnterpriseTrialRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityCreatedResponse'
  /api/admin/trials/{enterpriseTrialId}:
    get:
      summary: Get enterprise trial
      description: Admin-only API to get a specific enterprise trial.
      x-internal-api: true
      security:
      - permissions:
        - admin:trials:read
      tags:
      - Admin
      operationId: adminGetTrial
      parameters:
      - $ref: '#/components/parameters/EnterpriseTrialIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetTrialResponse'
    put:
      summary: Update enterprise trial
      description: Admin-only API to update an enterprise trial.
      x-internal-api: true
      security:
      - permissions:
        - admin:trials:write
      tags:
      - Admin
      operationId: adminUpdateTrial
      parameters:
      - $ref: '#/components/parameters/EnterpriseTrialIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminUpdateTrialRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete enterprise trial
      description: Admin-only API to delete an enterprise trial.
      x-internal-api: true
      security:
      - permissions:
        - admin:trials:write
      tags:
      - Admin
      operationId: adminDeleteTrial
      parameters:
      - $ref: '#/components/parameters/EnterpriseTrialIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/trials/{enterpriseTrialId}/upgrade:
    post:
      summary: Upgrade enterprise trial to a full enterprise account
      description: Admin-only API to upgrade a specific enterprise trial to a full enterprise account.
      x-internal-api: true
      security:
      - permissions:
        - admin:trials:write
      tags:
      - Admin
      operationId: adminUpgradeTrial
      parameters:
      - $ref: '#/components/parameters/EnterpriseTrialIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/projects:
    get:
      summary: Get all projects
      description: Admin-only API to get the list of all projects.
      x-internal-api: true
      security:
      - permissions:
        - admin:projects:read
      tags:
      - Admin
      operationId: adminGetProjects
      parameters:
      - $ref: '#/components/parameters/FiltersActiveParameter'
      - $ref: '#/components/parameters/SortQueryParameter'
      - $ref: '#/components/parameters/FiltersQueryParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      - $ref: '#/components/parameters/SearchQueryParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminListProjectsResponse'
    post:
      summary: Create a new project
      description: Admin-only API to create a new free tier project.
      x-internal-api: true
      tags:
      - Admin
      security:
      - permissions:
        - admin:projects:write
      operationId: adminCreateProject
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminCreateProjectRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateProjectResponse'
  /api/admin/projects/{projectId}:
    get:
      summary: Get project
      description: Admin-only API to get project information.
      x-internal-api: true
      security:
      - permissions:
        - admin:projects:read
      tags:
      - Admin
      operationId: adminGetProject
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectInfoResponse'
    post:
      summary: Update project
      description: Admin-only API to update project properties.
      x-internal-api: true
      security:
      - permissions:
        - admin:projects:write
      tags:
      - Admin
      operationId: adminUpdateProject
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete a project
      description: Admin-only API to delete a project.
      x-internal-api: true
      security:
      - permissions:
        - admin:projects:write
      tags:
      - Admin
      operationId: adminDeleteProject
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/projects/{projectId}/members:
    post:
      summary: Add user to a project
      description: Admin-only API to add a user to a project. If no user is provided, the current user is used.
      x-internal-api: true
      security:
      - permissions:
        - admin:projects:members:write
      tags:
      - Admin
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      operationId: adminAddUserToProject
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminAddProjectUserRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/projects/{projectId}/members/{userId}:
    delete:
      summary: Remove user from a project
      description: Admin-only API to remove a user from a project.
      x-internal-api: true
      security:
      - permissions:
        - admin:projects:members:write
      tags:
      - Admin
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/UserIdParameter'
      operationId: adminRemoveUserFromProject
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/projects/{projectId}/jobs:
    get:
      summary: Get project jobs
      description: Admin-only API to get the list of all jobs for a project.
      x-internal-api: true
      security:
      - permissions:
        - admin:projects:read
      tags:
      - Admin
      operationId: adminGetProjectJobs
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListJobsResponse'
  /api/admin/organizations:
    get:
      summary: Get all organizations
      description: Admin-only API to get the list of all organizations.
      x-internal-api: true
      security:
      - permissions:
        - admin:organizations:read
      tags:
      - Admin
      operationId: adminGetOrganizations
      parameters:
      - $ref: '#/components/parameters/FiltersActiveParameter'
      - $ref: '#/components/parameters/FiltersIncludeDeletedParameter'
      - $ref: '#/components/parameters/SortQueryParameter'
      - $ref: '#/components/parameters/FiltersQueryParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      - $ref: '#/components/parameters/SearchQueryParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetOrganizationsResponse'
    post:
      summary: Create a new organization
      description: Admin-only API to create a new organization.
      x-internal-api: true
      security:
      - permissions:
        - admin:organizations:write
      tags:
      - Admin
      operationId: adminCreateOrganization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminCreateOrganizationRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrganizationResponse'
  /api/admin/organizations/{organizationId}:
    get:
      summary: Organization information
      description: Admin-only API to list all information about this organization.
      x-internal-api: true
      security:
      - permissions:
        - admin:organizations:read
      tags:
      - Admin
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/FiltersIncludeDeletedParameter'
      operationId: adminGetOrganizationInfo
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminOrganizationInfoResponse'
    post:
      summary: Update organization
      description: Admin-only API to update organization properties such as name and logo.
      x-internal-api: true
      security:
      - permissions:
        - admin:organizations:write
      tags:
      - Admin
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: adminUpdateOrganization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdminUpdateOrganizationRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete an organization
      description: Admin-only API to delete an organization. If `fullDeletion` is set, it deletes the organization's identifiable information and files. Otherwise, it soft deletes the organization by setting its `delete_date` value.
      x-internal-api: true
      security:
      - permissions:
        - admin:organizations:write
      tags:
      - Admin
      operationId: adminDeleteOrganization
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/FullDeleteEntityParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/organizations/{organizationId}/restore:
    post:
      summary: Restore an organization
      description: 'Admin-only API to restore a soft deleted organization. All organization projects sharing the same deletion date as that of the organization will also be restored. If this is a trial organization that was never upgraded to a paid plan then the organization will be restored to its original trial state.

        '
      x-internal-api: true
      security:
      - permissions:
        - admin:organizations:write
      tags:
      - Admin
      operationId: adminRestoreOrganization
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/admin/organizations/{organizationId}/usage/computeTime:
    get:
      summary: Get organization compute time usage
      description: Admin-only API to get compute time usage for an organization over a period of time.
      x-internal-api: true
      security:
      - permissions:
        - admin:organizations:read
      tags:
      - Admin
      operationId: adminGetOrganizationComputeTimeUsage
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/RequiredStartDateParameter'
      - $ref: '#/components/parameters/RequiredEndDateParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetOrganizationComputeTimeUsageResponse'
  /api/admin/organizations/{organizationId}/usage/reports:
    get:
      summary: Get all usage reports
      description: Admin-only API to get all usage reports for an organization.
      x-internal-api: true
      security:
      - permissions:
        - admin:organizations:read
      tags:
      - Admin
      operationId: adminGetOrganizationUsageReports
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetReportsResponse'
    post:
      summary: Creates a new usage report
      description: Admin-only API to create a new usage report for an organization. A job is created to process the report request and the job details are returned in the response.
      x-internal-api: true
      security:
      - permissions:
        - admin:organizations:read
      tags:
      - Admin
      operationId: adminCreateOrganizationUsageReport
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/RequiredStartDateParameter'
      - $ref: '#/components/parameters/RequiredEndDateParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartJobResponse'
  /api/admin/organizations/{organizationId}/usage/reports/{reportId}:
    get:
      summary: Get usage report
      description: Admin-only API to get a usage report for an organization.
      x-internal-api: true
      security:
      - permissions:
        - admin:organizations:read
      tags:
      - Admin
      operationId: adminGetOrganizationUsageReport
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/ReportIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdminGetReportResponse'
    delete:
      summary: Delete usage report
      description: Admin-only API to delete a usage report for an organization.
      x-internal-api: true
      security:
      - permissions:
      

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