Adapter Contract
The Fever Core adapter onboarding contract — required fields, event types, and delivery semantics.
Contract version1.1.0Registry requiredyes
Required Headers
- Content-Type
- application/json
- X-Tenant-Key
- Your tenant identifier (e.g. fever)
- X-Product-Key
- Your product identifier (e.g. micboxx)
- X-Property-Key
- Your property/surface identifier (e.g. micboxx_web)
Required Fields
- event_type
- subject_type
- subject_id
- tenant_key
- product_key
- property_key
- occurred_at
Supported Event Types
- play
- save
- skip
- follow
- search
- impression
- purchase
- commerce.order.created
- commerce.order.completed
- commerce.order.failed
- commerce.refund.created
- entitlement.granted
- entitlement.revoked
- subscription.created
- subscription.renewed
- subscription.canceled
- subscription.cancel_at_period_end
- promotion.impression
- promotion.click
- promotion.view
- promotion.engaged
Supported Subject Types
- track
- album
- artist
- playlist
- user
- campaign
- product
- order
- order_line
- entitlement
- subscription
- sellable
Required Metadata by Event Type
- play
- save
- skip
- follow
- search
- query
- impression
- purchase
- commerce.order.created
- order_idstatusadapter_version
- commerce.order.completed
- order_idstatusadapter_version
- commerce.order.failed
- order_idstatusadapter_version
- commerce.refund.created
- order_idrefund_idadapter_version
- entitlement.granted
- actor_refsubject_refcapabilityadapter_version
- entitlement.revoked
- actor_refsubject_refcapabilityadapter_version
- subscription.created
- subscription_idactor_refstatusadapter_version
- subscription.renewed
- subscription_idactor_refstatusadapter_version
- subscription.canceled
- subscription_idactor_refstatusadapter_version
- subscription.cancel_at_period_end
- subscription_idactor_refstatusadapter_version
- promotion.impression
- promotion.click
- promotion.view
- promotion.engaged
Delivery Semantics
best-effort, non-blocking, no ACK required
Idempotency:
- commerce_required_for
- commerce.*, entitlement.*, subscription.*
- analytics_optional_for
- play, save, skip, follow, search, impression, purchase
- duplicate_behavior
- Duplicate idempotency_key returns success with duplicate=true and the existing event_id.
Adapter version field: source
Notes
- All events must conform to the supported_event_types and event_subject_map.
- subject_id and recipient_id are opaque strings — Fever Core does not interpret them.
- The source field should identify the adapter and version (e.g. micboxx-event-mirror/1.0).
- occurred_at must be a parseable datetime string in ISO 8601 format (e.g. 2026-04-25T10:30:00Z).
- metadata must be a JSON object. Required keys vary by event_type (see required_metadata).
- commerce.*, entitlement.*, and subscription.* events must send idempotency_key.