Hourone · AsyncAPI Specification

Hourone Webhooks

Version

View Spec View on GitHub CompanyArtificial IntelligenceVideoVideo GenerationGenerative AIAI AvatarsText to SpeechMediaContent CreationWebhooksAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-07-19'
method: searched
source: https://hourone.gitbook.io/api-docs/webhooks
type: Webhooks
summary: >-
  HourOne (MakeReals) publishes a webhook surface for asynchronous video status
  notifications. Webhooks are created/managed via the REST API (/webhooks) or the
  platform UI. No AsyncAPI document is published, so this captures the webhook
  catalog directly (not fabricated as an AsyncAPI spec).
delivery:
  transport: https
  method: POST
  security:
    signature_header: x-hourone-signature
    algorithm: HMAC-SHA256
    verification: >-
      Compute HMAC-SHA256 of the raw request body with the webhook signing secret
      and compare (constant-time) to the x-hourone-signature header value.
  signing_secret: generated per webhook; regenerable via PUT /webhooks/{webhook_id}/secret
management_api:
  base_url: https://api.makereals.com/api/v1
  operations:
    - GET /webhooks
    - POST /webhooks
    - GET /webhooks/{webhook_id}
    - PUT /webhooks/{webhook_id}
    - DELETE /webhooks/{webhook_id}
    - PUT /webhooks/{webhook_id}/secret
    - PUT /webhooks/{webhook_id}/pause
    - PUT /webhooks/{webhook_id}/toggle-status
  endpoint_status: [active, inactive, paused, pending]
events:
  - name: video.ready
    description: A video finished processing and is ready to download / play.
    payload:
      event_name: video_ready
      data:
        id: video id
        req_id: request id
        draft_id: source draft id
        status: ready
  - name: video.failed
    description: A video failed to process.
    payload:
      event_name: video_failed
      data:
        id: video id
        req_id: request id
        draft_id: source draft id
        status: failed
payload_model:
  name: WebHookEvent
  shape: '{ "event_name": "string", "data": { "id": "string", "req_id": "string", "draft_id": "string", "status": "ready|failed" } }'
cross_links:
  conventions: conventions/hourone-conventions.yml
  openapi: openapi/hourone-openapi-original.json