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