Edge Impulse Whitelabels API

The Whitelabels API from Edge Impulse — 5 operation(s) for whitelabels.

OpenAPI Specification

edge-impulse-whitelabels-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Edge Impulse Whitelabels API
  version: 1.0.0
servers:
- url: https://studio.edgeimpulse.com/v1
security:
- ApiKeyAuthentication: []
- JWTAuthentication: []
- JWTHttpHeaderAuthentication: []
tags:
- name: Whitelabels
paths:
  /api/whitelabels:
    get:
      summary: List the registered white labels
      description: Retrieve the list of registered white labels.
      x-internal-api: true
      security:
      - permissions:
        - whitelabels:read
      tags:
      - Whitelabels
      operationId: getAllWhitelabels
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllWhitelabelsResponse'
    post:
      summary: Create a new white label
      description: Create a new white label
      x-internal-api: true
      security:
      - permissions:
        - whitelabels:write
      tags:
      - Whitelabels
      operationId: createWhitelabel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWhitelabelRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateWhitelabelResponse'
  /api/whitelabel/{whitelabelIdentifier}:
    get:
      summary: White label information
      description: Retrieve all the information about this white label.
      x-internal-api: true
      security:
      - permissions:
        - whitelabels:read
      tags:
      - Whitelabels
      operationId: getWhitelabel
      parameters:
      - $ref: '#/components/parameters/WhitelabelIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetWhitelabelResponse'
    put:
      summary: Update white label
      description: Update the white label with the given id.
      x-internal-api: true
      security:
      - permissions:
        - whitelabels:write
      tags:
      - Whitelabels
      operationId: updateWhitelabel
      parameters:
      - $ref: '#/components/parameters/WhitelabelIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWhitelabelInternalRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Deletes a white label
      description: Deletes the white label with the given id.
      x-internal-api: true
      security:
      - permissions:
        - whitelabels:write
      tags:
      - Whitelabels
      operationId: deleteWhitelabel
      parameters:
      - $ref: '#/components/parameters/WhitelabelIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/whitelabel/{whitelabelIdentifier}/domain:
    get:
      summary: Get white label domain
      description: Get a white label domain given its unique identifier.
      operationId: getWhitelabelDomain
      security: []
      tags:
      - Whitelabels
      parameters:
      - $ref: '#/components/parameters/WhitelabelIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetWhitelabelDomainResponse'
  /api/whitelabel/{whitelabelIdentifier}/deploymentTargets:
    post:
      summary: Update deployment targets
      description: Update some or all of the deployment targets enabled for this white label.
      operationId: updateDeploymentTargets
      tags:
      - Whitelabels
      parameters:
      - $ref: '#/components/parameters/WhitelabelIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWhitelabelDeploymentTargetsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/whitelabel/{whitelabelIdentifier}/impulse/blocks:
    get:
      summary: Get impulse blocks
      description: Lists all possible DSP and ML blocks available for this white label.
      operationId: getAllImpulseBlocks
      tags:
      - Whitelabels
      parameters:
      - $ref: '#/components/parameters/WhitelabelIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetImpulseBlocksResponse'
