Edge Impulse · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Edge Impulse Devices API
13 actions
13 updates
phrasing
extends
openapi/edge-impulse-devices-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.
What the actions change
x-apievangelist-phrasing
Targets 13
$.info
$.paths['/api/{projectId}/devices'].get
$.paths['/api/{projectId}/device/{deviceId}'].get
$.paths['/api/{projectId}/device/{deviceId}'].delete
$.paths['/api/{projectId}/device/{deviceId}/start-sampling'].post
$.paths['/api/{projectId}/device/{deviceId}/debug-stream/inference/start'].post
$.paths['/api/{projectId}/device/{deviceId}/debug-stream/snapshot/start'].post
$.paths['/api/{projectId}/device/{deviceId}/debug-stream/keep-alive'].post
$.paths['/api/{projectId}/device/{deviceId}/debug-stream/stop'].post
$.paths['/api/{projectId}/device/{deviceId}/get-impulse-records'].post
$.paths['/api/{projectId}/devices/create'].post
$.paths['/api/{projectId}/devices/{deviceId}/rename'].post
$.paths['/api/{projectId}/devices/{deviceId}/request-model-update'].post
OpenAPI Overlay
# 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 Devices API
version: 1.0.0
extends: openapi/edge-impulse-devices-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: 12
- target: $.paths['/api/{projectId}/devices'].get
update:
x-apievangelist-phrasing:
intent: List a project's devices
effect: read
questions:
- Which devices are connected to my Edge Impulse project?
- Why does a device appear in the list even though it only sent data to ingestion?
instructions:
- text: List all devices in project {project}.
slots:
project: path.projectId
- text: Show every device that has connected to or sent data into project {project}.
slots:
project: path.projectId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/device/{deviceId}'].get
update:
x-apievangelist-phrasing:
intent: Get one device's details
effect: read
questions:
- Can I look up a single device and see its sensors and status?
- Is a particular device currently connected to remote management?
instructions:
- text: Get device {device} in project {project}.
slots:
project: path.projectId
device: path.deviceId
- text: Show details of device {device} for project {project}.
slots:
project: path.projectId
device: path.deviceId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/device/{deviceId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a device
effect: destructive
questions:
- Can I remove a device from my project?
- Will a deleted device come back if it sends data again?
instructions:
- text: Delete device {device} from project {project}.
slots:
project: path.projectId
device: path.deviceId
- text: Remove device {device} out of project {project}.
slots:
project: path.projectId
device: path.deviceId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/device/{deviceId}/start-sampling'].post
update:
x-apievangelist-phrasing:
intent: Start sampling data on a device
effect: write
questions:
- How do I trigger a device to record a labeled sample remotely?
- Can I choose which sensor and sampling interval a device records with?
instructions:
- text: Start sampling {length} ms of {label} data on device {device} in project {project} into {category} at interval {interval} ms.
slots:
project: path.projectId
device: path.deviceId
length: requestBody.lengthMs
label: requestBody.label
category: requestBody.category
interval: requestBody.intervalMs
- text: Record a {label} sample from sensor {sensor} on device {device} in project {project}, {length} ms long, interval {interval} ms, into {category}.
slots:
project: path.projectId
device: path.deviceId
label: requestBody.label
sensor: requestBody.sensor
length: requestBody.lengthMs
interval: requestBody.intervalMs
category: requestBody.category
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/device/{deviceId}/debug-stream/inference/start'].post
update:
x-apievangelist-phrasing:
intent: Start an inference debug stream
effect: write
questions:
- Can I watch live inference results from a device as they happen?
- How often must I ping to keep an inference debug stream open?
instructions:
- text: Start an inference debug stream on device {device} in project {project}.
slots:
project: path.projectId
device: path.deviceId
- text: Stream live classification results from device {device} of project {project}.
slots:
project: path.projectId
device: path.deviceId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/device/{deviceId}/debug-stream/snapshot/start'].post
update:
x-apievangelist-phrasing:
intent: Start a camera snapshot debug stream
effect: write
questions:
- Can I see a live camera view from a device?
- What resolution options apply to a device's snapshot stream?
instructions:
- text: Start a snapshot debug stream at {resolution} resolution on device {device} in project {project}.
slots:
project: path.projectId
device: path.deviceId
resolution: requestBody.resolution
- text: Show the live camera feed of device {device} in project {project} at {resolution}.
slots:
project: path.projectId
device: path.deviceId
resolution: requestBody.resolution
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/device/{deviceId}/debug-stream/keep-alive'].post
update:
x-apievangelist-phrasing:
intent: Keep a device debug stream alive
effect: write
questions:
- What happens if I stop pinging an open device debug stream?
- Which ID do I send to keep a debug stream from timing out?
instructions:
- text: Keep debug stream {stream} alive on device {device} in project {project}.
slots:
project: path.projectId
device: path.deviceId
stream: requestBody.streamId
- text: Send a keep-alive ping for stream {stream} on device {device} of project {project}.
slots:
project: path.projectId
device: path.deviceId
stream: requestBody.streamId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/device/{deviceId}/debug-stream/stop'].post
update:
x-apievangelist-phrasing:
intent: Stop a device debug stream
effect: destructive
questions:
- Can I close a debug stream I opened on a device?
- Is there a way to end a device's live debug view on demand?
instructions:
- text: Stop debug stream {stream} on device {device} in project {project}.
slots:
project: path.projectId
device: path.deviceId
stream: requestBody.streamId
- text: Close the open debug stream {stream} for device {device} of project {project}.
slots:
project: path.projectId
device: path.deviceId
stream: requestBody.streamId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/device/{deviceId}/get-impulse-records'].post
update:
x-apievangelist-phrasing:
intent: Retrieve impulse records from a device
effect: read
questions:
- Can I pull the stored impulse records off a deployed device?
- Is it possible to fetch just a range of records from a device?
instructions:
- text: Get impulse records from device {device} in project {project}.
slots:
project: path.projectId
device: path.deviceId
- text: Retrieve impulse records in range {range} from device {device} of project {project}.
slots:
project: path.projectId
device: path.deviceId
range: requestBody.range
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/devices/create'].post
update:
x-apievangelist-phrasing:
intent: Register a new device
effect: write
questions:
- How do I register a device in a project before it sends data?
- What happens to the device type if I create a device that already exists?
instructions:
- text: 'Create device {device} of type {type} in project {project}, failing if it exists: {strict}.'
slots:
project: path.projectId
device: requestBody.deviceId
type: requestBody.deviceType
strict: requestBody.ifNotExists
- text: Register device with MAC {device} as a {type} in project {project}.
slots:
project: path.projectId
device: requestBody.deviceId
type: requestBody.deviceType
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/devices/{deviceId}/rename'].post
update:
x-apievangelist-phrasing:
intent: Rename a device
effect: write
questions:
- Can I give a device a friendlier name?
- Where do I set the display name of a device?
instructions:
- text: Rename device {device} in project {project} to {name}.
slots:
project: path.projectId
device: path.deviceId
name: requestBody.name
- text: Call device {device} of project {project} {name} from now on.
slots:
project: path.projectId
device: path.deviceId
name: requestBody.name
method: generated
generated: '2026-10-01'
- target: $.paths['/api/{projectId}/devices/{deviceId}/request-model-update'].post
update:
x-apievangelist-phrasing:
intent: Push a model update to a device
effect: write
questions:
- Can I tell a running device to fetch the latest model?
- Which devices can receive a remote model update request?
instructions:
- text: Trigger a model update on device {device} in project {project}.
slots:
project: path.projectId
device: path.deviceId
- text: Ask device {device} of project {project} to pull the newest model.
slots:
project: path.projectId
device: path.deviceId
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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/edge-impulse-devices-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.