echo3D · AsyncAPI Specification

echo3D Webhooks

Version 1.0.0

Event webhooks echo3D delivers to a subscriber-configured HTTPS endpoint when actions occur in a collection. Generated from the echo3D webhook documentation; every event shares one JSON payload shape where metadataKeys[i] corresponds to metadataValues[i].

View Spec View on GitHub Company3DAugmented RealityVirtual RealityDigital Asset Management3D ModelsContent DeliveryDeveloper ToolsSDKsWebARAsyncAPIWebhooksEvents

Channels

events

Messages

WebhookEvent
echo3D webhook event

Servers

https
subscriber
The HTTPS endpoint you register in the console Workflows > Webhooks tab. Must be public HTTPS (no localhost/private addresses). echo3D sends an HTTP POST with a JSON body to this URL when a configured trigger fires.

AsyncAPI Specification

echo3d-webhooks-asyncapi.yml Raw ↑
asyncapi: 3.0.0
info:
  title: echo3D Webhooks
  version: 1.0.0
  description: >-
    Event webhooks echo3D delivers to a subscriber-configured HTTPS endpoint
    when actions occur in a collection. Generated from the echo3D webhook
    documentation; every event shares one JSON payload shape where metadataKeys[i]
    corresponds to metadataValues[i].
  x-generated: '2026-07-19'
  x-method: generated
  x-source: https://docs.echo3d.com/web-console/automate-pages/workflows/webhooks
  externalDocs:
    url: https://docs.echo3d.com/web-console/automate-pages/workflows/webhooks
defaultContentType: application/json
servers:
  subscriber:
    host: subscriber-provided.example.com
    protocol: https
    description: >-
      The HTTPS endpoint you register in the console Workflows > Webhooks tab.
      Must be public HTTPS (no localhost/private addresses). echo3D sends an
      HTTP POST with a JSON body to this URL when a configured trigger fires.
channels:
  events:
    address: /
    messages:
      Upload:
        $ref: '#/components/messages/WebhookEvent'
      Processed:
        $ref: '#/components/messages/WebhookEvent'
      Edit:
        $ref: '#/components/messages/WebhookEvent'
      Delete:
        $ref: '#/components/messages/WebhookEvent'
      CollectionMetadataAdd:
        $ref: '#/components/messages/WebhookEvent'
      CollectionMetadataRemove:
        $ref: '#/components/messages/WebhookEvent'
      AssetMetadataAdd:
        $ref: '#/components/messages/WebhookEvent'
      AssetMetadataRemove:
        $ref: '#/components/messages/WebhookEvent'
      AssetStatusUpdate:
        $ref: '#/components/messages/WebhookEvent'
operations:
  receiveEvent:
    action: receive
    channel:
      $ref: '#/channels/events'
    summary: Receive an echo3D event webhook (HTTP POST).
components:
  messages:
    WebhookEvent:
      name: WebhookEvent
      title: echo3D webhook event
      contentType: application/json
      payload:
        type: object
        required: [event, apiKey]
        properties:
          event:
            type: string
            description: The trigger that fired.
            enum:
            - Upload
            - Processed
            - Edit
            - Delete
            - CollectionMetadataAdd
            - CollectionMetadataRemove
            - AssetMetadataAdd
            - AssetMetadataRemove
            - AssetStatusUpdate
          apiKey:
            type: string
            description: The API key of the collection.
          entryIds:
            type: array
            items: {type: string}
            description: Affected entry/asset IDs (empty if not applicable).
          metadataKeys:
            type: array
            items: {type: string}
            description: Metadata keys involved (parallel to metadataValues).
          metadataValues:
            type: array
            items: {type: string}
            description: Metadata values involved (parallel to metadataKeys).
          statuses:
            type: array
            items: {type: string}
            description: Statuses involved (empty if not applicable).
          versionIds:
            type: array
            items: {type: string}
            description: Version IDs involved (empty if not applicable).
        examples:
        - name: Upload
          payload:
            event: Upload
            apiKey: bold-sky-1234
            entryIds: ['a1b2c3d4-5678-90ab-cdef-1234567890ab']
            metadataKeys: []
            metadataValues: []
            statuses: []
            versionIds: []