CoroNet · AsyncAPI Specification

Coro Public API Webhooks

Version 3.8.3

Coro sends real-time, HMAC-signed webhook events to a subscriber-configured URL over HTTP POST (JSON), facilitating automation for billing and workspace management. This document is generated by the API Evangelist enrichment pipeline from Coro's published webhook documentation (event catalog, headers, and payload structure); it is not a Coro-published AsyncAPI file.

View Spec View on GitHub CompanyEnterpriseCybersecuritySecurityEndpoint SecurityEmail SecurityNetwork SecurityCloud SecurityManaged Service ProvidersComplianceWebhookAsyncAPIWebhooksEvents

Channels

coroWebhook
Single subscriber endpoint receiving all Coro webhook event types. Security headers X-Coro-Hook-Id, X-Coro-Hook-Type and X-Coro-Signature (HMAC SHA-256 of X-Coro-Hook-Id with your shared secret) accompany each delivery.

Messages

CoroEvent
CoroEvent

Servers

https
subscriber
The subscriber-provided URL that Coro POSTs events to.

AsyncAPI Specification

Raw ↑
generated: '2026-07-18'
method: generated
source: https://docs.coro.net/developer-portal/what-is-webhook
spec_type: AsyncAPI
asyncapi: 3.0.0
info:
  title: Coro Public API Webhooks
  version: 3.8.3
  description: >-
    Coro sends real-time, HMAC-signed webhook events to a subscriber-configured
    URL over HTTP POST (JSON), facilitating automation for billing and workspace
    management. This document is generated by the API Evangelist enrichment
    pipeline from Coro's published webhook documentation (event catalog, headers,
    and payload structure); it is not a Coro-published AsyncAPI file.
  externalDocs:
    url: https://docs.coro.net/developer-portal/what-is-webhook
defaultContentType: application/json
servers:
  subscriber:
    host: your-configured-endpoint
    protocol: https
    description: The subscriber-provided URL that Coro POSTs events to.
channels:
  coroWebhook:
    address: /
    description: >-
      Single subscriber endpoint receiving all Coro webhook event types.
      Security headers X-Coro-Hook-Id, X-Coro-Hook-Type and X-Coro-Signature
      (HMAC SHA-256 of X-Coro-Hook-Id with your shared secret) accompany each
      delivery.
    messages:
      workspaceCreated: { $ref: '#/components/messages/CoroEvent' }
      workspaceStatusUpdated: { $ref: '#/components/messages/CoroEvent' }
      subscriptionUpdated: { $ref: '#/components/messages/CoroEvent' }
      protectedUsersAdded: { $ref: '#/components/messages/CoroEvent' }
      protectedUsersUpdated: { $ref: '#/components/messages/CoroEvent' }
      protectedUsersDeleted: { $ref: '#/components/messages/CoroEvent' }
      protectedUsersCountUpdated: { $ref: '#/components/messages/CoroEvent' }
      protectedDevicesAdded: { $ref: '#/components/messages/CoroEvent' }
      protectedDevicesUpdated: { $ref: '#/components/messages/CoroEvent' }
      protectedDevicesDeleted: { $ref: '#/components/messages/CoroEvent' }
      protectedDevicesCountUpdated: { $ref: '#/components/messages/CoroEvent' }
operations:
  receiveCoroEvent:
    action: receive
    channel: { $ref: '#/channels/coroWebhook' }
    summary: Receive a Coro webhook event.
components:
  messages:
    CoroEvent:
      name: CoroEvent
      contentType: application/json
      headers:
        type: object
        properties:
          X-Coro-Hook-Id: { type: string, description: Unique per-event identifier. }
          X-Coro-Hook-Type: { type: string, description: The event type that triggered the webhook. }
          X-Coro-Signature: { type: string, description: HMAC SHA-256 signature of X-Coro-Hook-Id with the shared secret. }
      payload: { $ref: '#/components/schemas/EventEnvelope' }
  schemas:
    EventEnvelope:
      type: object
      properties:
        id: { type: string, description: Unique identifier of the webhook. }
        timestamp: { type: integer, description: Event timestamp in UTC milliseconds. }
        workspaceId: { type: string, description: Identifier of the workspace the webhook applies to. }
        type:
          type: string
          description: The event which triggered the webhook.
          enum:
          - workspace-created
          - workspace-status-updated
          - subscription-updated
          - protected-users-added
          - protected-users-updated
          - protected-users-deleted
          - protected-users-count-updated
          - protected-devices-added
          - protected-devices-updated
          - protected-devices-deleted
          - protected-devices-count-updated
        data:
          type: object
          description: Event-type-specific fields (e.g. protectedCount, companyName, domain, subscriptionType).
x-events:
- type: workspace-created
  trigger: A workspace is created.
- type: workspace-status-updated
  trigger: A workspace's status is updated (excluding creation).
- type: subscription-updated
  trigger: Changes are made to the workspace subscription.
- type: protected-users-added
  trigger: New protected users are added.
- type: protected-users-updated
  trigger: Existing protected users are updated or removed from protection.
- type: protected-users-deleted
  trigger: Protected users are deleted.
- type: protected-users-count-updated
  trigger: Protected users are added or deleted.
- type: protected-devices-added
  trigger: New protected devices are added.
- type: protected-devices-updated
  trigger: Existing protected devices are updated.
- type: protected-devices-deleted
  trigger: Protected devices are deleted.
- type: protected-devices-count-updated
  trigger: Protected devices are added or deleted.

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/coronet-webhooks-asyncapi"
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 email required.

A second provider on the same verified email joins the account you already have.