Edge Impulse Projects API

The Projects API from Edge Impulse — 46 operation(s) for projects.

Operations 60

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/projects List the projects I can access · List active projects #
Ask an LLM
“Which Edge Impulse projects does my account have access to?”
“If I authenticate with a project API key, what does the active-projects list show?”
Tell an agent
List all my active Edge Impulse projects.
Show every active project my login can open.
POST /api/projects/create Create a new project · Create new project #
Ask an LLM
“How do I start a brand-new Edge Impulse project?”
“Can a new project be created as public instead of private?”
Tell an agent
Create a new project called {name}.
Create a project named {name} with {visibility} visibility.
GET /api/{projectId}/devkeys Get a project's development API and HMAC keys · Get development keys #
Ask an LLM
“Where do I find the development API key and HMAC key together for a project?”
“Why would a project's development keys come back undefined?”
Tell an agent
Get both development keys (API and HMAC) for project {project}.
Fetch the dev API key and dev HMAC key pair of project {project}.
GET /api/{projectId}/downloads List a project's downloadable files · Get downloads #
Ask an LLM
“What files can I download from my project, like trained models or datasets?”
“Can I see the downloads for a specific impulse rather than the default one?”
Tell an agent
List the available downloads for project {project}.
Show downloads for impulse {impulse} in project {project}.
GET /api/{projectId}/csv-wizard/download-config Download the CSV Wizard config · Download CSV Wizard config #
Ask an LLM
“Can I export the CSV Wizard configuration of a project as a JSON file?”
“What happens if I download the CSV Wizard config when none is set?”
Tell an agent
Download the CSV Wizard config JSON for project {project}.
Export project {project}'s CSV import wizard settings.
GET /api/{projectId}/csv-wizard/uploaded-file Check if the CSV Wizard source file exists · Get CSV Wizard uploaded file info #
Ask an LLM
“Is the sample file I used to set up the CSV Wizard still available?”
“Can I check whether a CSV Wizard source file was stored without downloading it?”
Tell an agent
Check whether the CSV Wizard source file is still stored for project {project}.
Tell me if project {project} has the file the CSV Wizard was configured from.
POST /api/{projectId}/csv-wizard/uploaded-file Store the CSV Wizard source file · Store CSV Wizard uploaded file #
Ask an LLM
“Can I save the CSV file the wizard was based on alongside the project?”
“Where does the CSV Wizard keep the example file I configured it with?”
Tell an agent
Store {file} as the CSV Wizard source file for project {project}.
Upload the CSV Wizard's base file to project {project}.
GET /api/{projectId}/csv-wizard/uploaded-file/download Download the CSV Wizard source file · Download CSV Wizard uploaded file #
Ask an LLM
“How can I get back the original CSV I used to configure the CSV Wizard?”
“Is it possible to download the file the CSV import wizard was built from?”
Tell an agent
Download the CSV Wizard source file from project {project}.
Retrieve the original CSV the wizard was configured with in project {project}.
POST /api/{projectId}/collaborators/add Add a collaborator to a project · Add collaborator #
Ask an LLM
“How do I invite a teammate to work on my Edge Impulse project?”
“Can I add a collaborator by email address instead of username?”
Tell an agent
Add {user} as a collaborator on project {project}.
Give {user} collaborator access to project {project}.
POST /api/{projectId}/collaborators/remove Remove a collaborator from a project · Remove collaborator #
Ask an LLM
“Can I remove someone's access to my project?”
“Why can't I remove the last remaining collaborator on a project?”
Tell an agent destructive · confirm first
Remove {user} as a collaborator from project {project}.
Revoke {user}'s collaborator access to project {project}.
POST /api/{projectId}/collaborators/transfer-ownership Transfer a project to another user · Transfer ownership (user) #
Ask an LLM
“Can I hand ownership of my project to another person?”
“What do I need to transfer a project to a different user account?”
Tell an agent destructive · confirm first
Transfer ownership of project {project} to user {user}.
Make {user} the new owner of project {project}.
POST /api/{projectId}/collaborators/transfer-ownership-org Transfer a project to an organization · Transfer ownership (organization) #
Ask an LLM
“Can I move my personal project into an organization?”
“Which ID do I need to transfer project ownership to an organization?”
Tell an agent destructive · confirm first
Transfer project {project} to organization {org}.
Hand ownership of project {project} over to organization {org}.
GET /api/{projectId}/hmackeys List a project's HMAC keys · Get HMAC keys #
Ask an LLM
“Which HMAC keys are configured on my project?”
“Can I see every HMAC signing key, not just the development one?”
Tell an agent
List all HMAC keys for project {project}.
Show every HMAC key registered on project {project}.
POST /api/{projectId}/hmackeys Add an HMAC key to a project · Add HMAC key #
Ask an LLM
“How do I add a new HMAC key for signing device data?”
“If I mark a new HMAC key as development, what happens to the old development key?”
Tell an agent
Add HMAC key {key} named {name} to project {project}.
Add HMAC key {key} called {name} to project {project} with development flag {dev}.
DELETE /api/{projectId}/hmackeys/{hmacId} Revoke an HMAC key · Remove HMAC key #
Ask an LLM
“Can I delete an HMAC key I no longer use?”
“What breaks if I revoke the development HMAC key?”
Tell an agent destructive · confirm first
Revoke HMAC key {hmac} in project {project}.
Delete HMAC key {hmac} from project {project}.
GET /api/{projectId}/apikeys List a project's API keys · Get API keys #
Ask an LLM
“What API keys exist for my project?”
“Why does the API key list only show part of each key?”
Tell an agent
List all API keys for project {project}.
Show the API keys and their roles on project {project}.
POST /api/{projectId}/apikeys Add an API key to a project · Add API key #
Ask an LLM
“How do I create a new API key with a specific role for my project?”
“Can I supply my own API key value, and what prefix must it start with?”
Tell an agent
Add an API key named {name} with role {role} to project {project}.
Create API key {name} with role {role} on project {project} and set development flag {dev}.
DELETE /api/{projectId}/apikeys/{apiKeyId} Revoke a project API key · Revoke API key #
Ask an LLM
“Can I revoke a full-access project API key that leaked?”
“What stops working if the development API key is revoked?”
Tell an agent destructive · confirm first
Revoke API key {key} on project {project}.
Delete project {project}'s API key {key}.
GET /api/{projectId}/emails List emails sent about a project · List emails #
Ask an LLM
“Which emails has Edge Impulse sent regarding my project?”
“Can I review the notification emails sent for a project?”
Tell an agent
List every email sent about project {project}.
Show the email history for project {project}.
GET /api/{projectId}/socket-token Get a websocket auth token · Get socket token #
Ask an LLM
“What token do I need to connect to the project websocket?”
“How can a client authenticate to the web socket interface?”
Tell an agent
Get a websocket token for project {project}.
Issue a socket authentication token for project {project}.
GET /api/{projectId}/data-axes Summarize the axes in training data · Get data axes summary #
Ask an LLM
“Which sensor axes appear in my project's training data?”
“Can I list data axes while ignoring disabled samples?”
Tell an agent
Get the data axes summary for project {project}.
List the training data axes of project {project}, include disabled samples: {disabled}.
GET /api/{projectId}/data-summary Summarize a project's training data · Get data summary #
Ask an LLM
“How many training items and labels does my project have, and how long is the data in total?”
“Can the training data summary leave out samples that are still processing?”
Tell an agent
Summarize the training set of project {project}.
Get the training data summary for project {project} with unprocessed samples included: {unprocessed}.
GET /api/{projectId}/data-interval Get the training data sample interval · Get the interval (in ms) of the training data #
Ask an LLM
“What sampling interval in milliseconds does my training data use?”
“If my data has mixed intervals, which one is reported?”
Tell an agent
Get the training data interval in ms for project {project}.
Tell me the sample interval of project {project}'s training data.
POST /api/{projectId}/compute-time-limit Set the job compute time limit · Set compute time limit #
Ask an LLM
“Can I raise the compute time limit for training jobs on a project?”
“Who is allowed to change a project's job compute time limit?”
Tell an agent
Set the job compute time limit of project {project} to {limit}.
Change project {project}'s compute limit for jobs to {limit}.
POST /api/{projectId}/dsp-file-size-limit Set the DSP file size limit · Set DSP file size limit #
Ask an LLM
“Can I change the maximum DSP file size for a project?”
“What is the default DSP file size limit in megabytes?”
Tell an agent
Set the DSP file size limit of project {project} to {mb} MB.
Raise project {project}'s DSP file limit to {mb} MB.
GET /api/{projectId}/versions List all versions of a project · List versions #
Ask an LLM
“What saved versions exist for my project, private ones included?”
“Can I see the full version history of a project?”
Tell an agent
List all versions of project {project}.
Show every saved version, public and private, of project {project}.
GET /api/{projectId}/versions/public List a project's public versions · List public versions #
Ask an LLM
“Which versions of a project have been made public?”
“Can I list public versions without authenticating?”
Tell an agent
List only the public versions of project {project}.
Show the publicly shared versions of project {project}.
POST /api/{projectId}/versions/{versionId} Update a project version's description · Update version #
Ask an LLM
“Can I edit the description of a saved project version?”
“Does updating a version change fields I leave out?”
Tell an agent
Update version {version} of project {project} with description {description}.
Change the description of version {version} in project {project}.
DELETE /api/{projectId}/versions/{versionId} Delete a project version · Delete versions #
Ask an LLM
“Can I delete an old version of my project?”
“Is a deleted version also removed from cold storage?”
Tell an agent destructive · confirm first
Delete version {version} of project {project}.
Remove saved version {version} from project {project}.
POST /api/{projectId}/versions/{versionId}/make-private Make a public version private · Make version private #
Ask an LLM
“I published a project version by mistake; can I make it private again?”
“Is there a way to unpublish a public version without deleting it?”
Tell an agent
Make version {version} of project {project} private.
Unpublish public version {version} in project {project}.
POST /api/{projectId}/readme/upload-image Upload an image for the project readme · Upload image for readme #
Ask an LLM
“Can I add images to my project's readme?”
“Where are readme images hosted after upload?”
Tell an agent
Upload {image} as a readme image for project {project}.
Add an image to the readme of project {project} and give me its path.
POST /api/{projectId}/launch-getting-started Reset a project via the getting started wizard · Launch getting started wizard #
Ask an LLM
“What does launching the getting started wizard do to my existing data?”
“Is relaunching the getting started wizard reversible?”
Tell an agent destructive · confirm first
Launch the getting started wizard on project {project}, clearing all its data.
Wipe project {project} and restart the getting started wizard.
GET /api/{projectId}/last-modification Get when a project was last modified · Last modification #
Ask an LLM
“When was my project's data or impulse last changed?”
“Does training an impulse update the project's last modification date?”
Tell an agent
Get the last modification date of project {project}.
Tell me when project {project} was last modified.
GET /api/{projectId}/development-boards List development boards for a project · Development boards #
Ask an LLM
“Which development boards are available for my project?”
“What hardware boards can I pick from in a project?”
Tell an agent
List the development boards for project {project}.
Show supported dev boards in project {project}.
GET /api/{projectId}/target-constraints Get a project's target device constraints · Get target constraints #
Ask an LLM
“What target device constraints and application budget are set on my project?”
“Can I read the hardware attributes configured for my target device?”
Tell an agent
Get the target constraints for project {project}.
Show the target hardware and latency/memory budget of project {project}.
POST /api/{projectId}/target-constraints Set target device constraints · Set target constraints #
Ask an LLM
“How do I tell the project which target devices and resource budgets I'm designing for?”
“Can I define multiple candidate target devices with their own application budgets?”
Tell an agent
Set target devices {devices} with budgets {budgets} on project {project}.
Update project {project}'s target constraints to devices {devices} and application budgets {budgets}.
GET /api/{projectId}/model-variants List model variants for a project · Get a list of all model variants available for this project #
Ask an LLM
“Which model variants, like quantized or float, are available for my trained blocks?”
“Can I see model variants for a non-default impulse?”
Tell an agent
List the model variants available in project {project}.
Get model variants for impulse {impulse} of project {project}.
POST /api/{projectId}/dismiss-notification Dismiss a project notification · Dismiss a notification #
Ask an LLM
“Can I dismiss a notification shown in my project?”
“Is there a way to hide a project notification for good?”
Tell an agent
Dismiss notification {notification} in project {project}.
Hide the {notification} notice on project {project}.
GET /api/{projectId}/synthetic-data Get the last synthetic data config · Get synthetic data config #
Ask an LLM
“What synthetic data settings did I last use in my project?”
“Can I retrieve the previous synthetic data generation config?”
Tell an agent
Get the last used synthetic data config for project {project}.
Show project {project}'s synthetic data settings.
GET /api/{projectId}/ai-actions List a project's AI Actions · List AI Actions #
Ask an LLM
“What AI Actions are set up in my project?”
“Can I see all AI Actions configured for labeling or enriching data?”
Tell an agent
List all AI Actions in project {project}.
Show the AI Actions defined on project {project}.
POST /api/{projectId}/ai-actions/order Reorder a project's AI Actions · Set AI Actions order #
Ask an LLM
“Can I change the order AI Actions appear in?”
“Do I have to include every AI Action when reordering them?”
Tell an agent
Reorder the AI Actions in project {project} to {order}.
Set the AI Action order of project {project} using action IDs {order}.
POST /api/{projectId}/ai-actions/create Create a new AI Action · Create AI Action #
Ask an LLM
“How do I add a new AI Action to my project?”
“Can I start a blank AI Action and configure it later?”
Tell an agent
Create a new AI Action in project {project}.
Add an empty AI Action to project {project}.
GET /api/{projectId}/ai-actions/new Get the default config for a new AI Action · Get new AI Actions config #
Ask an LLM
“What does the starting configuration of a new AI Action look like?”
“Can I preview the template config before creating an AI Action?”
Tell an agent
Get the template config for a new AI Action in project {project}.
Show the default settings a new AI Action would start with in project {project}.
GET /api/{projectId}/ai-actions/{actionId} Get an AI Action's config · Get AI Actions config #
Ask an LLM
“Can I view the steps and data filter of an existing AI Action?”
“Which metadata does a particular AI Action set after it runs?”
Tell an agent
Get the config of AI Action {action} in project {project}.
Show AI Action {action}'s steps and data selection in project {project}.
POST /api/{projectId}/ai-actions/{actionId} Save an AI Action's config · Save AI Actions config #
Ask an LLM
“How do I save changes to the steps of an AI Action?”
“Can an AI Action be limited to samples with a certain metadata key and value?”
Tell an agent
Save AI Action {action} in project {project} with steps {steps} on data category {category}.
Rename AI Action {action} in project {project} to {name}, keeping steps {steps} and category {category}.
DELETE /api/{projectId}/ai-actions/{actionId} Delete an AI Action · Delete AI Actions config #
Ask an LLM
“Can I remove an AI Action I no longer need?”
“Is deleting an AI Action config permanent?”
Tell an agent destructive · confirm first
Delete AI Action {action} from project {project}.
Remove the AI Action {action} config in project {project}.
POST /api/{projectId}/ai-actions/{actionId}/preview-samples Preview samples for an AI Action · Preview samples for AI Actions #
Ask an LLM
“Can I see a random set of samples an AI Action would run on before running it?”
“Is it possible to preview AI Action samples for an action that isn't created yet?”
Tell an agent
Preview up to {count} random samples from category {category} for AI Action {action} in project {project}.
Show sample previews for AI Action {action} in project {project} and save the preview config: {save}.
GET /api/{projectId}/ai-actions/{actionId}/clear-proposed-changes Clear an AI Action's proposed changes · Clear AI Actions proposed changes #
Ask an LLM
“Can I discard all proposed changes from an AI Actions job?”
“How do I throw away AI Action suggestions I don't want to apply?”
Tell an agent destructive · confirm first
Clear the proposed changes for AI Action {action} in project {project}.
Discard AI Action {action}'s pending proposals in project {project}.
POST /api/{projectId}/tags Update a project's tags · Update tags #
Ask an LLM
“Can I tag my project with keywords?”
“Does updating project tags replace the whole list?”
Tell an agent
Set the tags of project {project} to {tags}.
Replace project {project}'s tag list with {tags}.
GET /api/projects/public Browse public projects · List public projects #
Ask an LLM
“Where can I browse public Edge Impulse projects shared by others?”
“Can I search public projects by name or owner and filter by project type?”
Tell an agent
List public projects whose name or owner contains {term}.
Show {limit} public projects of types {types}.
GET /api/projects/types List public project types · List public project types #
Ask an LLM
“What project types can public projects be filtered by?”
“Which categories of public projects exist?”
Tell an agent
List the available public project types.
Show every project type used to classify public projects.
GET /api/{projectId} Get full project information · Project information #
Ask an LLM
“How do I get everything about my project, including its data summary and impulse?”
“Can I fetch project details for a specific impulse instead of the default one?”
Tell an agent
Get all information about project {project}.
Show project {project}'s full details for impulse {impulse}.
POST /api/{projectId} Update project settings · Update project #
Ask an LLM
“Can I rename my project or change its logo?”
“Is it possible to switch a project to train on GPU or change its readme?”
Tell an agent
Rename project {project} to {name}.
Set the visibility of project {project} to {visibility}.
DELETE /api/{projectId} Delete a project and all its data · Remove project #
Ask an LLM
“How do I permanently delete a project?”
“Can a removed project and its data ever be recovered?”
Tell an agent destructive · confirm first
Delete project {project} and all its data.
Permanently remove project {project}.
GET /api/{projectId}/public-info Get a public project's summary · Public project information #
Ask an LLM
“Can I get summary information about someone else's public project?”
“What public info is available for a shared project?”
Tell an agent
Get the public summary of project {project}.
Show public info for shared project {project}.
GET /api/projects/api-key-info Check the current API key's role and project · Get info about current API key #
Ask an LLM
“Which project and role does the API key I'm using belong to?”
“Can I tell what permissions my current project API key has?”
Tell an agent
Show the role and project ID for my current API key.
Check which project this API key authenticates to.
GET /api/{projectId}/devkeys/hmac Get the HMAC development key · Get HMAC development key #
Ask an LLM
“Where can I get just the development HMAC key for a project?”
“Is there a dev HMAC key set on my project at all?”
Tell an agent
Get the development HMAC key of project {project}.
Fetch only the dev HMAC key for project {project}.
POST /api/{projectId}/csv-wizard/delete-config Delete the CSV Wizard config · Delete CSV Wizard config #
Ask an LLM
“How can I stop the CSV Wizard from parsing new uploads?”
“If I clear the CSV Wizard config, how are later CSVs uploaded?”
Tell an agent destructive · confirm first
Delete the CSV Wizard config for project {project}.
Clear project {project}'s CSV import wizard setup so CSVs upload as-is.
POST /api/{projectId}/apikeys/ingestiononly Add an ingestion-only API key · Add ingestion-only API key #
Ask an LLM
“Can I create an API key that can only upload data to my project?”
“What's the safest key to put on a device that only sends samples?”
Tell an agent
Add an ingestion-only API key named {name} to project {project}.
Create an upload-only key called {name} for project {project}.
DELETE /api/{projectId}/apikeys/ingestiononly/{apiKeyId} Revoke an ingestion-only API key · Revoke ingestion-only API key #
Ask an LLM
“Can I revoke an ingestion-only key without touching my other API keys?”
“What error do I get if I revoke a key that isn't ingestion-only through this route?”
Tell an agent destructive · confirm first
Revoke ingestion-only API key {key} on project {project}.
Delete the upload-only key {key} from project {project}.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/edge-impulse:edge-impulse-projects-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

edge-impulse-projects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Edge Impulse Projects API
  version: 1.0.0
  description: 'Operations tagged Projects across 2 of this provider''s published API definitions: edge-impulse-openapi.yml, edge-impulse-studio-openapi-2026-09-06.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://studio.edgeimpulse.com/v1
tags:


# --- truncated at 32 KB (185 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/edge-impulse/refs/heads/main/openapi/edge-impulse-projects-api-openapi.yml