# 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 DSP API version: 1.0.0 extends: openapi/edge-impulse-dsp-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: 19 - target: $.paths['/api/{projectId}/dsp/{dspId}'].get update: x-apievangelist-phrasing: intent: Get a DSP block's configuration effect: read questions: - How do I read the current parameters of a DSP processing block in my impulse? - What settings is my spectral or MFCC block using right now? instructions: - text: Get the configuration of DSP block {dspId} in project {projectId}. slots: dspId: path.dspId projectId: path.projectId - text: Show the processing parameters for DSP block {dspId}. slots: dspId: path.dspId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}'].post update: x-apievangelist-phrasing: intent: Update a DSP block's configuration effect: write questions: - Can I change only some DSP block parameters without overwriting the rest? - How do I save new processing parameters to a DSP block? instructions: - text: Set the config of DSP block {dspId} in project {projectId} to {config}. slots: dspId: path.dspId projectId: path.projectId config: requestBody.config - text: Save parameters {config} on DSP block {dspId}. slots: config: requestBody.config dspId: path.dspId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/clear'].post update: x-apievangelist-phrasing: intent: Clear a DSP block's generated features effect: destructive questions: - How do I wipe the features a DSP block has already generated? - Can I reset a processing block so its features have to be regenerated? instructions: - text: Clear the generated features of DSP block {dspId} in project {projectId}. slots: dspId: path.dspId projectId: path.projectId - text: Reset DSP block {dspId} by discarding its features. slots: dspId: path.dspId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/metadata'].get update: x-apievangelist-phrasing: intent: Get metadata from a generated DSP block effect: read questions: - What metadata does a DSP block record after features are generated? - Can I leave the list of included samples out of the DSP metadata? instructions: - text: Get the generation metadata for DSP block {dspId} in project {projectId}. slots: dspId: path.dspId projectId: path.projectId - text: Fetch DSP block {dspId} metadata without the included samples list. slots: dspId: path.dspId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/raw-data/{sampleId}'].get update: x-apievangelist-phrasing: intent: Get a raw sample filtered to the DSP block's axes effect: read questions: - How do I view a full raw sample showing only the axes my DSP block uses? - Can I cap how many payload values come back for a raw sample? instructions: - text: Get raw sample {sampleId} in project {projectId} filtered to the axes of DSP block {dspId}. slots: sampleId: path.sampleId dspId: path.dspId projectId: path.projectId - text: Show the whole of sample {sampleId} for DSP block {dspId}, limited to {limitPayloadValues} values. slots: sampleId: path.sampleId dspId: path.dspId limitPayloadValues: query.limitPayloadValues method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/raw-data/{sampleId}/slice'].get update: x-apievangelist-phrasing: intent: Get a slice of raw sample data for a DSP block effect: read questions: - Can I fetch just a time window of raw data from a sample, before processing? - How do I get the unprocessed raw values between two offsets of a sample? instructions: - text: Get the raw slice of sample {sampleId} in project {projectId} from {sliceStart} to {sliceEnd} for DSP block {dspId}. slots: sampleId: path.sampleId sliceStart: query.sliceStart sliceEnd: query.sliceEnd dspId: path.dspId projectId: path.projectId - text: Show unprocessed raw data of sample {sampleId} starting at {sliceStart}. slots: sampleId: path.sampleId sliceStart: query.sliceStart method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/raw-data/{sampleId}/slice/run'].post update: x-apievangelist-phrasing: intent: Process a sample slice with custom parameters effect: write questions: - How do I preview what a DSP block outputs for a window using parameters I haven't saved? - Can I run a slice through processing and store the result? instructions: - text: Run the slice of sample {sampleId} in project {projectId} starting at {sliceStart} through DSP block {dspId} with parameters {params}. slots: sampleId: path.sampleId sliceStart: query.sliceStart dspId: path.dspId params: requestBody.params projectId: path.projectId - text: Process sample {sampleId} from {sliceStart} to {sliceEnd} with params {params} and store it as {store}. slots: sampleId: path.sampleId sliceStart: query.sliceStart sliceEnd: query.sliceEnd params: requestBody.params store: requestBody.store method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/raw-data/{sampleId}/slice/run/readonly'].get update: x-apievangelist-phrasing: intent: Process a sample slice with saved parameters effect: read questions: - Is there a read-only way to see processed output for a slice using the block's saved settings? - Can I view processed features for a window without changing anything? instructions: - text: Show the processed output of sample {sampleId} in project {projectId} from {sliceStart} using DSP block {dspId}'s saved config, read-only. slots: sampleId: path.sampleId sliceStart: query.sliceStart dspId: path.dspId projectId: path.projectId - text: Get read-only processed features for sample {sampleId} between {sliceStart} and {sliceEnd}. slots: sampleId: path.sampleId sliceStart: query.sliceStart sliceEnd: query.sliceEnd method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/features/labels'].get update: x-apievangelist-phrasing: intent: List the feature names a DSP block generates effect: read questions: - What are the names of the features my processing block produces? - Which feature labels come out of a given DSP block? instructions: - text: List the feature names generated by DSP block {dspId} in project {projectId}. slots: dspId: path.dspId projectId: path.projectId - text: Show the feature labels for DSP block {dspId}. slots: dspId: path.dspId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/features/get-graph/{category}'].get update: x-apievangelist-phrasing: intent: Sample trained features for the feature explorer effect: read questions: - How do I plot my training set in the feature explorer on three chosen axes? - Can I get a sample of trained features with labels for visualization? instructions: - text: Sample trained features from DSP block {dspId} for the {category} set on axes {featureAx1}, {featureAx2} and {featureAx3}. slots: dspId: path.dspId category: path.category featureAx1: query.featureAx1 featureAx2: query.featureAx2 featureAx3: query.featureAx3 - text: Get a feature explorer graph for project {projectId} block {dspId} using axes {featureAx1}, {featureAx2}, {featureAx3}. slots: projectId: path.projectId dspId: path.dspId featureAx1: query.featureAx1 featureAx2: query.featureAx2 featureAx3: query.featureAx3 method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/features/get-graph/classification/{sampleId}'].get update: x-apievangelist-phrasing: intent: Generate features for every window of a sample effect: read questions: - How do I see the features a DSP block produces as the sliding window moves across a whole sample? - Can I get per-window features for one sample to plot it in the feature explorer? instructions: - text: Run DSP block {dspId} across all windows of sample {sampleId} and return the features. slots: dspId: path.dspId sampleId: path.sampleId - text: Get sliding-window features of sample {sampleId} in project {projectId} for the feature graph. slots: sampleId: path.sampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/features/importance'].get update: x-apievangelist-phrasing: intent: Get feature importance for a DSP block effect: read questions: - Which features from my DSP block matter most to the model? - Why is feature importance unavailable when dimensionality reduction is on? instructions: - text: Get feature importance for DSP block {dspId} in project {projectId}. slots: dspId: path.dspId projectId: path.projectId - text: Rank the features of DSP block {dspId} by importance. slots: dspId: path.dspId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp-data/{dspId}/x/{category}'].get update: x-apievangelist-phrasing: intent: Download DSP output as a NumPy array effect: read questions: - Can I download the processed features for my whole training set as a NumPy file? - How do I export windowed DSP output, or the raw windows, for offline training? instructions: - text: Download the DSP output (X) of block {dspId} for the {category} set. slots: dspId: path.dspId category: path.category - text: Export raw windowed data from DSP block {dspId} in project {projectId} for {category} with raw set to {raw}. slots: dspId: path.dspId projectId: path.projectId category: path.category raw: query.raw method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp-data/{dspId}/y/{category}'].get update: x-apievangelist-phrasing: intent: Download labels for windowed DSP output effect: read questions: - Where do I get the labels (y) that match the downloaded DSP feature windows? - Can I export the per-window labels of the training set for a DSP block? instructions: - text: Download the labels (y) for DSP block {dspId} in the {category} set. slots: dspId: path.dspId category: path.category - text: Export window labels from project {projectId} block {dspId} for {category}. slots: projectId: path.projectId dspId: path.dspId category: path.category method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/get-autotuner-results'].get update: x-apievangelist-phrasing: intent: Get DSP autotuner parameter suggestions effect: read questions: - What parameters did the DSP autotuner recommend for my block? - Can I see the autotuner's suggested settings before applying them? instructions: - text: Get the autotuner results for DSP block {dspId} in project {projectId}. slots: dspId: path.dspId projectId: path.projectId - text: Show the parameter sets the autotuner found for block {dspId}. slots: dspId: path.dspId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp-data/{dspId}/artifact/{key}'].get update: x-apievangelist-phrasing: intent: Download a DSP debugging artifact effect: read questions: - Can I pull a debugging artifact a DSP block produced by its key? - How do I fetch internal DSP artifacts to debug processing? instructions: - text: Download DSP artifact {key} from block {dspId}. slots: key: path.key dspId: path.dspId - text: Fetch debug artifact {key} for DSP block {dspId} in project {projectId}. slots: key: path.key dspId: path.dspId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/profile'].post update: x-apievangelist-phrasing: intent: Profile a custom DSP block's performance effect: write questions: - How do I measure latency and memory for my own custom DSP block? - Does profiling a custom block need a TFLite implementation, and how do I follow progress? instructions: - text: Start profiling custom DSP block {dspId} with parameters {params}. slots: dspId: path.dspId params: requestBody.params - text: Kick off a performance profile for custom block {dspId} in project {projectId} using {params}. slots: dspId: path.dspId projectId: path.projectId params: requestBody.params method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/performance'].get update: x-apievangelist-phrasing: intent: Estimate DSP block latency on every device effect: read questions: - How fast will my DSP block run on each supported target device? - What RAM does a processing block need across all latency devices? instructions: - text: Get estimated latency and RAM for DSP block {dspId} on all devices. slots: dspId: path.dspId - text: Show per-device performance of DSP block {dspId} in project {projectId}. slots: dspId: path.dspId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/dsp/{dspId}/run'].post update: x-apievangelist-phrasing: intent: Process a raw features array with a DSP block effect: write questions: - Can I push my own raw sensor array through a DSP block without uploading a sample? - How do I get processed features and graphs from an ad-hoc features array? instructions: - text: Run features {features} through DSP block {dspId} in project {projectId} with parameters {params}. slots: features: requestBody.features dspId: path.dspId params: requestBody.params projectId: path.projectId - text: Process array {features} with block {dspId}, drawGraphs {drawGraphs} and requestPerformance {requestPerformance}. slots: features: requestBody.features dspId: path.dspId drawGraphs: requestBody.drawGraphs requestPerformance: requestBody.requestPerformance method: generated generated: '2026-10-01'