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: Output artifact file description OrganizationDspBlock: type: object required: - id - name - dockerContainer - dockerContainerManagedByEdgeImpulse - created - description - port - isConnected - 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 requestsCpu: type: number requestsMemory: type: integer limitsCpu: type: number limitsMemory: type: integer port: type: integer isConnected: type: boolean error: type: string sourceCodeAvailable: type: boolean 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 ListOrganizationDspBlocksResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - dspBlocks properties: dspBlocks: type: array items: $ref: '#/components/schemas/OrganizationDspBlock' GetPublicOrganizationTransformationBlockResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - transformationBlock properties: transformationBlock: $ref: '#/components/schemas/PublicOrganizationTransformationBlock' OrganizationTransferLearningBlockCustomVariant: type: object required: - key - name - inferencingEntrypoint properties: key: type: string description: Unique identifier or key for this custom variant name: type: string description: Custom variant display name inferencingEntrypoint: type: string description: The entrypoint command to run custom inferencing for this model variant, via the learn block container profilingEntrypoint: type: string description: The entrypoint command to run custom profiling for this model variant, via the learn block container modelFiles: type: array items: $ref: '#/components/schemas/OrganizationTransferLearningBlockModelFile' CreatedUpdatedByUser: type: object required: - id - name - username properties: id: type: integer name: type: string username: type: string photo: type: string UpdateOrganizationTransformationBlockRequest: type: object properties: name: type: string dockerContainer: type: string indMetadata: description: Whether to pass the `--metadata` parameter to the container. type: boolean description: type: string cliArguments: type: string requestsCpu: type: number requestsMemory: type: integer limitsCpu: type: number limitsMemory: type: integer additionalMountPoints: type: array items: $ref: '#/components/schemas/TransformationBlockAdditionalMountPoint' 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 maxRunningTimeStr: type: string description: 15m for 15 minutes, 2h for 2 hours, 1d for 1 day. If not set, the default is 8 hours. isPublic: type: boolean 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. environmentVariables: type: array items: $ref: '#/components/schemas/EnvironmentVariable' 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' ListOrganizationTransferLearningBlocksResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - transferLearningBlocks properties: transferLearningBlocks: type: array items: $ref: '#/components/schemas/OrganizationTransferLearningBlock' OrganizationTransformationBlock: type: object required: - id - name - dockerContainer - dockerContainerManagedByEdgeImpulse - created - description - cliArguments - indMetadata - additionalMountPoints - operatesOn - allowExtraCliArguments - sourceCodeAvailable - showInDataSources - showInCreateTransformationJob - showInSyntheticData - showInAIActions - isPublic - environmentVariables 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 indMetadata: type: boolean requestsCpu: type: number requestsMemory: type: integer limitsCpu: type: number limitsMemory: type: integer additionalMountPoints: type: array items: $ref: '#/components/schemas/TransformationBlockAdditionalMountPoint' 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' maxRunningTimeStr: type: string description: 15m for 15 minutes, 2h for 2 hours, 1d for 1 day. If not set, the default is 8 hours. sourceCodeAvailable: type: boolean repositoryUrl: type: string description: URL to the source code of this custom learn block. isPublic: type: boolean description: Whether this block is publicly available to Edge Impulse users (if false, then only for members of the owning organization) 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. environmentVariables: type: array items: $ref: '#/components/schemas/EnvironmentVariable' description: Extra environmental variables that are passed into the transformation block (key/value pairs). 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' ExportBlockResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - id - exportUrl properties: id: type: integer description: Job identifier. Status updates will include this identifier. example: 12873488112 exportUrl: type: string AddOrganizationSecretRequest: type: object required: - name - description - secret properties: name: type: string description: type: string secret: type: string ObjectDetectionLastLayer: type: string enum: - mobilenet-ssd - fomo - yolov2-akida - yolov5 - yolov5v5-drpai - yolox - yolov7 - tao-retinanet - tao-ssd - tao-yolov3 - tao-yolov4 AddOrganizationTransformationBlockRequest: type: object required: - name - dockerContainer - indMetadata - description - cliArguments - additionalMountPoints - operatesOn properties: name: type: string dockerContainer: type: string indMetadata: description: Whether to pass the `--metadata` parameter to the container. type: boolean description: type: string cliArguments: type: string requestsCpu: type: number requestsMemory: type: integer limitsCpu: type: number limitsMemory: type: integer additionalMountPoints: type: array items: $ref: '#/components/schemas/TransformationBlockAdditionalMountPoint' operatesOn: type: string enum: - file - directory - dataitem - standalone 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 maxRunningTimeStr: type: string description: 15m for 15 minutes, 2h for 2 hours, 1d for 1 day. If not set, the default is 8 hours. isPublic: type: boolean repositoryUrl: description: URL to the source code of this custom learn block. type: string showInDataSources: type: boolean description: Whether to show this block in 'Data sources'. Only applies for standalone blocks. (defaults to 'true' when not provided) 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. environmentVariables: type: array items: $ref: '#/components/schemas/EnvironmentVariable' 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' ImageInputScaling: description: Normalization that is applied to images. If this is not set then 0..1 is used. "0..1" gives you non-normalized pixels between 0 and 1. "-1..1" gives you non-normalized pixels between -1 and 1. "0..255" gives you non-normalized pixels between 0 and 255. "-128..127" gives you non-normalized pixels between -128 and 127. "torch" first scales pixels between 0 and 1, then applies normalization using the ImageNet dataset (same as `torchvision.transforms.Normalize()`). "bgr-subtract-imagenet-mean" scales to 0..255, reorders pixels to BGR, and subtracts the ImageNet mean from each channel. type: string enum: - 0..1 - -1..1 - -128..127 - 0..255 - torch - bgr-subtract-imagenet-mean ListOrganizationTransformationBlocksResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - transformationBlocks properties: transformationBlocks: type: array items: $ref: '#/components/schemas/OrganizationTransformationBlock' UpdateOrganizationTransferLearningBlockRequest: type: object 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 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' UpdateOrganizationDeployBlockRequest: type: object 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 EnvironmentVariable: type: object required: - key properties: key: type: string description: Environmental variable key. Needs to adhere to regex "^[a-zA-Z_]+[a-zA-Z0-9_]*$". value: description: If value is left undefined, only the key is passed in as an environmental variable. type: string EntityCreatedResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - id properties: id: type: integer description: Unique identifier of the created entity. DSPGroupItem: type: object required: - name - type - param - defaultValue - readonly - shouldShow - required properties: name: type: string example: Scale axes value: type: string defaultValue: type: string type: type: string example: text help: type: string example: Divide axes by this number param: type: string example: scale-axes selectOptions: type: array items: type: object properties: value: type: string selected: type: boolean optionLabel: type: string readonly: type: boolean shouldShow: type: boolean showIf: type: object required: - parameter - operator - value properties: parameter: type: string operator: type: string enum: - eq - neq value: type: string invalidText: type: string section: type: string description: Interface section to render parameter in. enum: - advanced - augmentation - modelProfiling multiline: type: boolean description: Only valid for type "string". Will render a multiline text area. required: type: boolean hint: type: string description: If set, shows a hint below the input. placeholder: type: string description: Sets the placeholder text on the input element (for types "string", "int", "float" and "secret") OrganizationTransferLearningOperatesOn: type: string enum: - object_detection - audio - image - regression - other GetOrganizationDeployBlockResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - deployBlock properties: deployBlock: $ref: '#/components/schemas/OrganizationDeployBlock' 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) ListPublicOrganizationTransformationBlocksResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - transformationBlocks properties: transformationBlocks: type: array items: $ref: '#/components/schemas/PublicOrganizationTransformationBlock' ListOrganizationSecretsResponse: allOf: - $ref: '#/components/schemas/GenericApiResponse' - type: object required: - secrets properties: secrets: type: array items: type: object required: - id - name - description - created properties: id: type: integer name: type: string description: type: string created: type: string format: date-time createdByUser: $ref: '#/components/schemas/CreatedUpdatedByUser' parameters: DeployIdParameter: name: deployId in: path required: true description: Deploy block ID. schema: type: integer SecretIdParameter: name: secretId in: path required: true description: Secret ID schema: type: integer DspIdParameter: name: dspId in: path required: true description: DSP Block ID, use the impulse functions to retrieve the ID schema: type: integer OrganizationIdParameter: name: organizationId in: path required: true description: Organization ID schema: type: integer TransferLearningIdParameter: name: transferLearningId in: path required: true description: Transfer learning ID schema: type: integer TransformationIdParameter: name: transformationId in: path required: true description: Transformation block 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