| name | api |
| description | Work with the Edge Impulse Studio, Ingestion, and Remote Management APIs; CLI tools; Linux runners; SDKs; and custom blocks. Use for project and sample management, data upload, model training and testing, deployment builds, device control, job monitoring, automation, or any programmatic Edge Impulse platform integration. |
| metadata | {"version":"1.0.1"} |
Edge Impulse API and ecosystem
Use the detailed reference selectively. For endpoints or payloads not covered there, consult the live Studio OpenAPI specification at https://studio.edgeimpulse.com/openapi.yml.
Prepare
- Check for
EI_API_KEY and EI_PROJECT_ID before asking for credentials.
- Never print, commit, or embed API keys.
- Use the project API key for project-scoped Studio, Ingestion, and Remote Management operations. Use user authentication only when the requested endpoint requires it.
Route the task
- Read Authentication before making API calls.
- Read Studio API for projects, samples, devices, deployments, jobs, users, and organizations.
- Read Ingestion API for uploading sensor, audio, image, or structured data.
- Read Remote Management API for live device sessions and commands.
- Read CLI Tools for daemon, uploader, data forwarder, runner, and block workflows.
- Read Linux CLI for EIM deployment and inference.
- Read Custom Blocks for organization block development.
- Read Common Recipes & Quick Reference for ready-to-adapt commands and Python patterns.
Execution workflow
- Identify the project, target resource, requested mutation, and expected output.
- Fetch current state before modifying or deleting anything.
- Use exact API paths and schemas from the reference or OpenAPI spec.
- Check HTTP status and the response's
success field.
- Treat jobs as asynchronous. Poll
/jobs/{jobId}/status with bounded intervals until .job.finished is true, then check .job.finishedSuccessful.
- On failure, fetch
/jobs/{jobId}/stdout/download and show the relevant error lines. Tell users they can also monitor progress at https://studio.edgeimpulse.com/studio/<projectId>/jobs.
- Save binary or text responses without attempting JSON decoding.
- Verify the final resource, artifact, or job state and report it clearly.
Safety
- Preview bulk relabel, move, and delete operations before executing them.
- Preserve category, label, metadata, and filename semantics during data migration.
- Use pagination for sample and job lists.
- Do not assume a deployment target identifier from its display name; query current targets.
- Prefer environment variables or secret stores for credentials.