Edge Impulse OrganizationBlocks API

The OrganizationBlocks API from Edge Impulse — 17 operation(s) for organizationblocks.

OpenAPI Specification

edge-impulse-organizationblocks-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Edge Impulse OrganizationBlocks API
  version: 1.0.0
servers:
- url: https://studio.edgeimpulse.com/v1
security:
- ApiKeyAuthentication: []
- JWTAuthentication: []
- JWTHttpHeaderAuthentication: []
tags:
- name: OrganizationBlocks
paths:
  /api/organizations/{organizationId}/transformation:
    get:
      summary: Get transformation blocks
      description: Retrieve all transformation blocks.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: listOrganizationTransformationBlocks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationTransformationBlocksResponse'
    post:
      summary: Add transformation block
      description: Adds a transformation block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: addOrganizationTransformationBlock
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrganizationTransformationBlockRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityCreatedResponse'
  /api/organizations/{organizationId}/transformation/public:
    get:
      summary: List public transformation blocks
      description: Retrieve all transformation blocks published by other organizations, available for all organizations.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: listPublicOrganizationTransformationBlocks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPublicOrganizationTransformationBlocksResponse'
  /api/organizations/{organizationId}/transformation/public/{transformationId}:
    get:
      summary: Get public transformation block
      description: Retrieve a transformation blocks published by other organizations, available for all organizations.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/TransformationIdParameter'
      operationId: getPublicOrganizationTransformationBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPublicOrganizationTransformationBlockResponse'
  /api/organizations/{organizationId}/transformation/{transformationId}:
    get:
      summary: Get transformation block
      description: Get a transformation block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/TransformationIdParameter'
      operationId: getOrganizationTransformationBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationTransformationBlockResponse'
    post:
      summary: Update transformation block
      description: Updates a transformation block. Only values in the body will be updated.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/TransformationIdParameter'
      operationId: updateOrganizationTransformationBlock
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrganizationTransformationBlockRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete transformation block
      description: Deletes a transformation block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/TransformationIdParameter'
      operationId: deleteOrganizationTransformationBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/transformation/{transformationId}/export:
    post:
      summary: Export transformation block
      description: Download the source code for this block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/TransformationIdParameter'
      operationId: exportOrganizationTransformationBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportBlockResponse'
  /api/organizations/{organizationId}/deploy:
    get:
      summary: Get deploy blocks
      description: Retrieve all deploy blocks.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: listOrganizationDeployBlocks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationDeployBlocksResponse'
    post:
      summary: Add deploy block
      description: Adds a deploy block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: addOrganizationDeployBlock
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AddOrganizationDeployBlockRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityCreatedResponse'
  /api/organizations/{organizationId}/deploy/{deployId}:
    get:
      summary: Get deploy block
      description: Gets a deploy block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/DeployIdParameter'
      operationId: getOrganizationDeployBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationDeployBlockResponse'
    post:
      summary: Update deploy block
      description: Updates a deploy block. Only values in the body will be updated.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/DeployIdParameter'
      operationId: updateOrganizationDeployBlock
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateOrganizationDeployBlockRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete deploy block
      description: Deletes a deploy block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/DeployIdParameter'
      operationId: deleteOrganizationDeployBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/deploy/{deployId}/export:
    post:
      summary: Export deploy block
      description: Download the source code for this block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/DeployIdParameter'
      operationId: exportOrganizationDeployBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportBlockResponse'
  /api/organizations/{organizationId}/dsp:
    get:
      summary: Get dsp blocks
      description: Retrieve all dsp blocks.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: listOrganizationDspBlocks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationDspBlocksResponse'
    post:
      summary: Add dsp block
      description: Adds a dsp block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: addOrganizationDspBlock
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrganizationDspBlockRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityCreatedResponse'
  /api/organizations/{organizationId}/dsp/{dspId}:
    get:
      summary: Get dsp block
      description: Gets a dsp block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/DspIdParameter'
      operationId: getOrganizationDspBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationDspBlockResponse'
    post:
      summary: Update dsp block
      description: Updates a dsp block. Only values in the body will be updated.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/DspIdParameter'
      operationId: updateOrganizationDspBlock
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrganizationDspBlockRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete dsp block
      description: Deletes a dsp block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/DspIdParameter'
      operationId: deleteOrganizationDspBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/dsp/{dspId}/export:
    post:
      summary: Export dsp block
      description: Download the source code for this block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/DspIdParameter'
      operationId: exportOrganizationDspBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportBlockResponse'
  /api/organizations/{organizationId}/dsp/{dspId}/retry:
    post:
      summary: Retry connection to dsp block
      description: Retry launch a dsp block.
      tags:
      - OrganizationBlocks
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/DspIdParameter'
      operationId: retryOrganizationDspBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/transfer-learning:
    get:
      summary: Get transfer learning blocks
      description: Retrieve all transfer learning blocks.
      tags:
      - OrganizationBlocks
      x-middleware:
      - OrganizationAllowDeveloperProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: listOrganizationTransferLearningBlocks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationTransferLearningBlocksResponse'
    post:
      summary: Add transfer learning block
      description: Adds a transfer learning block.
      tags:
      - OrganizationBlocks
      x-middleware:
      - OrganizationAllowDeveloperProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: addOrganizationTransferLearningBlock
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrganizationTransferLearningBlockRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityCreatedResponse'
  /api/organizations/{organizationId}/transfer-learning/{transferLearningId}:
    get:
      summary: Get transfer learning block
      description: Gets a transfer learning block.
      tags:
      - OrganizationBlocks
      x-middleware:
      - OrganizationAllowDeveloperProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/TransferLearningIdParameter'
      operationId: getOrganizationTransferLearningBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationTransferLearningBlockResponse'
    post:
      summary: Update transfer learning block
      description: Updates a transfer learning block. Only values in the body will be updated.
      tags:
      - OrganizationBlocks
      x-middleware:
      - OrganizationAllowDeveloperProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/TransferLearningIdParameter'
      operationId: updateOrganizationTransferLearningBlock
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrganizationTransferLearningBlockRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete transfer learning block
      description: Deletes a transfer learning block.
      tags:
      - OrganizationBlocks
      x-middleware:
      - OrganizationAllowDeveloperProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/TransferLearningIdParameter'
      operationId: deleteOrganizationTransferLearningBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/transfer-learning/{transferLearningId}/export:
    post:
      summary: Export transfer learning block
      description: Download the source code for this block.
      tags:
      - OrganizationBlocks
      x-middleware:
      - OrganizationAllowDeveloperProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/TransferLearningIdParameter'
      operationId: exportOrganizationTransferLearningBlock
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportBlockResponse'
  /api/organizations/{organizationId}/secrets:
    get:
      summary: Get secrets
      description: Retrieve all secrets.
      tags:
      - OrganizationBlocks
      x-middleware:
      - OrganizationAllowDeveloperProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: listOrganizationSecrets
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationSecretsResponse'
    post:
      summary: Add secret
      description: Adds a secret.
      tags:
      - OrganizationBlocks
      x-middleware:
      - OrganizationAllowDeveloperProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: addOrganizationSecret
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrganizationSecretRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityCreatedResponse'
  /api/organizations/{organizationId}/secrets/{secretId}:
    delete:
      summary: Delete secret
      description: Deletes a secret
      tags:
      - OrganizationBlocks
      x-middleware:
      - OrganizationAllowDeveloperProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/SecretIdParameter'
      operationId: deleteOrganizationSecret
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
components:
  schemas:
    GetOrganizationTransformationBlockResponse:
      allOf:
      - $ref: '#/components/schemas/GenericApiResponse'
      - type: object
        required:
        - transformationBlock
        properties:
          transformationBlock:
            $ref: '#/components/schemas/OrganizationTransformationBlock'
    BlockDisplayCategory:
      description: Category to display this block in the UI.
      type: string
      enum:
      - classical
      - tao
    PublicOrganizationTransformationBlock:
      type: object
      required:
      - id
      - ownerOrganizationId
      - ownerOrganizationName
      - name
      - created
      - description
      - operatesOn
      - allowExtraCliArguments
      - showInDataSources
      - showInCreateTransformationJob
      - showInSyntheticData
      - showInAIActions
      properties:
        id:
          type: integer
        ownerOrganizationId:
          type: integer
        ownerOrganizationName:
          type: string
        name:
          type: string
        created:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
        description:
          type: string
        operatesOn:
          $ref: '#/components/schemas/TransformationJobOperatesOnEnum'
        allowExtraCliArguments:
          type: boolean
        parameters:
          description: List of parameters, spec'ed according to https://docs.edgeimpulse.com/docs/tips-and-tricks/adding-parameters-to-custom-blocks
          type: array
          items:
            type: object
        parametersUI:
          description: List of parameters to be rendered in the UI
          type: array
          items:
            $ref: '#/components/schemas/DSPGroupItem'
        repositoryUrl:
          type: string
          description: URL to the source code of this custom learn block.
        showInDataSources:
          type: boolean
          description: Whether to show this block in 'Data sources'. Only applies for standalone blocks.
        showInCreateTransformationJob:
          type: boolean
          description: Whether to show this block in 'Create transformation job'. Only applies for standalone blocks.
        showInSyntheticData:
          type: boolean
          description: Whether to show this block in 'Synthetic data'. Only applies for standalone blocks.
        showInAIActions:
          type: boolean
          description: Whether to show this block in 'AI Labeling'. Only applies for standalone blocks.
        aiActionsOperatesOn:
          type: array
          description: For AI labeling blocks, this lists the data types that the block supports. If this field is empty then there's no information about supported data types.
          items:
            $ref: '#/components/schemas/AIActionsOperatesOn'
    OrganizationDeployBlock:
      type: object
      required:
      - id
      - name
      - dockerContainer
      - dockerContainerManagedByEdgeImpulse
      - created
      - description
      - cliArguments
      - photo
      - privileged
      - mountLearnBlock
      - supportsEonCompiler
      - showOptimizations
      - category
      - sourceCodeAvailable
      properties:
        id:
          type: integer
        name:
          type: string
        dockerContainer:
          type: string
        dockerContainerManagedByEdgeImpulse:
          type: boolean
        created:
          type: string
          format: date-time
        createdByUser:
          $ref: '#/components/schemas/CreatedUpdatedByUser'
        lastUpdated:
          type: string
          format: date-time
        lastUpdatedByUser:
          $ref: '#/components/schemas/CreatedUpdatedByUser'
        userId:
          type: integer
        userName:
          type: string
        description:
          type: string
        cliArguments:
          description: These arguments are passed into the container
          type: string
        requestsCpu:
          type: number
        requestsMemory:
          type: integer
        limitsCpu:
          type: number
        limitsMemory:
          type: integer
        photo:
          type: string
        integrateUrl:
          type: string
        privileged:
          type: boolean
        mountLearnBlock:
          type: boolean
        supportsEonCompiler:
          type: boolean
        showOptimizations:
          type: boolean
        category:
          type: string
          enum:
          - library
          - firmware
        sourceCodeAvailable:
          type: boolean
    AIActionsOperatesOn:
      type: string
      enum:
      - images_object_detection
      - images_single_label
      - audio
      - other
    TransformationJobOperatesOnEnum:
      type: string
      enum:
      - file
      - directory
      - standalone
    AddOrganizationDspBlockRequest:
      type: object
      required:
      - name
      - dockerContainer
      - description
      - port
      properties:
        name:
          type: string
        dockerContainer:
          type: string
        description:
          type: string
        requestsCpu:
          type: number
        requestsMemory:
          type: integer
        limitsCpu:
          type: number
        limitsMemory:
          type: integer
        port:
          type: integer
    TransformationBlockAdditionalMountPoint:
      type: object
      required:
      - type
      - mountPoint
      properties:
        type:
          type: string
          enum:
          - bucket
          - portal
        bucketId:
          type: integer
        portalId:
          type: integer
        mountPoint:
          type: string
    AddOrganizationTransferLearningBlockRequest:
      type: object
      required:
      - name
      - dockerContainer
      - description
      - operatesOn
      - implementationVersion
      properties:
        name:
          type: string
        dockerContainer:
          type: string
        description:
          type: string
        operatesOn:
          $ref: '#/components/schemas/OrganizationTransferLearningOperatesOn'
        objectDetectionLastLayer:
          $ref: '#/components/schemas/ObjectDetectionLastLayer'
        implementationVersion:
          type: integer
        isPublic:
          type: boolean
          description: Whether this block is publicly available to Edge Impulse users (if false, then only for members of the owning organization)
        isPublicForDevices:
          description: If `isPublic` is true, the list of devices (from latencyDevices) for which this model can be shown.
          type: array
          items:
            type: string
        publicProjectTierAvailability:
          $ref: '#/components/schemas/PublicProjectTierAvailability'
        repositoryUrl:
          type: string
          description: URL to the source code of this custom learn block.
        parameters:
          description: List of parameters, spec'ed according to https://docs.edgeimpulse.com/docs/tips-and-tricks/adding-parameters-to-custom-blocks
          type: array
          items:
            type: object
        imageInputScaling:
          $ref: '#/components/schemas/ImageInputScaling'
        indRequiresGpu:
          description: If set, requires this block to be scheduled on GPU.
          type: boolean
        customModelVariants:
          description: List of custom model variants produced when this block is trained. This is experimental and may change in the future.
          type: array
          items:
            $ref: '#/components/schemas/OrganizationTransferLearningBlockCustomVariant'
        displayCategory:
          $ref: '#/components/schemas/BlockDisplayCategory'
    ListOrganizationDeployBlocksResponse:
      allOf:
      - $ref: '#/components/schemas/GenericApiResponse'
      - type: object
        required:
        - deployBlocks
        properties:
          deployBlocks:
            type: array
            items:
              $ref: '#/components/schemas/OrganizationDeployBlock'
    OrganizationTransferLearningBlock:
      type: object
      required:
      - id
      - name
      - dockerContainer
      - dockerContainerManagedByEdgeImpulse
      - created
      - description
      - operatesOn
      - implementationVersion
      - isPublic
      - isPublicForDevices
      - isPublicEnterpriseOnly
      - parameters
      - indRequiresGpu
      - sourceCodeAvailable
      properties:
        id:
          type: integer
        name:
          type: string
        dockerContainer:
          type: string
        dockerContainerManagedByEdgeImpulse:
          type: boolean
        created:
          type: string
          format: date-time
        createdByUser:
          $ref: '#/components/schemas/CreatedUpdatedByUser'
        lastUpdated:
          type: string
          format: date-time
        lastUpdatedByUser:
          $ref: '#/components/schemas/CreatedUpdatedByUser'
        description:
          type: string
        userId:
          type: integer
        userName:
          type: string
        operatesOn:
          $ref: '#/components/schemas/OrganizationTransferLearningOperatesOn'
        objectDetectionLastLayer:
          $ref: '#/components/schemas/ObjectDetectionLastLayer'
        implementationVersion:
          type: integer
        isPublic:
          type: boolean
          description: Whether this block is publicly available to Edge Impulse users (if false, then only for members of the owning organization)
        isPublicForDevices:
          description: If `isPublic` is true, the list of devices (from latencyDevices) for which this model can be shown.
          type: array
          items:
            type: string
        publicProjectTierAvailability:
          $ref: '#/components/schemas/PublicProjectTierAvailability'
        isPublicEnterpriseOnly:
          type: boolean
          description: Whether this block is publicly available to only enterprise users
        enterpriseOnly:
          type: boolean
          description: Whether this block is available to only enterprise users
        repositoryUrl:
          type: string
          description: URL to the source code of this custom learn block.
        parameters:
          description: List of parameters, spec'ed according to https://docs.edgeimpulse.com/docs/tips-and-tricks/adding-parameters-to-custom-blocks
          type: array
          items:
            type: object
        imageInputScaling:
          $ref: '#/components/schemas/ImageInputScaling'
        indRequiresGpu:
          description: If set, requires this block to be scheduled on GPU.
          type: boolean
        sourceCodeAvailable:
          type: boolean
        displayCategory:
          $ref: '#/components/schemas/BlockDisplayCategory'
        customModelVariants:
          description: List of custom model variants produced when this block is trained. This is experimental and may change in the future.
          type: array
          items:
            $ref: '#/components/schemas/OrganizationTransferLearningBlockCustomVariant'
    GetOrganizationDspBlockResponse:
      allOf:
      - $ref: '#/components/schemas/GenericApiResponse'
      - type: object
        required:
        - dspBlock
        properties:
          dspBlock:
            $ref: '#/components/schemas/OrganizationDspBlock'
    AddOrganizationDeployBlockRequest:
      type: object
      required:
      - name
      - dockerContainer
      - description
      - cliArguments
      properties:
        name:
          type: string
        dockerContainer:
          type: string
        description:
          type: string
        cliArguments:
          type: string
        requestsCpu:
          type: number
        requestsMemory:
          type: integer
        limitsCpu:
          type: number
        limitsMemory:
          type: integer
        photo:
          type: string
          format: binary
        integrateUrl:
          type: string
        privileged:
          type: boolean
        mountLearnBlock:
          type: boolean
        supportsEonCompiler:
          type: boolean
        showOptimizations:
          type: boolean
        category:
          type: string
          enum:
          - library
          - firmware
    GetOrganizationTransferLearningBlockResponse:
      allOf:
      - $ref: '#/components/schemas/GenericApiResponse'
      - type: object
        required:
        - transferLearningBlock
        properties:
          transferLearningBlock:
            $ref: '#/components/schemas/OrganizationTransferLearningBlock'
    UpdateOrganizationDspBlockRequest:
      type: object
      properties:
        name:
          type: string
        dockerContainer:
          type: string
        description:
          type: string
        requestsCpu:
          type: number
        requestsMemory:
          type: integer
        limitsCpu:
          type: number
        limitsMemory:
          type: integer
        port:
          type: integer
    OrganizationTransferLearningBlockModelFile:
      type: object
      required:
      - id
      - name
      - type
      - description
      properties:
        id:
          type: string
          description: Output artifact unique file ID, in kebab case
        name:
          type: string
          description: Output artifact file name
        type:
          type: string
          description: Output artifact file type
          enum:
          - binary
          - json
          - text
        description:
          type: string
          description

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