Webhooks | FrameFlow API

AI-Powered 4K Stock Footage Marketplace

Receive real-time updates for license transactions, clip moderation, and account lifecycle events directly to your HTTPS endpoint.

Available Events

clip_published

New Footage Live

Triggered when a creator’s 4K clip passes automated QC and becomes publicly searchable. Includes metadata like resolution, frame rate, and primary tags.

license_expired

Subscription Renewal Overdue

Fires 24 hours after a Pro or Enterprise plan lapses. Contains subscriber ID, last payment date, and remaining download credits.

clip_rejected

Moderation Review Failed

Sent when AI or human reviewers flag footage for watermarking, audio desync, or copyright strikes. Includes rejection reason codes.

batch_export_complete

Enterprise Download Ready

Dispatched when a scheduled bulk render finishes processing. Provides S3 presigned URLs valid for 48 hours.

Payload Structure

Every webhook delivers a consistent JSON envelope signed with HMAC-SHA256. Your endpoint must respond with a 2xx status within 5 seconds.

Core Fields

envelope_id, timestamp, event_type

Unique UUID v4 for idempotency tracking, ISO 8601 server time, and the exact trigger identifier. Duplicate deliveries share the same envelope_id.

Data Object

resource_id, resource_type, metadata

Points to the primary FrameFlow entity (clip, user, or license). Metadata expands dynamically based on event_type, containing up to 500KB of serialized JSON.

Retry Logic

attempt_number, next_retry_at

Ex