Edge Impulse · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Edge Impulse API

19 actions 19 updates phrasing extends openapi/edge-impulse-impulse-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 19 · first 16 shown; the file carries all of them

$.info
$.paths['/api/{projectId}/impulse'].get
$.paths['/api/{projectId}/impulse'].post
$.paths['/api/{projectId}/impulse'].delete
$.paths['/api/{projectId}/impulse/new'].post
$.paths['/api/{projectId}/impulse/update'].post
$.paths['/api/{projectId}/impulse/all'].get
$.paths['/api/{projectId}/impulse/get-new-block-id'].post
$.paths['/api/{projectId}/impulse/blocks'].get
$.paths['/api/{projectId}/verify-dsp-block/url'].post
$.paths['/api/{projectId}/impulses'].get
$.paths['/api/{projectId}/impulses-detailed'].get
$.paths['/api/{projectId}/download-impulses-detailed'].get
$.paths['/api/{projectId}/impulse/legacy-set-impulse'].post
$.paths['/api/{projectId}/impulse/{impulseId}/clone/structure'].post
$.paths['/api/{projectId}/impulse/{impulseId}/clone/complete'].post

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 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'

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-impulse-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.