# 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 API version: 1.0.0 extends: openapi/edge-impulse-impulse-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: 18 - target: $.paths['/api/{projectId}/impulse'].get update: x-apievangelist-phrasing: intent: Get a project's impulse design effect: read questions: - What input, processing and learning blocks make up my project's default impulse? - Can I fetch one specific impulse instead of the default one? instructions: - text: Show the default impulse for project {projectId}. slots: projectId: path.projectId - text: Get impulse {impulseId} in project {projectId}, enabled blocks only. slots: impulseId: query.impulseId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse'].post update: x-apievangelist-phrasing: intent: Set an impulse's input, DSP and learn blocks effect: write questions: - How do I define the full pipeline of input, signal processing and learning blocks for an Edge Impulse project? - Can I replace the blocks of an existing impulse in one call? instructions: - text: Set the impulse in project {projectId} to input blocks {inputBlocks}, DSP blocks {dspBlocks} and learn blocks {learnBlocks}. slots: projectId: path.projectId inputBlocks: requestBody.inputBlocks dspBlocks: requestBody.dspBlocks learnBlocks: requestBody.learnBlocks - text: Configure impulse {impulseId} with blocks {inputBlocks}, {dspBlocks} and {learnBlocks}. slots: impulseId: query.impulseId inputBlocks: requestBody.inputBlocks dspBlocks: requestBody.dspBlocks learnBlocks: requestBody.learnBlocks method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse'].delete update: x-apievangelist-phrasing: intent: Clear an impulse and all its blocks effect: destructive questions: - How do I wipe the impulse design of a project and start over? - Does clearing an impulse also remove its processing and learning blocks? instructions: - text: Clear the default impulse in project {projectId}. slots: projectId: path.projectId - text: Delete impulse {impulseId} and all its blocks from project {projectId}. slots: impulseId: query.impulseId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse/new'].post update: x-apievangelist-phrasing: intent: Create a new empty impulse effect: write questions: - Can I add another blank impulse to a project to try a different experiment? - How do I get the ID of a fresh, empty impulse? instructions: - text: Create a new empty impulse in project {projectId} and give me its ID. slots: projectId: path.projectId - text: Add a blank impulse experiment to project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse/update'].post update: x-apievangelist-phrasing: intent: Rename or tag an impulse effect: write questions: - How do I rename one of my impulse experiments? - Can I add tags to an impulse to keep experiments organized? instructions: - text: Rename impulse {impulseId} in project {projectId} to {name}. slots: impulseId: query.impulseId projectId: path.projectId name: requestBody.name - text: Tag the default impulse of project {projectId} with {tags}. slots: projectId: path.projectId tags: requestBody.tags method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse/all'].get update: x-apievangelist-phrasing: intent: Get an impulse including disabled blocks effect: read questions: - Can I see the blocks I disabled in my impulse, not just the active ones? - Which view of an impulse shows every block regardless of whether it is turned on? instructions: - text: Show the impulse for project {projectId} including disabled blocks. slots: projectId: path.projectId - text: Get impulse {impulseId} with its disabled blocks included. slots: impulseId: query.impulseId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse/get-new-block-id'].post update: x-apievangelist-phrasing: intent: Get an unused block ID for an impulse effect: read questions: - How do I avoid reusing a block ID when building an impulse by hand? - What ID should a new block in my impulse get? instructions: - text: Give me an unused block ID for project {projectId}. slots: projectId: path.projectId - text: Reserve a fresh block number I can use when adding a block to project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse/blocks'].get update: x-apievangelist-phrasing: intent: List blocks available for building an impulse effect: read questions: - Which processing and learning blocks can I choose from when designing an impulse? - What block types does Edge Impulse offer for my project? instructions: - text: List all blocks I can add to an impulse in project {projectId}. slots: projectId: path.projectId - text: Show the catalog of available impulse blocks for project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/verify-dsp-block/url'].post update: x-apievangelist-phrasing: intent: Verify a custom DSP block URL effect: read questions: - How can I check that my self-hosted custom DSP block is reachable and valid? - Will my custom processing block at a given URL work before I add it to the impulse? instructions: - text: Verify the custom DSP block at {url} for project {projectId}. slots: url: requestBody.url projectId: path.projectId - text: Check whether {url} is a valid custom DSP block. slots: url: requestBody.url method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulses'].get update: x-apievangelist-phrasing: intent: List all impulses in a project effect: read questions: - How many impulse experiments does my project have? - Can I get a plain list of every impulse without accuracy figures? instructions: - text: List all impulses in project {projectId}. slots: projectId: path.projectId - text: Show me every impulse experiment defined in project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulses-detailed'].get update: x-apievangelist-phrasing: intent: Compare impulses with accuracy and performance effect: read questions: - Which of my impulse experiments has the best accuracy? - Can I see latency and memory metrics for every impulse side by side? instructions: - text: List the impulses in project {projectId} with their accuracy and performance metrics. slots: projectId: path.projectId - text: Compare all impulse experiments in project {projectId} by accuracy. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/download-impulses-detailed'].get update: x-apievangelist-phrasing: intent: Download impulse metrics as JSON or CSV effect: read questions: - Can I export my impulse experiment results to a CSV for a spreadsheet? - What file formats are available for downloading impulse metrics? instructions: - text: Download all impulses with metrics for project {projectId} as {format}. slots: projectId: path.projectId format: query.format - text: Export the impulse comparison table of project {projectId} to a file. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse/legacy-set-impulse'].post update: x-apievangelist-phrasing: intent: Overwrite impulse state in the legacy format effect: destructive questions: - Is there an internal way to write a project's impulse in the old pre-experiments format? - Which internal call clears all of a project's files and restores a legacy impulse from a zip? instructions: - text: Set the legacy impulse state of project {projectId} from zip {zip}, impulse {impulse} and config {config}. slots: projectId: path.projectId zip: requestBody.zip impulse: requestBody.impulse config: requestBody.config - text: Write impulse {impulse} to project {projectId} in the old single-impulse format with config {config} and zip {zip}. slots: impulse: requestBody.impulse projectId: path.projectId config: requestBody.config zip: requestBody.zip method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse/{impulseId}/clone/structure'].post update: x-apievangelist-phrasing: intent: Clone an impulse's structure without data effect: write questions: - Can I copy an impulse's blocks and config to a new experiment without copying the generated features? - How do I duplicate just the design of an impulse? instructions: - text: Clone the structure of impulse {impulseId} in project {projectId} as {name}. slots: impulseId: path.impulseId projectId: path.projectId name: requestBody.name - text: Copy only the blocks and config of impulse {impulseId} into a new impulse called {name}. slots: impulseId: path.impulseId name: requestBody.name method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse/{impulseId}/clone/complete'].post update: x-apievangelist-phrasing: intent: Clone an impulse including config and data effect: write questions: - How do I make a full copy of an impulse, data and all? - Can I duplicate a trained impulse so I can tweak it without losing the original? instructions: - text: Fully clone impulse {impulseId} in project {projectId}, data included, as {name}. slots: impulseId: path.impulseId projectId: path.projectId name: requestBody.name - text: Make a complete copy of impulse {impulseId} with its data and name it {name}. slots: impulseId: path.impulseId name: requestBody.name method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/transfer-learning-models'].get update: x-apievangelist-phrasing: intent: List available transfer learning models effect: read questions: - Which pretrained transfer learning models can I start from? - What transfer learning base models are offered across categories like image and audio? instructions: - text: List all transfer learning models available to project {projectId}. slots: projectId: path.projectId - text: Show the pretrained base models I can use for transfer learning in project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse/{impulseId}/set-thresholds'].post update: x-apievangelist-phrasing: intent: Set confidence and anomaly thresholds effect: write questions: - How do I change the minimum confidence rating my model needs before it reports a class? - Can I raise the anomaly score threshold for an impulse and have model testing rerun automatically? instructions: - text: 'Set thresholds {thresholds} on impulse {impulseId} in project {projectId}, allowing regenerate jobs: {allowCreatingRegenerateModelTestingJobs}.' slots: thresholds: requestBody.thresholds impulseId: path.impulseId projectId: path.projectId allowCreatingRegenerateModelTestingJobs: requestBody.allowCreatingRegenerateModelTestingJobs - text: Update the min confidence and anomaly thresholds of impulse {impulseId} to {thresholds}. slots: impulseId: path.impulseId thresholds: requestBody.thresholds method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/impulse/{impulseId}/regenerate-model-testing-summary'].post update: x-apievangelist-phrasing: intent: Regenerate model testing results effect: write questions: - I changed thresholds but no testing job started — how do I refresh the model testing results? - Can I recompute model testing without regenerating features? instructions: - text: Regenerate the model testing summary for impulse {impulseId} in project {projectId}. slots: impulseId: path.impulseId projectId: path.projectId - text: Refresh test results of impulse {impulseId} after my threshold change. slots: impulseId: path.impulseId method: generated generated: '2026-10-01'