Edge Impulse · AsyncAPI Specification

Edge Impulse Webhooks

Version

View Spec View on GitHub Artificial IntelligenceMachine LearningEmbedded Machine LearningEdge AIMLOpsComputer VisionInternet of ThingsModel DeploymentDeveloper ToolsAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-09-06'
method: searched
source: https://docs.edgeimpulse.com/studio/organizations/data-pipelines#webhooks, https://docs.edgeimpulse.com/studio/projects/data-acquisition/data-sources#webhooks,
  https://docs.edgeimpulse.com/apis/studio#jobs, https://docs.edgeimpulse.com/tools/protocols/remote-management/websocket
provider: Edge Impulse
providerId: edge-impulse
description: 'Edge Impulse has three event surfaces and publishes a machine-readable contract for none
  of them. One outbound webhook exists — a data-pipeline completion callback with a documented JSON body.
  Two socket surfaces carry the rest: job progress events on the Studio WebSocket, and the fully specified
  device Remote Management protocol (derived into an AsyncAPI document in this repo). There is no event
  catalogue, no subscription API, no signing scheme and no retry policy.'
asyncapi_published: false
derived_asyncapi: asyncapi/edge-impulse-remote-management-asyncapi.yml
webhooks:
- id: pipeline-run-complete
  name: Data pipeline run complete
  direction: outbound
  transport: HTTP POST
  configured_in: Studio — organization data pipelines, and project data sources
  docs: https://docs.edgeimpulse.com/studio/organizations/data-pipelines#webhooks
  trigger: Fires when a data pipeline finishes a run.
  payload_fields:
  - name: organizationId
    type: integer
  - name: pipelineId
    type: integer
  - name: pipelineName
    type: string
  - name: projectId
    type: integer
  - name: success
    type: boolean
  - name: newItems
    type: integer
  - name: newChecklistOK
    type: integer
  - name: newChecklistFail
    type: integer
  signing: null
  retries: null
  note: 'Availability follows the feature: organization data pipelines are an Enterprise capability.'
socket_events:
- id: job-data
  surface: Studio WebSocket
  pattern: job-data-{jobId}
  payload: '{ data: ''string with status'' }'
  description: Status update on a running job, e.g. training progress.
  docs: https://docs.edgeimpulse.com/apis/studio#updates
- id: job-finished
  surface: Studio WebSocket
  pattern: job-finished-{jobId}
  payload: '{ success: true }'
  description: The job has finished; success indicates whether it completed cleanly.
  docs: https://docs.edgeimpulse.com/apis/studio#updates
- id: job-cancel
  surface: Studio WebSocket
  pattern: job-cancel
  direction: inbound
  payload: jobId
  description: Client-sent event that cancels a running job over the socket.
  docs: https://docs.edgeimpulse.com/apis/studio#canceling-a-job
socket_token:
  note: A socket token is obtained through getSocketToken (project) or getOrganizationSocketToken (organization)
    before connecting to the Studio WebSocket.
device_protocol:
  surface: Remote Management WebSocket
  endpoint: wss://remote-mgmt.edgeimpulse.com
  protocol_version: 3
  messages: 12
  encodings:
  - JSON
  - CBOR
  docs: https://docs.edgeimpulse.com/tools/protocols/remote-management/websocket
  note: Fully specified in prose with a JSON Schema per message, and covered by a published device conformance
    suite at https://github.com/edgeimpulse/integration-tests-firmware. Derived into AsyncAPI 3.0.0 in
    this repo.
gaps:
- No webhook subscription/management API — the pipeline webhook URL is set in the Studio UI only.
- No signature header or shared secret is documented for the outbound webhook, so a receiver cannot verify
  origin.
- No delivery guarantee, retry schedule or replay endpoint is documented.
- 'No event catalogue: job events are described in two sentences of prose, not enumerated.'
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com

Work with this as data

Every AsyncAPI spec 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 asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • 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 AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/edge-impulse-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?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.