edgeimpulse/agent-tools · skills/api/SKILL.md
api
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.
CHIP MCUCHIP CPUCHIP MPUCHIP GPUAGENT Claude CodeAGENT Codex
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.0"
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_KEYandEI_PROJECT_IDbefore 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
successfield. - Treat jobs as asynchronous. Poll
/jobs/{jobId}/statuswith bounded intervals until.job.finishedistrue, then check.job.finishedSuccessful. - On failure, fetch
/jobs/{jobId}/stdout/downloadand show the relevant error lines. Tell users they can also monitor progress athttps://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.
Comments (0)
No comments yet. Tried it on real hardware? Tell us here.