components:
  schemas:
    BlockDisplayCategory:
      description: Category to display this block in the UI.
      type: string
      enum:
      - classical
      - tao
    BlockType:
      type: string
      enum:
      - official
      - personal
      - enterprise
      - pro-or-enterprise
      - community
    LearnBlock:
      type: object
      required:
      - type
      - title
      - author
      - description
      - name
      - recommend
      - blockType
      properties:
        type:
          type: string
          example: spectral-analysis
        title:
          type: string
          example: Spectral features
        author:
          type: string
          example: Edge Impulse Inc.
        description:
          type: string
        name:
          type: string
          example: Spectral analysis
        recommended:
          type: boolean
        organizationModelId:
          type: integer
        publicProjectTierAvailability:
          $ref: '#/components/schemas/PublicProjectTierAvailability'
        isPublicEnterpriseOnly:
          type: boolean
          description: Whether this block is publicly available to only enterprise users
        blockType:
          $ref: '#/components/schemas/BlockType'
        displayCategory:
          $ref: '#/components/schemas/BlockDisplayCategory'
    UpdateWhitelabelDeploymentTargetsRequest:
      type: object
      properties:
        targets:
          type: array
          description: The names of the deployment targets that are enabled for this whitelabel.
          items:
            type: string
    GetWhitelabelResponse:
      allOf:
      - $ref: '#/components/schemas/GenericApiResponse'
      - type: object
        properties:
          whitelabel:
            $ref: '#/components/schemas/Whitelabel'
    CreateWhitelabelRequest:
      type: object
      required:
      - name
      - domain
      - ownerOrganizationId
      properties:
        name:
          type: string
          example: Octopus's Garden
          description: The name of the white label.
        domain:
          type: string
          example: underthesea.com
          description: The domain where the white label lives.
        ownerOrganizationId:
          type: integer
        identityProviders:
          type: array
          items:
            type: string
          description: The list of allowed identity providers.
          example: '[google, okta, github]'
        allowPasswordAuth:
          type: boolean
          description: Whether this white label accepts password based authentication.
        deploymentTargets:
          type: array
          items:
            type: string
          description: The list of deployment targets to show on the UI
          example: '[''C++ library'', ''Arduino library'', ''Arduino Nano 33 BLE Sense'']'
        documentationUrl:
          type: string
          example: https://docs.edgeimpulse.com/renesas/
          description: Custom documentation URL
        allowSignup:
          type: boolean
          description: Whether this white label allow sign ups or not.
        allowFreeProjects:
          type: boolean
          description: Whether this white label allows the creation of free projects.
        sandboxed:
          type: boolean
          description: Whether this white label should work in sandboxed mode or not.
        exposePublicProjects:
          type: boolean
          description: Whether public projects created in this white label scope should be exposed through the Public Projects API or not.
        learningBlocks:
          type: array
          items:
            type: string
          description: The list of learning block types to show on the UI
          example: '[''keras'']'
        organizationsLimit:
          type: integer
          nullable: true
          description: The maximum number of organizations that can be created under this white label.
    Theme:
      type: object
      required:
      - id
      - name
      - favicon
      - logos
      - colors
      properties:
        id:
          type: integer
        ownerUserId:
          type: integer
        ownerOrganizationId:
          type: integer
        name:
          type: string
        favicon:
          type: object
          properties:
            favicon32:
              type: string
            favicon57:
              type: string
            favicon76:
              type: string
            favicon96:
              type: string
            favicon120:
              type: string
            favicon128:
              type: string
            favicon144:
              type: string
            favicon152:
              type: string
            favicon180:
              type: string
            favicon228:
              type: string
        logos:
          type: object
          properties:
            primary:
              type: string
            primaryPng:
              type: string
            primaryWhite:
              type: string
            loginLogo:
              type: string
            loginLogoWhite:
              type: string
            mark:
              type: string
            markWhite:
              type: string
            deviceLogo:
              type: string
        colors:
          type: object
          properties:
            primaryColor:
              type: string
            primaryColorRgb:
              type: array
              items:
                type: number
            primaryColorGradientEnd:
              type: string
    GetWhitelabelDomainResponse:
      allOf:
      - $ref: '#/components/schemas/GenericApiResponse'
      - type: object
        required:
        - domain
        properties:
          domain:
            type: string
          logo:
            type: string
    CreateWhitelabelResponse:
      allOf:
      - $ref: '#/components/schemas/GenericApiResponse'
      - type: object
        required:
        - id
        - themeId
        properties:
          id:
            type: integer
            description: Unique whitelabel identifier
          themeId:
            type: integer
            description: Unique identifier for the theme associated with the white label
    PublicProjectTierAvailability:
      description: For public blocks, this indicates the project tiers for which this block is available.
      type: string
      enum:
      - enterprise-only
      - pro-or-enterprise
      - all-projects
    GetAllWhitelabelsResponse:
      allOf:
      - $ref: '#/components/schemas/GenericApiResponse'
      - type: object
        required:
        - whitelabels
        properties:
          whitelabels:
            type: array
            items:
              $ref: '#/components/schemas/Whitelabel'
    GetImpulseBlocksResponse:
      allOf:
      - $ref: '#/components/schemas/GenericApiResponse'
      - type: object
        required:
        - inputBlocks
        - dspBlocks
        - learnBlocks
        properties:
          inputBlocks:
            type: array
            items:
              $ref: '#/components/schemas/InputBlock'
          dspBlocks:
            type: array
            items:
              $ref: '#/components/schemas/DSPBlock'
          learnBlocks:
            type: array
            items:
              $ref: '#/components/schemas/LearnBlock'
    DSPBlock:
      type: object
      required:
      - type
      - title
      - author
      - description
      - name
      - recommend
      - experimental
      - latestImplementationVersion
      - blockType
      properties:
        type:
          type: string
          example: spectral-analysis
        title:
          type: string
          example: Spectral features
        author:
          type: string
          example: Edge Impulse Inc.
        description:
          type: string
        name:
          type: string
          example: Spectral analysis
        recommended:
          type: boolean
        experimental:
          type: boolean
        latestImplementationVersion:
          type: integer
        organizationId:
          type: integer
        organizationDspId:
          type: integer
        blockType:
          $ref: '#/components/schemas/BlockType'
        namedAxes:
          type: array
          items:
            $ref: '#/components/schemas/DSPNamedAxis'
    ProjectType:
      type: string
      enum:
      - kws
      - audio
      - object-detection
      - image
      - accelerometer
      - other
    UpdateWhitelabelInternalRequest:
      type: object
      properties:
        organizationsLimit:
          type: integer
          nullable: true
          description: The maximum number of organizations that can be created under this white label.
    InputBlock:
      type: object
      required:
      - type
      - title
      - author
      - description
      - name
      - recommend
      - blockType
      properties:
        type:
          type: string
          enum:
          - time-series
          - image
          - features
        title:
          type: string
          example: Time series
        author:
          type: string
          example: Edge Impulse Inc.
        description:
          type: string
        name:
          type: string
          example: Time series
        recommended:
          type: boolean
        blockType:
          $ref: '#/components/schemas/BlockType'
    DevelopmentBoardResponse:
      type: object
      required:
      - id
      - name
      - image
      - docsUrl
      properties:
        id:
          type: integer
        name:
          type: string
        image:
          type: string
        docsUrl:
          type: string
    DeploymentOptionsOrder:
      type: array
      description: Optional attribute allowing a whitelabel to customize the order of deployment options in the deployment view, given as an in-order list of deployment options.
      items:
        type: string
        description: Deployment option name
        example: org-1
    DSPNamedAxis:
      type: object
      required:
      - name
      - description
      - required
      properties:
        name:
          type: string
        description:
          type: string
        required:
          type: boolean
    GenericApiResponse:
      type: object
      required:
      - success
      properties:
        success:
          type: boolean
          description: Whether the operation succeeded
        error:
          type: string
          description: Optional error description (set if 'success' was false)
    Whitelabel:
      type: object
      required:
      - id
      - name
      - domain
      - themeId
      - identityProviders
      - allowPasswordAuth
      - deploymentTargets
      - allDeploymentTargets
      - allowSignup
      - allowFreeProjects
      - supportedProjectTypes
      - allowNewProjectUi
      - learningBlocks
      - allLearningBlocks
      - developmentBoards
      - allDevelopmentBoards
      properties:
        id:
          type: integer
        name:
          type: string
        domain:
          type: string
        ownerOrganizationId:
          type: integer
        themeId:
          type: integer
        theme:
          $ref: '#/components/schemas/Theme'
        identityProviders:
          type: array
          items:
            type: string
        allowPasswordAuth:
          type: boolean
        deploymentTargets:
          description: List of deployment targets enabled for this white label
          type: array
          items:
            type: string
        allDeploymentTargets:
          description: List of all supported deployment targets
          type: array
          items:
            type: string
        customDeploymentBlocks:
          description: List of custom deployment blocks available to this white label
          type: array
          items:
            type: object
            required:
            - name
            - id
            properties:
              name:
                type: string
                description: The name of the custom deployment block
              id:
                type: number
                description: The custom deployment block ID
        deploymentOptionsOrder:
          $ref: '#/components/schemas/DeploymentOptionsOrder'
        allowSignup:
          type: boolean
        allowFreeProjects:
          type: boolean
        exposePublicProjects:
          type: boolean
        defaultDeploymentTarget:
          type: string
          description: The name of the default deployment target for this white label
          nullable: true
          example: C++ Library
        supportedProjectTypes:
          type: array
          items:
            $ref: '#/components/schemas/ProjectType'
        allowNewProjectUi:
          type: boolean
          description: Whether the new project UI should be enabled for this white label or not.
        learningBlocks:
          description: List of learning blocks enabled for this white label
          type: array
          items:
            type: string
        allLearningBlocks:
          description: List of all supported learning blocks
          type: array
          items:
            type: object
            required:
            - title
            - type
            properties:
              title:
                type: string
                description: The name of the learning block
              type:
                type: string
                description: The learning block type
        developmentBoards:
          type: array
          items:
            $ref: '#/components/schemas/DevelopmentBoardResponse'
        allDevelopmentBoards:
          type: array
          items:
            $ref: '#/components/schemas/DevelopmentBoardResponse'
        organizationsLimit:
          type: integer
          description: The maximum number of organizations that can be created under this white label.
  parameters:
    WhitelabelIdParameter:
      name: whitelabelIdentifier
      in: path
      required: true
      description: Whitelabel ID
      schema:
        type: integer
  securitySchemes:
    ApiKeyAuthentication:
      type: apiKey
      in: header
      name: x-api-key
    JWTAuthentication:
      type: apiKey
      in: cookie
      name: jwt
    JWTHttpHeaderAuthentication:
      type: apiKey
      in: header
      name: x-jwt-token