Edge Impulse OrganizationPipelines API
The OrganizationPipelines API from Edge Impulse — 5 operation(s) for organizationpipelines.
The OrganizationPipelines API from Edge Impulse — 5 operation(s) for organizationpipelines.
openapi: 3.0.0
info:
title: Edge Impulse OrganizationPipelines API
version: 1.0.0
servers:
- url: https://studio.edgeimpulse.com/v1
security:
- ApiKeyAuthentication: []
- JWTAuthentication: []
- JWTHttpHeaderAuthentication: []
tags:
- name: OrganizationPipelines
paths:
/api/organizations/{organizationId}/pipelines:
get:
summary: List pipelines
description: Retrieve all organizational pipelines
tags:
- OrganizationPipelines
x-middleware:
- OrganizationAllowDeveloperProfile
parameters:
- $ref: '#/components/parameters/OrganizationIdParameter'
- $ref: '#/components/parameters/ListPipelinesProjectIdParameter'
operationId: listOrganizationPipelines
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrganizationPipelinesResponse'
post:
summary: Create pipeline
description: Create an organizational pipelines
tags:
- OrganizationPipelines
x-middleware:
- OrganizationAllowDeveloperProfile
parameters:
- $ref: '#/components/parameters/OrganizationIdParameter'
operationId: createOrganizationPipeline
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationUpdatePipelineBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/EntityCreatedResponse'
/api/organizations/{organizationId}/pipelines/archived:
get:
summary: List archived pipelines
description: Retrieve all archived organizational pipelines
tags:
- OrganizationPipelines
x-middleware:
- OrganizationAllowDeveloperProfile
parameters:
- $ref: '#/components/parameters/OrganizationIdParameter'
- $ref: '#/components/parameters/ListPipelinesProjectIdParameter'
operationId: listArchivedOrganizationPipelines
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrganizationPipelinesResponse'
/api/organizations/{organizationId}/pipelines/{pipelineId}:
get:
summary: Get pipeline
description: Retrieve an organizational pipelines
tags:
- OrganizationPipelines
x-middleware:
- OrganizationAllowDeveloperProfile
parameters:
- $ref: '#/components/parameters/OrganizationIdParameter'
- $ref: '#/components/parameters/OrganizationPipelineIdParameter'
operationId: getOrganizationPipeline
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetOrganizationPipelinesResponse'
post:
summary: Update pipeline
description: Update an organizational pipelines
tags:
- OrganizationPipelines
x-middleware:
- OrganizationAllowDeveloperProfile
parameters:
- $ref: '#/components/parameters/OrganizationIdParameter'
- $ref: '#/components/parameters/OrganizationPipelineIdParameter'
operationId: updateOrganizationPipeline
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationUpdatePipelineBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
delete:
summary: Delete pipeline
description: Delete an organizational pipelines
tags:
- OrganizationPipelines
x-middleware:
- OrganizationAllowDeveloperProfile
parameters:
- $ref: '#/components/parameters/OrganizationIdParameter'
- $ref: '#/components/parameters/OrganizationPipelineIdParameter'
operationId: deleteOrganizationPipeline
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
/api/organizations/{organizationId}/pipelines/{pipelineId}/run:
post:
summary: Run pipeline
description: Run an organizational pipeline
tags:
- OrganizationPipelines
x-middleware:
- OrganizationAllowDeveloperProfile
parameters:
- $ref: '#/components/parameters/OrganizationIdParameter'
- $ref: '#/components/parameters/OrganizationPipelineIdParameter'
- $ref: '#/components/parameters/IgnoreLastSuccessfulRunQueryParameter'
operationId: runOrganizationPipeline
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RunOrganizationPipelineResponse'
/api/organizations/{organizationId}/pipelines/{pipelineId}/stop:
post:
summary: Stop a running pipeline
description: Stops the pipeline, and marks it as failed.
tags:
- OrganizationPipelines
x-middleware:
- OrganizationAllowDeveloperProfile
parameters:
- $ref: '#/components/parameters/OrganizationIdParameter'
- $ref: '#/components/parameters/OrganizationPipelineIdParameter'
operationId: stopOrganizationPipeline
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericApiResponse'
components:
parameters:
OrganizationPipelineIdParameter:
name: pipelineId
in: path
required: true
description: Pipeline ID
schema:
type: integer
ListPipelinesProjectIdParameter:
name: projectId
in: query
required: false
description: If set, filters on pipelines which are attached to this project.
schema:
type: integer
IgnoreLastSuccessfulRunQueryParameter:
name: ignoreLastSuccessfulRun
in: query
required: false
description: If set then `EI_LAST_SUCCESSFUL_RUN` is not set. You can use this to re-run a pipeline from scratch.
schema:
type: boolean
OrganizationIdParameter:
name: organizationId
in: path
required: true
description: Organization ID
schema:
type: integer
schemas:
OrganizationCreateProject:
type: object
required:
- id
- organizationId
- name
- status
- transformJobStatus
- uploadJobStatus
- uploadType
- category
- created
- totalDownloadFileCount
- totalDownloadFileSize
- totalDownloadFileSizeString
- totalUploadFileCount
- transformationParallel
- transformationSummary
- inProgress
- operatesOn
- totalTimeSpentSeconds
- totalTimeSpentString
properties:
id:
type: integer
organizationId:
type: integer
name:
type: string
uploadType:
type: string
enum:
- dataset
- project
status:
$ref: '#/components/schemas/TransformationJobStatusEnum'
transformJobStatus:
$ref: '#/components/schemas/TransformationJobStatusEnum'
uploadJobId:
type: integer
uploadJobStatus:
$ref: '#/components/schemas/TransformationJobStatusEnum'
uploadJobFilesUploaded:
type: integer
projectOwner:
type: string
projectId:
type: integer
projectName:
type: string
transformationBlockId:
type: integer
builtinTransformationBlock:
type: object
transformationBlockName:
type: string
category:
type: string
enum:
- training
- testing
- split
created:
type: string
format: date-time
outputDatasetName:
type: string
outputDatasetBucketId:
type: integer
outputDatasetBucketPath:
type: string
totalDownloadFileCount:
type: integer
totalDownloadFileSize:
type: integer
totalDownloadFileSizeString:
type: string
totalUploadFileCount:
type: integer
transformationParallel:
type: integer
description: Number of transformation jobs that can be ran in parallel
transformationSummary:
type: object
required:
- startedCount
- succeededCount
- finishedCount
- totalFileCount
- totalTimeSpentSeconds
properties:
startedCount:
type: integer
succeededCount:
type: integer
finishedCount:
type: integer
totalFileCount:
type: integer
totalTimeSpentSeconds:
type: integer
description: Total amount of compute used for this job (in seconds)
inProgress:
type: boolean
label:
type: string
filterQuery:
type: string
emailRecipientUids:
type: array
items:
type: integer
pipelineId:
type: integer
pipelineName:
type: string
pipelineRunId:
type: integer
pipelineStep:
type: integer
operatesOn:
$ref: '#/components/schemas/TransformationJobOperatesOnEnum'
totalTimeSpentSeconds:
type: integer
description: Total amount of compute used for this job (in seconds)
totalTimeSpentString:
type: string
description: Total amount of compute used (friendly string)
createdByUser:
$ref: '#/components/schemas/CreatedUpdatedByUser'
OrganizationCreateProjectOutputDatasetPathRule:
description: Defines the folder structure for writing to the output dataset. Used only when uploading into a default (non-clinical) dataset.
type: string
enum:
- no-subfolders
- subfolder-per-item
- use-full-path
TransformationJobOperatesOnEnum:
type: string
enum:
- file
- directory
- standalone
ListOrganizationPipelinesResponse:
allOf:
- $ref: '#/components/schemas/GenericApiResponse'
- type: object
required:
- pipelines
properties:
pipelines:
type: array
items:
$ref: '#/components/schemas/OrganizationPipeline'
OrganizationPipelineRun:
type: object
required:
- id
- steps
- created
properties:
id:
type: integer
steps:
type: array
items:
$ref: '#/components/schemas/OrganizationPipelineRunStep'
created:
type: string
format: date-time
finished:
type: string
format: date-time
itemCountBefore:
description: Item count before the pipeline ran, only set when the pipeline has a dataset attached.
$ref: '#/components/schemas/OrganizationPipelineItemCount'
itemCountAfter:
description: Item count after the pipeline ran, only set when the pipeline has a dataset attached.
$ref: '#/components/schemas/OrganizationPipelineItemCount'
itemCountImportIntoProjectFailed:
description: Number of data items that failed to import into a project (through the s3-to-project, portal-to-project or dataset-to-project) transform blocks
type: integer
GetOrganizationPipelinesResponse:
allOf:
- $ref: '#/components/schemas/GenericApiResponse'
- type: object
required:
- pipeline
properties:
pipeline:
$ref: '#/components/schemas/OrganizationPipeline'
OrganizationDatasetTypeEnum:
type: string
enum:
- clinical
- files
RunOrganizationPipelineResponse:
allOf:
- $ref: '#/components/schemas/GenericApiResponse'
- type: object
required:
- pipelineRun
properties:
pipelineRun:
$ref: '#/components/schemas/OrganizationPipelineRun'
OrganizationPipelineItemCount:
type: object
required:
- itemCount
- itemCountChecklistOK
- itemCountChecklistFailed
properties:
itemCount:
type: integer
itemCountChecklistOK:
type: integer
itemCountChecklistFailed:
type: integer
OrganizationPipeline:
type: object
required:
- id
- name
- description
- steps
- created
- emailRecipientUids
- whenToEmail
properties:
id:
type: integer
name:
type: string
description:
type: string
intervalStr:
type: string
description: 15m for every 15 minutes, 2h for every 2 hours, 1d for every 1 day
steps:
type: array
items:
$ref: '#/components/schemas/OrganizationPipelineStep'
nextRun:
type: string
format: date-time
created:
type: string
format: date-time
currentRun:
$ref: '#/components/schemas/OrganizationPipelineRun'
lastRun:
$ref: '#/components/schemas/OrganizationPipelineRun'
feedingIntoDataset:
type: object
required:
- dataset
- datasetLink
- itemCount
- itemCountChecklistOK
- itemCountChecklistError
properties:
dataset:
type: string
datasetLink:
type: string
itemCount:
type: integer
itemCountChecklistOK:
type: integer
itemCountChecklistError:
type: integer
datasetType:
$ref: '#/components/schemas/OrganizationDatasetTypeEnum'
feedingIntoProject:
type: object
required:
- id
- name
- projectLink
- itemCount
properties:
id:
type: integer
name:
type: string
projectLink:
type: string
itemCount:
type: integer
emailRecipientUids:
type: array
items:
type: integer
lastRunStartError:
type: string
notificationWebhook:
type: string
whenToEmail:
type: string
enum:
- always
- on_new_data
- never
CreatedUpdatedByUser:
type: object
required:
- id
- name
- username
properties:
id:
type: integer
name:
type: string
username:
type: string
photo:
type: string
OrganizationUpdatePipelineBody:
type: object
required:
- name
- description
- steps
- emailRecipientUids
- whenToEmail
properties:
name:
type: string
description:
type: string
intervalStr:
type: string
description: 15m for every 15 minutes, 2h for every 2 hours, 1d for every 1 day
steps:
type: array
items:
$ref: '#/components/schemas/OrganizationPipelineStep'
dataset:
type: string
projectId:
type: integer
emailRecipientUids:
type: array
items:
type: integer
notificationWebhook:
type: string
whenToEmail:
type: string
enum:
- always
- on_new_data
- never
archived:
type: boolean
OrganizationPipelineStep:
type: object
required:
- name
properties:
name:
type: string
filter:
type: string
pathFilters:
type: array
description: Set of paths to apply the transformation to, used for creating transformation jobs on default datasets. This option is experimental and may change in the future.
items:
$ref: '#/components/schemas/OrganizationCreateProjectPathFilter'
uploadType:
type: string
enum:
- project
- dataset
projectId:
type: integer
newProjectName:
type: string
projectApiKey:
type: string
projectHmacKey:
type: string
transformationBlockId:
type: integer
builtinTransformationBlock:
type: object
category:
type: string
enum:
- training
- testing
- split
outputDatasetName:
type: string
outputDatasetBucketId:
type: integer
outputDatasetBucketPath:
type: string
outputPathInDataset:
description: Path within the selected dataset to upload transformed files into. Used only when uploading into a default (non-clinical) dataset.
type: string
outputDatasetPathRule:
$ref: '#/components/schemas/OrganizationCreateProjectOutputDatasetPathRule'
label:
type: string
transformationParallel:
type: integer
extraCliArguments:
type: string
parameters:
type: object
additionalProperties:
type: string
TransformationJobStatusEnum:
type: string
enum:
- waiting
- created
- started
- finished
- failed
EntityCreatedResponse:
allOf:
- $ref: '#/components/schemas/GenericApiResponse'
- type: object
required:
- id
properties:
id:
type: integer
description: Unique identifier of the created entity.
OrganizationPipelineRunStep:
type: object
required:
- name
- status
properties:
name:
type: string
transformationJob:
$ref: '#/components/schemas/OrganizationCreateProject'
filter:
type: string
uploadType:
type: string
enum:
- project
- dataset
projectId:
type: integer
newProjectName:
type: string
projectApiKey:
type: string
projectHmacKey:
type: string
transformationBlockId:
type: integer
builtinTransformationBlock:
type: object
category:
type: string
enum:
- training
- testing
- split
outputDatasetName:
type: string
outputDatasetBucketId:
type: integer
outputDatasetBucketPath:
type: string
label:
type: string
extraCliArguments:
type: string
parameters:
type: object
additionalProperties:
type: string
OrganizationCreateProjectPathFilter:
type: object
description: Filter, given as a dataset and path containing wildcards, used for creating transformation jobs
required:
- dataset
- filter
properties:
dataset:
type: string
description: Dataset name of files to transform
filter:
type: string
description: Path filter with wildcards, relative to the root of the dataset. For example, /folder/*.json will transform all JSON files in /folder (when operating on files)
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)
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