30MHz · AsyncAPI Specification

30Mhz Event Surface

Version

View Spec View on GitHub HorticultureAgricultureAgTechSensorsIoTGreenhouseClimate MonitoringTime Series DataData PlatformNetherlandsAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-09-05'
method: derived
source: openapi/30mhz-zensie-openapi.json
spec_type: none
asyncapi_published: false
webhooks_published: false
note: >-
  30MHz publishes no AsyncAPI document and does not advertise webhooks. /asyncapi.yaml, /asyncapi.json
  and the docs were checked; the developer documentation (support.30mhz.com/developer-docs) covers only
  the REST API and a pull/push data-integration pattern. No AsyncAPI or Webhooks pointer is emitted.
  Two adjacent surfaces exist in the contract and are recorded here because an integrator looking for
  "how do I get data OUT of 30MHz without polling" will land on them — neither is an event-driven
  webhook and neither should be scored as one.
adjacent_surfaces:
- name: Export partner jobs
  kind: scheduled-outbound-push
  event_driven: false
  description: >-
    An organization can register an export partner with a target exportPartnerURL and then create
    export partner jobs that carry a frequency, a payload, an active flag and an exportPartnerAccess
    token (token/tokenType/expiresAt). The platform pushes to the partner URL on that frequency. This
    is a scheduled export, not an event subscription — there is no event type, no delivery record, no
    retry semantics and no signature scheme documented anywhere in the contract or the docs.
  operations: [createExportPartner, updateExportPartner, getExportPartners, createExportPartnerJob, getExportPartnerJobsForOrganization, removeExportPartnerJob]
  schemas: [ExportPartner, NewExportPartner, ExportPartnerJob, NewExportPartnerJob, ExportPartnerAccess, ExportPartnerJobMap]
- name: Agent message stream
  kind: request-response-stream
  event_driven: false
  description: >-
    POST /agent/message-stream sends a message to a conversation and starts a run, backing the
    "Smart Assistant to talk to your data" feature. It is a streamed response to a caller-initiated
    request, not a subscribable channel; the contract declares no media type for the stream.
  operations: [sendMessageStream, getConversationMessages]
- name: Ingest
  kind: inbound-push
  event_driven: false
  description: >-
    POST /ingest/organization/{organizationId} accepts batches of ImportCheckEvent objects (capped at
    100 per call, HTTP 413 beyond that) and returns ImportCheckEventsResponse with per-event failures.
    This is the documented "push data to the 30MHz platform" direction.
  operations: [ingestImportChecks, getIngestImportCheckTemplate, updateManualImportChecks, deleteDataManualImportChecks]
  docs: https://support.30mhz.com/push-data-to-the-30mhz-platform

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/30mhz-event-surface"
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.