Kaedim · AsyncAPI Specification

Kaedim Webhooks

Version v1

Event surface for Kaedim 3D asset generation. After registering an HTTPS endpoint via the Web API (/registerHook), Kaedim POSTs a signed webhook to that endpoint whenever a generation stage changes status. Generated by the API Evangelist enrichment pipeline from Kaedim's published webhook docs.

View Spec View on GitHub Company3DArtificial IntelligenceGenerative AIGaming3D ModelsAsset GenerationContent GenerationMachine LearningAsyncAPIWebhooksEvents

Channels

webhook
The customer-registered HTTPS webhook endpoint.

Messages

assetStatusChanged
Asset status changed
Emitted when a generation stage changes status.

AsyncAPI Specification

Raw ↑
asyncapi: 3.0.0
info:
  title: Kaedim Webhooks
  version: v1
  description: >-
    Event surface for Kaedim 3D asset generation. After registering an HTTPS
    endpoint via the Web API (/registerHook), Kaedim POSTs a signed webhook to
    that endpoint whenever a generation stage changes status. Generated by the
    API Evangelist enrichment pipeline from Kaedim's published webhook docs.
  contact:
    name: Kaedim Support
    email: support@kaedim3d.com
    url: https://docs.kaedim3d.com/enterprise-features/custom-integrations/apis/web-hooks
  x-apievangelist-generated: '2026-07-19'
  x-apievangelist-method: searched
  x-apievangelist-source: https://docs.kaedim3d.com/enterprise-features/custom-integrations/apis/web-hooks
defaultContentType: application/json
channels:
  webhook:
    address: '{destination}'
    description: The customer-registered HTTPS webhook endpoint.
    parameters:
      destination:
        description: The HTTPS URL registered via /registerHook.
    messages:
      assetStatusChanged:
        $ref: '#/components/messages/assetStatusChanged'
operations:
  receiveAssetStatus:
    action: receive
    channel:
      $ref: '#/channels/webhook'
    summary: Receive a generation status update.
    messages:
      - $ref: '#/channels/webhook/messages/assetStatusChanged'
components:
  messages:
    assetStatusChanged:
      name: assetStatusChanged
      title: Asset status changed
      summary: Emitted when a generation stage changes status.
      headers:
        type: object
        properties:
          kaedim-signature:
            type: string
            description: HMAC-SHA256 of timestamp + UTF-8 JSON payload, keyed with your secret.
      payload:
        $ref: '#/components/schemas/WebhookPayload'
  schemas:
    WebhookPayload:
      type: object
      properties:
        status:
          type: string
          enum: [new, completed, approved, dismissed, uploaded]
        type:
          type: string
          enum: [sculpt, generation, unwrap, texture, rig, lod]
        userID: { type: string }
        studioID: { type: string, nullable: true }
        requestID: { type: string }
        iterationID: { type: string }
        name: { type: string }
        image: { type: string, format: uri }
        isRevision: { type: boolean }
        createdAt: { type: string }
        completedAt: { type: string, nullable: true }
        assetComplete: { type: boolean }
        completedModels:
          type: object
          properties:
            fbx: { type: string, format: uri }
            glb: { type: string, format: uri }
            mtl: { type: string, format: uri }
            obj: { type: string, format: uri }
            usd: { type: string, format: uri }
            gltf: { type: string, format: uri }
        devID: { type: string }