URL parameters
The Edge Impulse CSV Editor is configured through URL query parameters, so Edge Impulse Studio (or any host page) can deep-link straight into the right state. Parameters are parsed once at load and parsing never throws: invalid values fall back to their default, enums are case-insensitive, booleans accept 1/true/yes/on and 0/false/no/off, and integers are clamped to their range. When embedded in an iframe, parameters are also inherited from the parent frame (own-window values win).
| Parameter | Type | Default | Description |
|---|---|---|---|
apiKey | string ei_… | — | Edge Impulse API key. Validated, moved into the httpOnly ei_session cookie, then stripped from the URL. Only accepted when it starts with ei_. |
category | enum | — | Dataset bucket to list and load from: training, testing, or anomaly. Case-insensitive. |
labels | comma list | — | Filter the sample list to these labels, e.g. labels=idle,walk,run. |
sample/ sampleId | integer ≥ 1 | — | Id of the sample to auto-open in the editor on load. |
limit | integer 1–1000 | 200 | Page size for the sample list. Clamped to the 1..1000 range. |
offset | integer ≥ 0 | 0 | Page offset for the sample list. Negative values clamp to 0. |
theme | enum | light | Force the UI theme: light or dark. Case-insensitive. Defaults to light. |
mode | enum | editor | editor or viewer. In viewer mode the app is read-only: crop, channel and label rename, and upload to Edge Impulse are hidden. Lanes, drag-to-regroup, zoom, the formula engine, and CSV export stay available. |
embed | boolean | false | Strips the header and toolbar chrome for iframe embedding, keeping the lane editor fully functional. |
studioHost | URL | studio.edgeimpulse.com | Override the Studio API base URL. Must start with http:// or https://. |
ingestionHost | URL | ingestion.edgeimpulse.com | Override the Ingestion API base URL. Must start with http:// or https://. |
Examples
Open a specific training sample
/?category=training&sample=98765Connect with an API key (stripped from the URL after load)
/?apiKey=ei_xxxxxxxxxxxx&sample=98765Filter by label, with a larger page size
/?category=testing&labels=idle,walk,run&limit=500Embedded, read-only viewer
/?sample=98765&mode=viewer&embed=1Self-hosted Edge Impulse instance
/?studioHost=https://studio.acme.com/v1/apiThe API key never stays in the URL
- The key is posted to
/api/ei/session, where the server validates it against Edge Impulse Studio. - On success it is stored only in an httpOnly, secure, sameSite-none
ei_sessioncookie, never readable from client JavaScript and never written to localStorage. - The key is then removed from the address bar with history.replaceState before the editor renders, so it never lingers in history, bookmarks, or the referrer.
Every subsequent request goes through the same-origin proxy routes, which read the cookie server-side and attach the key. The browser never sees it again.