Edge Impulse · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Edge Impulse Jobs API

45 actions 45 updates phrasing extends openapi/edge-impulse-jobs-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Edge Impulse's API. It is a proposal applied on top of the contract, not a document Edge Impulse publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 45 · first 16 shown; the file carries all of them

$.info
$.paths['/api/{projectId}/jobs/post-processing'].post
$.paths['/api/{projectId}/jobs/data-explorer-features'].post
$.paths['/api/{projectId}/jobs/data-quality-metrics'].post
$.paths['/api/{projectId}/jobs/retry-migrate-impulse'].post
$.paths['/api/{projectId}/jobs/synthetic-data'].post
$.paths['/api/{projectId}/jobs/ai-actions/{actionId}/preview'].post
$.paths['/api/{projectId}/jobs/ai-actions/{actionId}'].post
$.paths['/api/{projectId}/jobs/optimize'].post
$.paths['/api/{projectId}/jobs/set-tuner-primary-job'].post
$.paths['/api/{projectId}/jobs'].get
$.paths['/api/{projectId}/jobs/history'].get
$.paths['/api/{projectId}/jobs/all'].get
$.paths['/api/{projectId}/jobs/summary'].get
$.paths['/api/{projectId}/jobs/impulse-migration/status'].get
$.paths['/api/{projectId}/jobs/impulse-migration/stdout'].get

OpenAPI Overlay

Raw ↑
# 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 Jobs API
  version: 1.0.0
