# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Edge Impulse Organization Create Project API version: 1.0.0 extends: openapi/edge-impulse-organizationcreateproject-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 15 - target: $.paths['/api/organizations/{organizationId}/create-project'].get update: x-apievangelist-phrasing: intent: List an organization's transformation jobs effect: read questions: - Which transformation jobs has my organization run against its datasets? - Can I include jobs started by data pipelines when listing transformation jobs? instructions: - text: List transformation jobs for organization {organizationId}. slots: organizationId: path.organizationId - text: Show {limit} transformation jobs in organization {organizationId}, including pipeline jobs. slots: limit: query.limit organizationId: path.organizationId method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/create-project'].post update: x-apievangelist-phrasing: intent: Start a transformation job effect: write questions: - How do I pull files from my organization's dataset into a new or existing project? - Can I run a transformation block over a dataset and write the output to another dataset? - Is it possible to email people when a transformation job finishes? instructions: - text: Start transformation job {name} in organization {organizationId} that imports into project {projectId}. slots: name: requestBody.name organizationId: path.organizationId projectId: requestBody.projectId - text: Run transformation block {transformationBlockId} as job {name} and write results to dataset {outputDatasetName}. slots: transformationBlockId: requestBody.transformationBlockId name: requestBody.name outputDatasetName: requestBody.outputDatasetName - text: Create a new project called {newProjectName} from organization data matching {filter}, using job name {name}. slots: newProjectName: requestBody.newProjectName filter: requestBody.filter name: requestBody.name method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/create-project/{createProjectId}'].get update: x-apievangelist-phrasing: intent: Check a transformation job's status effect: read questions: - How far along is my transformation job, and which files have failed? - Can I page through the per-file transform results of a job? instructions: - text: Get the status of transformation job {createProjectId} in organization {organizationId}, files {transformOffset} onward, {transformLimit} at a time. slots: createProjectId: path.createProjectId organizationId: path.organizationId transformOffset: query.transformOffset transformLimit: query.transformLimit - text: Show progress of transformation job {createProjectId} for the first {transformLimit} files from offset {transformOffset}. slots: createProjectId: path.createProjectId transformLimit: query.transformLimit transformOffset: query.transformOffset method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/create-project/{createProjectId}'].post update: x-apievangelist-phrasing: intent: Update a running transformation job effect: write questions: - Can I change how many files a transformation job processes in parallel after it started? - How do I change who gets emailed about an existing transformation job? instructions: - text: Set parallelism of transformation job {createProjectId} in organization {organizationId} to {transformationParallel}. slots: createProjectId: path.createProjectId organizationId: path.organizationId transformationParallel: requestBody.transformationParallel - text: Change the email recipients of transformation job {createProjectId} to {emailRecipientUids}. slots: createProjectId: path.createProjectId emailRecipientUids: requestBody.emailRecipientUids method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/create-project/{createProjectId}'].delete update: x-apievangelist-phrasing: intent: Delete a transformation job effect: destructive questions: - Does removing a transformation job stop the jobs it's still running? - How do I delete a transformation job I no longer want? instructions: - text: Delete transformation job {createProjectId} in organization {organizationId}. slots: createProjectId: path.createProjectId organizationId: path.organizationId - text: Stop and remove transformation job {createProjectId}. slots: createProjectId: path.createProjectId method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/create-project/{createProjectId}/transform/retry'].post update: x-apievangelist-phrasing: intent: Retry failed transform jobs effect: write questions: - Can I rerun only the transform steps that failed in a transformation job? - How do I retry the failed files' transforms without redoing successful ones? instructions: - text: Retry all failed transforms in transformation job {createProjectId} for organization {organizationId}. slots: createProjectId: path.createProjectId organizationId: path.organizationId - text: Rerun failed transform steps of job {createProjectId}. slots: createProjectId: path.createProjectId method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/create-project/{createProjectId}/transform/clear'].post update: x-apievangelist-phrasing: intent: Clear failed transform jobs effect: destructive questions: - How do I discard failed transform entries instead of retrying them? - Can I clean up the failures in a transformation job and leave successful files alone? instructions: - text: Clear the failed transforms from transformation job {createProjectId} in organization {organizationId}. slots: createProjectId: path.createProjectId organizationId: path.organizationId - text: Drop failed transform entries from job {createProjectId}. slots: createProjectId: path.createProjectId method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/create-project/{createProjectId}/upload/retry'].post update: x-apievangelist-phrasing: intent: Retry a transformation job's upload step effect: write questions: - The upload into my project failed after transforming; can I retry just that step? - How do I rerun the upload stage of a transformation job? instructions: - text: Retry the upload step of transformation job {createProjectId} in organization {organizationId}. slots: createProjectId: path.createProjectId organizationId: path.organizationId - text: Rerun the failed project upload for job {createProjectId}. slots: createProjectId: path.createProjectId method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/create-project/{createProjectId}/files/{createProjectFileId}'].delete update: x-apievangelist-phrasing: intent: Remove a file from a transformation job effect: destructive questions: - Can I take a single file out of a transformation job? - Why can't I remove a file from a job while it's still being processed? instructions: - text: Remove file {createProjectFileId} from transformation job {createProjectId} in organization {organizationId}. slots: createProjectFileId: path.createProjectFileId createProjectId: path.createProjectId organizationId: path.organizationId - text: Delete file {createProjectFileId} from job {createProjectId}. slots: createProjectFileId: path.createProjectFileId createProjectId: path.createProjectId method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/create-project/{createProjectId}/files/{createProjectFileId}/retry'].post update: x-apievangelist-phrasing: intent: Retry one failed file in a transformation job effect: write questions: - How do I retry the transformation of one specific file that failed? - Can I reprocess a single file instead of every failure in the job? instructions: - text: Retry file {createProjectFileId} in transformation job {createProjectId} for organization {organizationId}. slots: createProjectFileId: path.createProjectFileId createProjectId: path.createProjectId organizationId: path.organizationId - text: Reprocess failed file {createProjectFileId} of job {createProjectId}. slots: createProjectFileId: path.createProjectFileId createProjectId: path.createProjectId method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/custom-block'].post update: x-apievangelist-phrasing: intent: Upload a custom block archive effect: write questions: - How do I upload my own transformation or deployment block as an archive? - Can I push a new version of an existing custom block directly? instructions: - text: Upload archive {tar} as a {type} custom block {blockId} in organization {organizationId}. slots: tar: requestBody.tar type: requestBody.type blockId: requestBody.blockId organizationId: path.organizationId - text: Push a new archive {tar} to custom block {blockId} of type {type}. slots: tar: requestBody.tar blockId: requestBody.blockId type: requestBody.type method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/new-project'].post update: x-apievangelist-phrasing: intent: Create an empty project in an organization effect: write questions: - How do I create a blank project owned by my organization? - Can I make a new organization project private and assign it to a specific owner? instructions: - text: Create an empty project named {projectName} in organization {organizationId}. slots: projectName: requestBody.projectName organizationId: path.organizationId - text: Create a {projectVisibility} organization project {projectName} owned by {projectOwnerUsernameOrEmail}. slots: projectVisibility: requestBody.projectVisibility projectName: requestBody.projectName projectOwnerUsernameOrEmail: requestBody.projectOwnerUsernameOrEmail method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/add-project-collaborator'].post update: x-apievangelist-phrasing: intent: Add a collaborator to an organization project effect: write questions: - How do I give a user access to a project my organization owns? - Can an org admin add someone as a collaborator on an organization project? instructions: - text: Add user {userId} as a collaborator on project {projectId} in organization {organizationId}. slots: userId: requestBody.userId projectId: requestBody.projectId organizationId: path.organizationId - text: Give user {userId} collaborator access to organization project {projectId}. slots: userId: requestBody.userId projectId: requestBody.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/custom-block/upload-link'].post update: x-apievangelist-phrasing: intent: Get a signed upload link for a custom block effect: write questions: - How do I upload a large custom block archive straight to storage? - What file size and hash do I need to request a pre-signed upload link? instructions: - text: Create a signed upload link for {fileName} ({fileSize} bytes, hash {fileHash}) for {type} block {blockId} in organization {organizationId}. slots: fileName: requestBody.fileName fileSize: requestBody.fileSize fileHash: requestBody.fileHash type: requestBody.type blockId: requestBody.blockId organizationId: path.organizationId - text: Get a pre-signed S3 link to upload custom block archive {fileName} for block {blockId}. slots: fileName: requestBody.fileName blockId: requestBody.blockId method: generated generated: '2026-10-01' - target: $.paths['/api/organizations/{organizationId}/custom-block/finalize'].post update: x-apievangelist-phrasing: intent: Finalize a staged custom block upload effect: write questions: - After uploading a block archive to the signed link, how do I start the build? - Does finalizing a custom block upload verify the archive before building? instructions: - text: Finalize custom block upload {uploadKey} for {fileName} ({fileSize} bytes, hash {fileHash}), {type} block {blockId}, in organization {organizationId}. slots: uploadKey: requestBody.uploadKey fileName: requestBody.fileName fileSize: requestBody.fileSize fileHash: requestBody.fileHash type: requestBody.type blockId: requestBody.blockId organizationId: path.organizationId - text: Verify staged archive {uploadKey} and start the build for custom block {blockId}. slots: uploadKey: requestBody.uploadKey blockId: requestBody.blockId method: generated generated: '2026-10-01'