Corva AI · AsyncAPI Specification
Corva Ai Event Surface
Version
View Spec
View on GitHub
AnalyticsArtificial IntelligenceCompletionsCustom AppsData APIDev CenterDev Center AppsDrillingEnergyGeoscienceOil and GasPlatform APIPredictive DrillingPython SDKReal-TimeReal-Time AnalyticsSensor DataSustainabilityTime SeriesWITSWell DataAsyncAPIEvents
AsyncAPI Specification
specification: API Commons Webhooks / Event Surface
specificationVersion: '0.1'
generated: '2026-09-05'
method: searched
source: >-
https://dc-docs.corva.ai/docs/API/API%20Clients/socket-client,
https://dc-docs.corva.ai/docs/API/Core%20Concepts/historical-and-real-time,
https://dc-docs.corva.ai/docs/API/choose-the-right-api, and the publish/produce operations
declared in openapi/_original/corva-ai-data-api-openapi-original.json.
provider: Corva AI
providerId: corva-ai
description: >-
Corva ships a real, first-class streaming surface — it is a real-time drilling and completions
platform, and "receive the next record as it arrives" is the core product motion. What it does
NOT ship is a machine-readable description of that surface.
asyncapi_document:
published: false
probed:
- url: https://api.corva.ai/asyncapi.yaml
status: 404
- url: https://dc-docs.corva.ai/asyncapi.yaml
status: 404
detail: >-
No AsyncAPI document is published on any Corva host, and no event catalog or schema registry
was found. NOTHING IS FABRICATED HERE: the surface below is catalogued from Corva's own
documentation and from operations declared in the saved Data API contract, and is deliberately
NOT written as an AsyncAPI document, because Corva does not publish one. No AsyncAPI pointer is
emitted.
webhooks:
published: false
detail: >-
Corva documents NO outbound HTTP webhook mechanism — no subscription registration endpoint, no
delivery retry policy, no signing secret, and no event-type catalogue. Event delivery is
in-platform (socket subscription and Dev Center stream apps), not push-to-customer-endpoint.
No Webhooks pointer is emitted.
event_surface:
transport: WebSocket subscription plus in-platform app execution
consumer_side:
- name: socketClient
package: '@corva/ui'
description: >-
Authenticated client that subscribes a Dev Center frontend app to newly arriving records
for a dataset. The documented pattern pairs it with an initial Data API read: fetch history
over REST, then subscribe for updates.
docs: https://dc-docs.corva.ai/docs/API/API%20Clients/socket-client
availability: >-
Dev Center frontend apps only. It is a browser client bound to the Corva app shell, not a
general-purpose external subscription an outside integration can open.
- name: Dev Center stream apps
description: >-
Backend apps that Corva invokes per arriving record. Built with corva-sdk (Python) or
@corva/node-sdk (Node) and hosted by Corva.
docs: https://dc-docs.corva.ai/docs/Backend/Software%20Development%20Kits/Python/Stream%20App
availability: Requires deploying an app into Corva Dev Center.
producer_side:
- operation: 'POST /api/v1/subscriptions/{provider}/{dataset}/{asset_id}/'
operationId: publish_api_v1_subscriptions__provider___dataset___asset_id___post
description: Publish a record onto a dataset subscription for a given asset.
contract: openapi/corva-ai-data-api-openapi.yml
- operation: 'POST /api/v1/message_producer/'
operationId: produce_api_v1_message_producer__post
description: Produce a message into the platform message pipeline.
contract: openapi/corva-ai-data-api-openapi.yml
- operation: 'POST /api/v1/message_producer/{app_key}'
operationId: produce_api_v1_message_producer__app_key__post
description: Produce a message scoped to a specific app key.
contract: openapi/corva-ai-data-api-openapi.yml
- operation: 'POST /v1/message_producer/'
operationId: produce_v1_message_producer__post
description: Unprefixed alias of the produce operation.
contract: openapi/corva-ai-data-api-openapi.yml
- operation: 'POST /v1/message_producer/{app_key}'
operationId: produce_v1_message_producer__app_key__post
description: Unprefixed alias of the app-scoped produce operation.
contract: openapi/corva-ai-data-api-openapi.yml
message_schemas_declared:
- MessageProduce
- MessageProducerData
- ProduceTimeIn
- ProduceDepthIn
- TimeSeriesMetadata
- DataDocument
schema_note: >-
These ARE declared in the Data API OpenAPI contract, so the produce side of the event surface
is genuinely typed — ProduceTimeIn and ProduceDepthIn distinguish time-indexed from
depth-indexed records, which is the central modelling distinction in drilling data. The
consume side has no published schema.
related_platform_tag: >-
The Platform API additionally declares a MessageProducer tag, so the produce concept spans both
APIs.
gap_summary: >-
The asymmetry is the finding. Corva's PRODUCE path is declared in an OpenAPI contract with named
request schemas; its CONSUME path — the one that actually carries the real-time value — is
reachable only through a Corva-hosted app or the @corva/ui browser client, and is described
in prose alone. An external system cannot subscribe to Corva events without deploying an app
inside Corva, and no AsyncAPI or webhook catalogue exists to describe what it would receive.
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.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/corva-ai-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.