extends: openapi/edge-impulse-jobs-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: 44
- target: $.paths['/api/{projectId}/jobs/post-processing'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a post-processing tuning job
      effect: write
      questions:
      - How do I tune the post-processing of my model's output with a search algorithm?
      - Can I limit how many generations a post-processing search runs for?
      instructions:
      - text: Start post-processing in project {projectId} for variant {variant} on dataset {dataset} with algorithm {algorithm} and evaluation {evaluation}.
        slots:
          projectId: path.projectId
          variant: requestBody.variant
          dataset: requestBody.dataset
          algorithm: requestBody.algorithm
          evaluation: requestBody.evaluation
      - text: Run post-processing tuning on {dataset} with {algorithm}, capped at {maxGenerations} generations.
        slots:
          dataset: requestBody.dataset
          algorithm: requestBody.algorithm
          maxGenerations: requestBody.maxGenerations
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/data-explorer-features'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate features for the data explorer
      effect: write
      questions:
      - How do I populate the data explorer so I can see my samples clustered visually?
      - What job builds the features behind the data explorer view?
      instructions:
      - text: Generate data explorer features for project {projectId}.
        slots:
          projectId: path.projectId
      - text: Build the data explorer visualization for project {projectId}.
        slots:
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/data-quality-metrics'].post
  update:
    x-apievangelist-phrasing:
      intent: Calculate data quality metrics for a dataset
      effect: write
      questions:
      - Is there a staff-only job that scores the quality of a project's dataset?
      - Can data quality metrics be computed on a particular data representation?
      instructions:
      - text: Calculate data quality metrics for project {projectId}.
        slots:
          projectId: path.projectId
      - text: Compute dataset quality metrics for project {projectId} using representation {representation}.
        slots:
          projectId: path.projectId
          representation: requestBody.representation
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/retry-migrate-impulse'].post
  update:
    x-apievangelist-phrasing:
      intent: Retry a failed impulse migration
      effect: write
      questions:
      - My multi-impulse migration failed — how do I try it again?
      - Can I rerun an impulse migration job that errored out?
      instructions:
      - text: Retry the impulse migration for project {projectId}.
        slots:
          projectId: path.projectId
      - text: Kick off the failed impulse migration again in project {projectId}.
        slots:
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/synthetic-data'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate synthetic training data
      effect: write
      questions:
      - How do I generate synthetic samples to grow a small dataset?
      - Which transformation block produces synthetic data, and what parameters does it take?
      instructions:
      - text: Generate synthetic data in project {projectId} with transformation block {transformationBlockId} and parameters {parameters}.
        slots:
          projectId: path.projectId
          transformationBlockId: requestBody.transformationBlockId
          parameters: requestBody.parameters
      - text: Create synthetic samples using block {transformationBlockId}.
        slots:
          transformationBlockId: requestBody.transformationBlockId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/ai-actions/{actionId}/preview'].post
  update:
    x-apievangelist-phrasing:
      intent: Dry-run an AI Action on sample data
      effect: write
      questions:
      - Can I preview what an AI Action would change on a few samples before applying it?
      - How do I see proposed label changes from an AI Action without touching my dataset?
      instructions:
      - text: 'Preview AI Action {actionId} in project {projectId} on samples {sampleIds} with steps {steps}, caching unchanged steps: {cacheUnchangedSteps}.'
        slots:
          actionId: path.actionId
          projectId: path.projectId
          sampleIds: requestBody.sampleIds
          steps: requestBody.steps
          cacheUnchangedSteps: requestBody.cacheUnchangedSteps
      - text: Do a dry run of AI Action {actionId} on samples {sampleIds} and only propose changes.
        slots:
          actionId: path.actionId
          sampleIds: requestBody.sampleIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/ai-actions/{actionId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Run an AI Action and apply its changes
      effect: write
      questions:
      - How do I run an AI Action so it actually updates my dataset?
      - Does running an AI Action apply changes directly rather than proposing them?
      instructions:
      - text: Run AI Action {actionId} in project {projectId} and apply the changes.
        slots:
          actionId: path.actionId
          projectId: path.projectId
      - text: Execute AI Action {actionId} for real on my data.
        slots:
          actionId: path.actionId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/optimize'].post
  update:
    x-apievangelist-phrasing:
      intent: Run the EON Tuner to find the best model
      effect: write
      questions:
      - How do I let the EON Tuner search for the optimal model architecture for my data?
      - Can I continue a previous tuner run instead of starting fresh?
      instructions:
      - text: Start the EON Tuner on project {projectId}.
        slots:
          projectId: path.projectId
      - text: Continue optimizing project {projectId} from tuner job {continuationJobId}.
        slots:
          projectId: path.projectId
          continuationJobId: query.continuationJobId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/set-tuner-primary-job'].post
  update:
    x-apievangelist-phrasing:
      intent: Make an EON Tuner trial the primary model
      effect: write
      questions:
      - How do I pick one EON Tuner result as the model my project uses?
      - Can I name the impulse when promoting a tuner trial to primary?
      instructions:
      - text: Set EON Tuner trial {trialId} as the primary model for project {projectId}.
        slots:
          trialId: query.trialId
          projectId: path.projectId
      - text: Promote tuner trial {trialId} to primary and call it {name}.
        slots:
          trialId: query.trialId
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs'].get
  update:
    x-apievangelist-phrasing:
      intent: List jobs currently running in a project
      effect: read
      questions:
      - What jobs are running right now in my Edge Impulse project?
      - Can I see only top-level running jobs and hide their child jobs?
      instructions:
      - text: List the active jobs in project {projectId}.
        slots:
          projectId: path.projectId
      - text: Show only running root jobs in project {projectId}.
        slots:
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/history'].get
  update:
    x-apievangelist-phrasing:
      intent: List completed jobs in a project
      effect: read
      questions:
      - Which jobs finished in my project last week?
      - How do I page through a project's job history between two dates?
      instructions:
      - text: List finished jobs in project {projectId}.
        slots:
          projectId: path.projectId
      - text: Show jobs that completed in project {projectId} between {startDate} and {endDate}.
        slots:
          projectId: path.projectId
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/all'].get
  update:
    x-apievangelist-phrasing:
      intent: List all jobs, running and finished
      effect: read
      questions:
      - Can I get running and finished jobs together in one list?
      - Is it possible to filter a project's jobs by category or job key?
      instructions:
      - text: List every job, active or finished, in project {projectId}.
        slots:
          projectId: path.projectId
      - text: Show all jobs in project {projectId} in category {category}.
        slots:
          projectId: path.projectId
          category: query.category
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/summary'].get
  update:
    x-apievangelist-phrasing:
      intent: Summarize compute used by jobs over a period
      effect: read
      questions:
      - How much compute time did my project's jobs use this month?
      - Can I see job usage grouped by type for a date range?
      instructions:
      - text: Summarize job compute usage in project {projectId} from {startDate} to {endDate}.
        slots:
          projectId: path.projectId
          startDate: query.startDate
          endDate: query.endDate
      - text: Give me a per-job-type compute total for project {projectId} between {startDate} and {endDate}.
        slots:
          projectId: path.projectId
          startDate: query.startDate
          endDate: query.endDate
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/impulse-migration/status'].get
  update:
    x-apievangelist-phrasing:
      intent: Check the status of an impulse migration
      effect: read
      questions:
      - Has the multi-impulse migration for my project finished?
      - Can visitors to a public project see whether its impulse migration is done?
      instructions:
      - text: Check the impulse migration status of project {projectId}.
        slots:
          projectId: path.projectId
      - text: Tell me whether project {projectId} has finished migrating to multiple impulses.
        slots:
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/impulse-migration/stdout'].get
  update:
    x-apievangelist-phrasing:
      intent: Read the logs of an impulse migration
      effect: read
      questions:
      - Where can I read the output of the multi-impulse migration to see why it failed?
      - Can I filter impulse migration logs by log level?
      instructions:
      - text: Show the impulse migration logs for project {projectId}.
        slots:
          projectId: path.projectId
      - text: Get the last {limit} impulse migration log lines at level {logLevel}.
        slots:
          limit: query.limit
          logLevel: query.logLevel
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/{jobId}/update'].post
  update:
    x-apievangelist-phrasing:
      intent: Change who is notified when a job finishes
      effect: write
      questions:
      - How do I get notified when a long-running job completes?
      - Can I add teammates to the notification list of a running job?
      instructions:
      - text: Notify users {jobNotificationUids} when job {jobId} in project {projectId} finishes.
        slots:
          jobNotificationUids: requestBody.jobNotificationUids
          jobId: path.jobId
          projectId: path.projectId
      - text: Update job {jobId} to send its completion notice to {jobNotificationUids}.
        slots:
          jobId: path.jobId
          jobNotificationUids: requestBody.jobNotificationUids
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/{jobId}/status'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the status of a job
      effect: read
      questions:
      - Is my training job still running or has it finished?
      - Did a specific job succeed or fail?
      instructions:
      - text: Get the status of job {jobId} in project {projectId}.
        slots:
          jobId: path.jobId
          projectId: path.projectId
      - text: Tell me if job {jobId} has completed successfully.
        slots:
          jobId: path.jobId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/{jobId}/stdout'].get
  update:
    x-apievangelist-phrasing:
      intent: Read a job's log output
      effect: read
      questions:
      - How can I see the console output of a job while it runs?
      - Can I show only warning and error lines from a job's logs?
      instructions:
      - text: Show the logs of job {jobId} in project {projectId}.
        slots:
          jobId: path.jobId
          projectId: path.projectId
      - text: Get the last {limit} log lines of job {jobId} at level {logLevel}.
        slots:
          limit: query.limit
          jobId: path.jobId
          logLevel: query.logLevel
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/{jobId}/stdout/download'].get
  update:
    x-apievangelist-phrasing:
      intent: Download a job's logs as a text file
      effect: read
      questions:
      - Can I save a job's full log output to a text file?
      - How do I download job logs to attach to a support ticket?
      instructions:
      - text: Download the logs of job {jobId} in project {projectId} as a text file.
        slots:
          jobId: path.jobId
          projectId: path.projectId
      - text: Save job {jobId}'s log output to a file.
        slots:
          jobId: path.jobId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/{jobId}/cancel'].post
  update:
    x-apievangelist-phrasing:
      intent: Cancel a running job
      effect: destructive
      questions:
      - How do I stop a training job that's taking too long?
      - Can I force-cancel a job that won't stop on its own?
      instructions:
      - text: Cancel job {jobId} in project {projectId}.
        slots:
          jobId: path.jobId
          projectId: path.projectId
      - text: Force-cancel stuck job {jobId}.
        slots:
          jobId: path.jobId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/generate-features'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate features from the raw training set
      effect: write
      questions:
      - How do I run a processing block over my raw training data to produce features?
      - Can I calculate feature importance while generating features?
      instructions:
      - text: Generate features in project {projectId} with DSP block {dspId}.
        slots:
          projectId: path.projectId
          dspId: requestBody.dspId
      - text: Generate features for DSP block {dspId} and compute feature importance too.
        slots:
          dspId: requestBody.dspId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/autotune-dsp'].post
  update:
    x-apievangelist-phrasing:
      intent: Autotune a DSP block's parameters
      effect: write
      questions:
      - Can Edge Impulse pick good signal processing parameters for me automatically?
      - How do I autotune the settings of a processing block?
      instructions:
      - text: Autotune the parameters of DSP block {dspId} in project {projectId}.
        slots:
          dspId: requestBody.dspId
          projectId: path.projectId
      - text: Find the best processing parameters for block {dspId}.
        slots:
          dspId: requestBody.dspId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/train/keras/{learnId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Train a neural network with Keras
      effect: write
      questions:
      - How do I train the neural network classifier in my impulse?
      - Can I set training cycles, learning rate and batch size for a Keras training run?
      - Is there a way to train with my own expert-mode Keras script?
      instructions:
      - text: Train Keras learn block {learnId} in project {projectId}.
        slots:
          learnId: path.learnId
          projectId: path.projectId
      - text: Train neural network block {learnId} for {trainingCycles} cycles at learning rate {learningRate} with batch size {batchSize}.
        slots:
          learnId: path.learnId
          trainingCycles: requestBody.trainingCycles
          learningRate: requestBody.learningRate
          batchSize: requestBody.batchSize
      - text: Train Keras block {learnId} using custom script {script}.
        slots:
          learnId: path.learnId
          script: requestBody.script
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/train/anomaly/{learnId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Train an anomaly detection model
      effect: write
      questions:
      - How do I train a K-means or GMM anomaly detector on my features?
      - Can I choose which axes and how many clusters the anomaly model uses?
      instructions:
      - text: Train anomaly block {learnId} in project {projectId} on axes {axes} with minimum confidence {minimumConfidenceRating}.
        slots:
          learnId: path.learnId
          projectId: path.projectId
          axes: requestBody.axes
          minimumConfidenceRating: requestBody.minimumConfidenceRating
      - text: Train anomaly detection block {learnId} with {clusterCount} clusters.
        slots:
          learnId: path.learnId
          clusterCount: requestBody.clusterCount
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/train/keras/{learnId}/export'].post
  update:
    x-apievangelist-phrasing:
      intent: Export a Keras block's training pipeline
      effect: write
      questions:
      - Can I export the training code of my Keras block to run it locally?
      - How do I get the training pipeline behind a learn block?
      instructions:
      - text: Export the training pipeline of Keras block {learnId} in project {projectId}.
        slots:
          learnId: path.learnId
          projectId: path.projectId
      - text: Package the Keras training code for block {learnId}.
        slots:
          learnId: path.learnId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/train/keras/{learnId}/data'].post
  update:
    x-apievangelist-phrasing:
      intent: Export a Keras block's train/validation data
      effect: write
      questions:
      - How do I download the exact train and validation split a Keras block used?
      - Can I override image input scaling when exporting a block's data?
      instructions:
      - text: Export the split training data of Keras block {learnId} in project {projectId}.
        slots:
          learnId: path.learnId
          projectId: path.projectId
      - text: Export block {learnId} data with image input scaling {overrideImageInputScaling}.
        slots:
          learnId: path.learnId
          overrideImageInputScaling: requestBody.overrideImageInputScaling
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/build-ondevice-model'].post
  update:
    x-apievangelist-phrasing:
      intent: Build an on-device deployment of the impulse
      effect: write
      questions:
      - How do I generate a C++ library or firmware to run my model on a microcontroller?
      - Can I choose between an int8 and float32 model when building for a device?
      instructions:
      - text: Build deployment type {type} for project {projectId} with engine {engine}.
        slots:
          type: query.type
          projectId: path.projectId
          engine: requestBody.engine
      - text: Build a {type} on-device model of impulse {impulseId} using engine {engine} and model type {modelType}.
        slots:
          type: query.type
          impulseId: query.impulseId
          engine: requestBody.engine
          modelType: requestBody.modelType
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/build-ondevice-model/organization'].post
  update:
    x-apievangelist-phrasing:
      intent: Build a deployment with an organization deploy block
      effect: write
      questions:
      - How do I build my model using my organization's custom deployment block?
      - Can I deploy an impulse through a custom deploy block we created?
      instructions:
      - text: Build project {projectId} with organization deploy block {deployBlockId} and engine {engine}.
        slots:
          projectId: path.projectId
          deployBlockId: requestBody.deployBlockId
          engine: requestBody.engine
      - text: Deploy impulse {impulseId} via our custom deploy block {deployBlockId}.
        slots:
          impulseId: query.impulseId
          deployBlockId: requestBody.deployBlockId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/export/original'].post
  update:
    x-apievangelist-phrasing:
      intent: Export project data in its original upload form
      effect: write
      questions:
      - How do I export all my data exactly as it was uploaded?
      - Can I keep friendly uploader filenames and crops in a data export?
      instructions:
      - text: Export all original data in project {projectId}, friendly filenames {uploaderFriendlyFilenames}, keep crops {retainCrops}.
        slots:
          projectId: path.projectId
          uploaderFriendlyFilenames: requestBody.uploaderFriendlyFilenames
          retainCrops: requestBody.retainCrops
      - text: Start an export of the raw uploaded files of project {projectId}.
        slots:
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/export/wav'].post
  update:
    x-apievangelist-phrasing:
      intent: Export project data as WAV files
      effect: write
      questions:
      - Can I export my project's audio samples as WAV files?
      - Does exporting to WAV keep my cropped sample regions?
      instructions:
      - text: 'Export all data in project {projectId} as WAV, retaining crops: {retainCrops}.'
        slots:
          projectId: path.projectId
          retainCrops: requestBody.retainCrops
      - text: Convert and export project {projectId}'s dataset to WAV.
        slots:
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/retrain'].post
  update:
    x-apievangelist-phrasing:
      intent: Retrain the impulse with its last settings
      effect: write
      questions:
      - I added new data — how do I retrain my model with the same settings as before?
      - Can I retrain one specific impulse instead of the default?
      instructions:
      - text: Retrain the impulse in project {projectId} with the last known parameters.
        slots:
          projectId: path.projectId
      - text: Retrain impulse {impulseId} on the current data.
        slots:
          impulseId: query.impulseId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/classify'].post
  update:
    x-apievangelist-phrasing:
      intent: Classify the test set against the impulse
      effect: write
      questions:
      - How do I run model testing on my whole test dataset?
      - Can I classify test data with only certain model variants, like int8?
      instructions:
      - text: Classify all test data in project {projectId} against the current impulse.
        slots:
          projectId: path.projectId
      - text: Run model testing for impulse {impulseId} with variants {modelVariants}.
        slots:
          impulseId: query.impulseId
          modelVariants: requestBody.modelVariants
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/performance-calibration'].post
  update:
    x-apievangelist-phrasing:
      intent: Simulate real-world performance of a model
      effect: write
      questions:
      - How will my keyword spotting model perform on continuous real-world audio?
      - Which label should count as background noise when calibrating performance?
      instructions:
      - text: Run performance calibration in project {projectId} with background noise label {backgroundNoiseLabel}.
        slots:
          projectId: path.projectId
          backgroundNoiseLabel: requestBody.backgroundNoiseLabel
      - text: Calibrate impulse {impulseId} over {sampleLengthMinutes} minutes of simulated audio using noise label {backgroundNoiseLabel}.
        slots:
          impulseId: query.impulseId
          sampleLengthMinutes: requestBody.sampleLengthMinutes
          backgroundNoiseLabel: requestBody.backgroundNoiseLabel
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/evaluate'].post
  update:
    x-apievangelist-phrasing:
      intent: Evaluate every model variant of the impulse
      effect: write
      questions:
      - How do I compare accuracy of the quantized and float versions of my model?
      - Can I evaluate all variants of one particular impulse?
      instructions:
      - text: Evaluate all variants of the impulse in project {projectId}.
        slots:
          projectId: path.projectId
      - text: Run an evaluation across every model variant of impulse {impulseId}.
        slots:
          impulseId: query.impulseId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/version'].post
  update:
    x-apievangelist-phrasing:
      intent: Save a new version of the project
      effect: write
      questions:
      - How do I snapshot my project's data and configuration as a version?
      - Can I store a project version in my own storage bucket and make it public?
      instructions:
      - text: 'Version project {projectId} with description {description}, public: {makePublic}.'
        slots:
          projectId: path.projectId
          description: requestBody.description
          makePublic: requestBody.makePublic
      - text: Create a project version in bucket {bucketId} described as {description}.
        slots:
          bucketId: requestBody.bucketId
          description: requestBody.description
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/restore'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore a project from a saved version
      effect: destructive
      questions:
      - How do I restore an empty project to one of my saved versions?
      - Will restoring a version overwrite my impulse and settings?
      instructions:
      - text: Restore project {targetProjectId} to version {versionId} of project {sourceProjectId} using API key {projectApiKey}.
        slots:
          targetProjectId: path.projectId
          versionId: requestBody.versionId
          sourceProjectId: requestBody.projectId
          projectApiKey: requestBody.projectApiKey
      - text: Roll empty project {targetProjectId} back to private version {versionId}.
        slots:
          targetProjectId: path.projectId
          versionId: requestBody.versionId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/restore/from-public'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore a project from a public version
      effect: destructive
      questions:
      - Can I fill an empty project with a public project's version?
      - How do I clone a public Edge Impulse project into my own empty project?
      instructions:
      - text: Restore project {targetProjectId} from public project version {publicProjectId}.
        slots:
          targetProjectId: path.projectId
          publicProjectId: requestBody.projectId
      - text: Load public version {publicProjectId} into my empty project.
        slots:
          publicProjectId: requestBody.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/versions/{versionId}/make-public'].post
  update:
    x-apievangelist-phrasing:
      intent: Make a project version public
      effect: write
      questions:
      - How do I publish a version of my project so others can view and clone it?
      - What happens to data when I make a project version public?
      instructions:
      - text: Make version {versionId} of project {projectId} public.
        slots:
          versionId: path.versionId
          projectId: path.projectId
      - text: Publish version {versionId} so anyone can clone it.
        slots:
          versionId: path.versionId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/keywords-noise'].post
  update:
    x-apievangelist-phrasing:
      intent: Add sample keywords and noise data
      effect: write
      questions:
      - How do I load the getting-started keyword and noise samples into a project?
      - Is there a quick way to seed a project with example audio for the tutorial?
      instructions:
      - text: Add the keywords and noise starter data to project {projectId}.
        slots:
          projectId: path.projectId
      - text: Seed project {projectId} with the getting-started audio dataset.
        slots:
          projectId: path.projectId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/{projectId}/jobs/profile-tflite'].post
  update:
    x-apievangelist-phrasing:
      intent: Profile a TFLite model's latency and memory
      effect: write
      questions:
      - How much RAM, ROM and latency would my TFLite model need on a target device?
      - Can I profile a model I trained elsewhere for a particular microcontroller?
      instructions:
      - text: Profile TFLite model {tfliteFileBase64} on device {device} in project {projectId}.
        slots:
          tfliteFileBase64: requestBody.tfliteFileBase64
          device: requestBody.device
          projectId: path.projectId
      - text: Estimate latency and memory of my TFLite model on {device}.
        slots:
          device: requestBody.device
      method: generated
      generated: '2026-10-01'


# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/edge-impulse/refs/heads/main/overlays/edge-impulse-jobs-api-phrasing-overlay.yaml

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/edge-impulse-jobs-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.