{"data":{"specVersion":"1.5.0","events":{"add_to_cart":{"name":"add_to_cart","version":1,"domain":"commerce","description":"User added a product to their cart.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:add_to_cart","title":"add_to_cart","description":"User added a product to their cart.","type":"object","required":["product_id"],"properties":{"product_id":{"type":"string"},"product_name":{"type":"string"},"value":{"type":"number"},"cart_value":{"type":"number"},"currency":{"type":"string"},"quantity":{"type":"number"},"item_count":{"type":"number"},"cart_id":{"type":"string"}},"additionalProperties":true}},"remove_from_cart":{"name":"remove_from_cart","version":1,"domain":"commerce","description":"User removed a product from their cart.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:remove_from_cart","title":"remove_from_cart","description":"User removed a product from their cart.","type":"object","required":["product_id"],"properties":{"product_id":{"type":"string"},"product_name":{"type":"string"},"value":{"type":"number"},"currency":{"type":"string"},"quantity":{"type":"number"},"cart_id":{"type":"string"}},"additionalProperties":true}},"product_view":{"name":"product_view","version":1,"domain":"commerce","description":"User viewed a product detail screen.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:product_view","title":"product_view","description":"User viewed a product detail screen.","type":"object","required":["product_id"],"properties":{"product_id":{"type":"string"},"product_name":{"type":"string"},"category":{"type":"string"},"value":{"type":"number"},"currency":{"type":"string"}},"additionalProperties":true}},"add_to_wishlist":{"name":"add_to_wishlist","version":1,"domain":"commerce","description":"User added a product to a wishlist or saved-for-later list.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:add_to_wishlist","title":"add_to_wishlist","description":"User added a product to a wishlist or saved-for-later list.","type":"object","required":["product_id"],"properties":{"product_id":{"type":"string"},"product_name":{"type":"string"},"value":{"type":"number"},"currency":{"type":"string"}},"additionalProperties":true}},"cart_view":{"name":"cart_view","version":1,"domain":"commerce","description":"User viewed their cart. The funnel stage between add_to_cart and checkout_started (GA4's view_cart).","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:cart_view","title":"cart_view","description":"User viewed their cart. The funnel stage between add_to_cart and checkout_started (GA4's view_cart).","type":"object","required":[],"properties":{"value":{"type":"number"},"currency":{"type":"string"},"item_count":{"type":"number"},"cart_id":{"type":"string"}},"additionalProperties":true}},"cart_snapshot":{"name":"cart_snapshot","version":1,"domain":"commerce","description":"Full cart state at a point in time — powers abandoned-cart recovery journeys with the exact items to recover.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:cart_snapshot","title":"cart_snapshot","description":"Full cart state at a point in time — powers abandoned-cart recovery journeys with the exact items to recover.","type":"object","required":["items"],"properties":{"items":{"type":"array"},"value":{"type":"number"},"currency":{"type":"string"},"item_count":{"type":"number"},"cart_id":{"type":"string"}},"additionalProperties":true}},"checkout_started":{"name":"checkout_started","version":1,"domain":"commerce","description":"User began the checkout flow.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:checkout_started","title":"checkout_started","description":"User began the checkout flow.","type":"object","required":[],"properties":{"value":{"type":"number"},"currency":{"type":"string"},"item_count":{"type":"number"},"cart_id":{"type":"string"}},"additionalProperties":true}},"checkout_completed":{"name":"checkout_completed","version":1,"domain":"commerce","description":"Client-side checkout success. The browser/app-side completion signal — `order_placed` (server) and `in_app_purchase` (IAP) remain the money-truth lanes when both exist.","primaryMetric":true,"origin":"app","revenueRole":"client_mirror","recommendedTransport":"client","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:checkout_completed","title":"checkout_completed","description":"Client-side checkout success. The browser/app-side completion signal — `order_placed` (server) and `in_app_purchase` (IAP) remain the money-truth lanes when both exist.","type":"object","required":["value","currency"],"properties":{"order_id":{"type":"string"},"value":{"type":"number","minimum":0},"currency":{"type":"string","format":"iso4217"},"item_count":{"type":"number"},"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"},"sku":{"type":"string"},"product_name":{"type":"string"},"quantity":{"type":"number"},"value":{"type":"number"},"unit_cost":{"type":"number"}},"required":[]}},"items":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"},"sku":{"type":"string"},"product_name":{"type":"string"},"quantity":{"type":"number"},"value":{"type":"number"},"unit_cost":{"type":"number"}},"required":[]}},"cart_id":{"type":"string"},"cost":{"type":"number","minimum":0},"subtotal":{"type":"number"},"total":{"type":"number"},"tax":{"type":"number"},"shipping":{"type":"number"},"handling":{"type":"number"},"discount":{"type":"number"},"coupon":{"type":"string"},"account_id":{"type":"string"}},"additionalProperties":true}},"in_app_purchase":{"name":"in_app_purchase","version":1,"domain":"commerce","description":"Revenue event: user completed a purchase inside the app.","primaryMetric":true,"origin":"app","revenueRole":"iap","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:in_app_purchase","title":"in_app_purchase","description":"Revenue event: user completed a purchase inside the app.","type":"object","required":["order_id","value","currency"],"properties":{"order_id":{"type":"string"},"value":{"type":"number","minimum":0},"currency":{"type":"string","format":"iso4217"},"product_id":{"type":"string"},"product_name":{"type":"string"},"transaction_id":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"},"sku":{"type":"string"},"product_name":{"type":"string"},"quantity":{"type":"number"},"value":{"type":"number"},"unit_cost":{"type":"number"}},"required":[]}},"items":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"},"sku":{"type":"string"},"product_name":{"type":"string"},"quantity":{"type":"number"},"value":{"type":"number"},"unit_cost":{"type":"number"}},"required":[]}},"is_restored":{"type":"boolean"},"cost":{"type":"number","minimum":0},"subtotal":{"type":"number"},"total":{"type":"number"},"tax":{"type":"number"},"shipping":{"type":"number"},"handling":{"type":"number"},"discount":{"type":"number"},"coupon":{"type":"string"},"account_id":{"type":"string"}},"additionalProperties":true}},"purchase_refunded":{"name":"purchase_refunded","version":1,"domain":"commerce","description":"A prior purchase was refunded.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:purchase_refunded","title":"purchase_refunded","description":"A prior purchase was refunded.","type":"object","required":["order_id","value","currency"],"properties":{"order_id":{"type":"string"},"value":{"type":"number"},"currency":{"type":"string"},"reason":{"type":"string"},"product_id":{"type":"string"},"account_id":{"type":"string"}},"additionalProperties":true}},"subscription_event":{"name":"subscription_event","version":1,"domain":"commerce","description":"Subscription lifecycle transition (start, renew, cancel, trial conversion, etc).","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:subscription_event","title":"subscription_event","description":"Subscription lifecycle transition (start, renew, cancel, trial conversion, etc).","type":"object","required":["product_id","action"],"properties":{"product_id":{"type":"string"},"action":{"type":"string","enum":["start","renew","upgrade","downgrade","cancel","reactivate","trial_convert"]},"amount":{"type":"number","minimum":0},"currency":{"type":"string","format":"iso4217"},"period_type":{"type":"string","enum":["monthly","annual","quarterly","weekly"]},"transaction_id":{"type":"string"},"expires_at":{"type":"string"},"is_trial":{"type":"boolean"},"seat_count":{"type":"number"},"account_id":{"type":"string"}},"additionalProperties":true}},"subscription_started":{"name":"subscription_started","version":1,"domain":"commerce","description":"A subscription began (first activation, including trial start). Renewals and plan changes flow through subscription_event.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:subscription_started","title":"subscription_started","description":"A subscription began (first activation, including trial start). Renewals and plan changes flow through subscription_event.","type":"object","required":["product_id"],"properties":{"product_id":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"period_type":{"type":"string"},"transaction_id":{"type":"string"},"is_trial":{"type":"boolean"},"account_id":{"type":"string"}},"additionalProperties":true}},"subscription_canceled":{"name":"subscription_canceled","version":1,"domain":"commerce","description":"A subscription was canceled by the user or by billing failure. The churn moment win-back journeys trigger on.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:subscription_canceled","title":"subscription_canceled","description":"A subscription was canceled by the user or by billing failure. The churn moment win-back journeys trigger on.","type":"object","required":["product_id"],"properties":{"product_id":{"type":"string"},"reason":{"type":"string"},"expires_at":{"type":"string"},"account_id":{"type":"string"}},"additionalProperties":true}},"payment_failed":{"name":"payment_failed","version":1,"domain":"commerce","description":"A subscription/invoice payment attempt failed. Triggers the dunning (payment-recovery) journey.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:payment_failed","title":"payment_failed","description":"A subscription/invoice payment attempt failed. Triggers the dunning (payment-recovery) journey.","type":"object","required":["invoice_id","amount","currency"],"properties":{"invoice_id":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"subscription_id":{"type":"string"},"transaction_id":{"type":"string"},"attempt_number":{"type":"number"},"next_retry_at":{"type":"string"},"update_payment_url":{"type":"string"},"account_id":{"type":"string"}},"additionalProperties":true}},"payment_recovered":{"name":"payment_recovered","version":1,"domain":"commerce","description":"A previously-failed payment succeeded on retry or after the customer updated billing. The dunning journey's goal/exit event.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:payment_recovered","title":"payment_recovered","description":"A previously-failed payment succeeded on retry or after the customer updated billing. The dunning journey's goal/exit event.","type":"object","required":["invoice_id","amount","currency"],"properties":{"invoice_id":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"subscription_id":{"type":"string"},"transaction_id":{"type":"string"},"account_id":{"type":"string"}},"additionalProperties":true}},"order_placed":{"name":"order_placed","version":1,"domain":"commerce","description":"An order was placed (server-confirmed purchase). The money-truth lane: this is the dollar source of record for revenue and order-confirmation comms. Fire it from your server, not the browser.","primaryMetric":true,"origin":"app","revenueRole":"primary","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:order_placed","title":"order_placed","description":"An order was placed (server-confirmed purchase). The money-truth lane: this is the dollar source of record for revenue and order-confirmation comms. Fire it from your server, not the browser.","type":"object","required":["order_id","value"],"properties":{"order_id":{"type":"string"},"value":{"type":"number","minimum":0},"currency":{"type":"string","format":"iso4217"},"item_count":{"type":"number"},"product_name":{"type":"string"},"order_url":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"},"sku":{"type":"string"},"product_name":{"type":"string"},"quantity":{"type":"number"},"value":{"type":"number"},"unit_cost":{"type":"number"}},"required":[]}},"cost":{"type":"number","minimum":0},"subtotal":{"type":"number"},"total":{"type":"number"},"tax":{"type":"number"},"shipping":{"type":"number"},"handling":{"type":"number"},"discount":{"type":"number"},"coupon":{"type":"string"},"account_id":{"type":"string"}},"additionalProperties":true}},"first_sale_completed":{"name":"first_sale_completed","version":1,"domain":"commerce","description":"A marketplace seller's first sale completed. Drives the seller-activation comm.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:first_sale_completed","title":"first_sale_completed","description":"A marketplace seller's first sale completed. Drives the seller-activation comm.","type":"object","required":[],"properties":{"order_id":{"type":"string"},"value":{"type":"number"},"currency":{"type":"string"},"buyer_name":{"type":"string"},"product_name":{"type":"string"},"payout_days":{"type":"number"}},"additionalProperties":true}},"price_dropped":{"name":"price_dropped","version":1,"domain":"marketing","description":"Price dropped on a product a customer viewed or saved. Drives price-drop alerts.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:price_dropped","title":"price_dropped","description":"Price dropped on a product a customer viewed or saved. Drives price-drop alerts.","type":"object","required":["product_name"],"properties":{"product_id":{"type":"string"},"product_name":{"type":"string"},"old_price":{"type":"number"},"new_price":{"type":"number"},"discount_percent":{"type":"number"},"currency":{"type":"string"},"product_url":{"type":"string"}},"additionalProperties":true}},"restock_due":{"name":"restock_due","version":1,"domain":"marketing","description":"A back-in-stock / restock reminder is due for a product. Drives restock comms.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:restock_due","title":"restock_due","description":"A back-in-stock / restock reminder is due for a product. Drives restock comms.","type":"object","required":["product_name"],"properties":{"product_id":{"type":"string"},"product_name":{"type":"string"},"days_since_purchase":{"type":"number"},"product_url":{"type":"string"}},"additionalProperties":true}},"review_request_due":{"name":"review_request_due","version":1,"domain":"marketing","description":"A post-purchase review request is due. Drives review-request comms.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:review_request_due","title":"review_request_due","description":"A post-purchase review request is due. Drives review-request comms.","type":"object","required":["product_name"],"properties":{"product_id":{"type":"string"},"product_name":{"type":"string"},"order_id":{"type":"string"},"days_ago":{"type":"number"},"review_url":{"type":"string"}},"additionalProperties":true}},"user_signed_up":{"name":"user_signed_up","version":1,"domain":"identity","description":"A person signed up.","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:user_signed_up","title":"user_signed_up","description":"A person signed up.","type":"object","required":[],"properties":{"method":{"type":"string"},"referrer":{"type":"string"}},"additionalProperties":true}},"waitlist_joined":{"name":"waitlist_joined","version":1,"domain":"identity","description":"A person joined a waitlist.","primaryMetric":true,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:waitlist_joined","title":"waitlist_joined","description":"A person joined a waitlist.","type":"object","required":[],"properties":{"email":{"type":"string"},"source":{"type":"string"},"waitlist_name":{"type":"string"},"referrer":{"type":"string"}},"additionalProperties":true}},"user_invited":{"name":"user_invited","version":1,"domain":"identity","description":"Someone invited a person to join.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:user_invited","title":"user_invited","description":"Someone invited a person to join.","type":"object","required":[],"properties":{"inviter_name":{"type":"string"},"invitee_email":{"type":"string"},"org_name":{"type":"string"},"role":{"type":"string"},"accept_url":{"type":"string"}},"additionalProperties":true}},"user_invite_accepted":{"name":"user_invite_accepted","version":1,"domain":"identity","description":"An invited person accepted and joined.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:user_invite_accepted","title":"user_invite_accepted","description":"An invited person accepted and joined.","type":"object","required":[],"properties":{"member_name":{"type":"string"},"inviter_name":{"type":"string"},"org_name":{"type":"string"},"role":{"type":"string"},"invitee_email":{"type":"string"},"team_url":{"type":"string"}},"additionalProperties":true}},"password_reset_requested":{"name":"password_reset_requested","version":1,"domain":"identity","description":"A person requested a password reset.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:password_reset_requested","title":"password_reset_requested","description":"A person requested a password reset.","type":"object","required":[],"properties":{"email":{"type":"string"},"reset_url":{"type":"string"}},"additionalProperties":true}},"user_signed_in":{"name":"user_signed_in","version":1,"domain":"identity","description":"User authenticated into the app.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:user_signed_in","title":"user_signed_in","description":"User authenticated into the app.","type":"object","required":[],"properties":{"method":{"type":"string"}},"additionalProperties":true}},"user_signed_out":{"name":"user_signed_out","version":1,"domain":"identity","description":"User signed out of the app.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:user_signed_out","title":"user_signed_out","description":"User signed out of the app.","type":"object","required":[],"properties":{},"additionalProperties":true}},"user_identified":{"name":"user_identified","version":1,"domain":"identity","description":"Anonymous visitor was linked to a known user identity.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:user_identified","title":"user_identified","description":"Anonymous visitor was linked to a known user identity.","type":"object","required":["user_id"],"properties":{"user_id":{"type":"string"},"traits":{"type":"object"}},"additionalProperties":true}},"app_install":{"name":"app_install","version":1,"domain":"lifecycle","description":"First install of the app on this device.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:app_install","title":"app_install","description":"First install of the app on this device.","type":"object","required":[],"properties":{},"additionalProperties":true}},"app_open":{"name":"app_open","version":1,"domain":"lifecycle","description":"App was foregrounded by the user. Foundational session signal.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:app_open","title":"app_open","description":"App was foregrounded by the user. Foundational session signal.","type":"object","required":[],"properties":{"source":{"type":"string"}},"additionalProperties":true}},"app_background":{"name":"app_background","version":1,"domain":"lifecycle","description":"App was backgrounded.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:app_background","title":"app_background","description":"App was backgrounded.","type":"object","required":[],"properties":{},"additionalProperties":true}},"app_uninstall":{"name":"app_uninstall","version":1,"domain":"lifecycle","description":"App was uninstalled from the device (server-inferred from push silent failure).","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:app_uninstall","title":"app_uninstall","description":"App was uninstalled from the device (server-inferred from push silent failure).","type":"object","required":[],"properties":{},"additionalProperties":true}},"app_crash":{"name":"app_crash","version":1,"domain":"lifecycle","description":"The native app crashed. A harm signal for mobile experiment guardrails.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:app_crash","title":"app_crash","description":"The native app crashed. A harm signal for mobile experiment guardrails.","type":"object","required":[],"properties":{"message":{"type":"string"},"stack":{"type":"string"},"fatal":{"type":"boolean"}},"additionalProperties":true}},"app_reinstall":{"name":"app_reinstall","version":1,"domain":"lifecycle","description":"App was reinstalled within the reinstall window.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:app_reinstall","title":"app_reinstall","description":"App was reinstalled within the reinstall window.","type":"object","required":[],"properties":{},"additionalProperties":true}},"session_start":{"name":"session_start","version":1,"domain":"session","description":"Beginning of a session (gap from last event > session timeout).","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:session_start","title":"session_start","description":"Beginning of a session (gap from last event > session timeout).","type":"object","required":[],"properties":{"session_id":{"type":"string"}},"additionalProperties":true}},"session_end":{"name":"session_end","version":1,"domain":"session","description":"End of a session (background or timeout).","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:session_end","title":"session_end","description":"End of a session (background or timeout).","type":"object","required":[],"properties":{"session_id":{"type":"string"},"duration_ms":{"type":"number"}},"additionalProperties":true}},"experiment_exposure":{"name":"experiment_exposure","version":1,"domain":"experiment","description":"An experiment variant was resolved and shown to a user (exposure). The denominator for experiment results; auto-fired when a variant resolves.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:experiment_exposure","title":"experiment_exposure","description":"An experiment variant was resolved and shown to a user (exposure). The denominator for experiment results; auto-fired when a variant resolves.","type":"object","required":["experiment_id","variant_key"],"properties":{"experiment_id":{"type":"string"},"variant_key":{"type":"string"},"surface":{"type":"string"},"assignment_id":{"type":"string"}},"additionalProperties":true}},"page_view":{"name":"page_view","version":1,"domain":"engagement","description":"User viewed a screen or page. Canonical name across web and mobile.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:page_view","title":"page_view","description":"User viewed a screen or page. Canonical name across web and mobile.","type":"object","required":[],"properties":{"path":{"type":"string"},"title":{"type":"string"},"referrer":{"type":"string"}},"additionalProperties":true}},"pageview":{"name":"pageview","version":1,"domain":"engagement","description":"Legacy web pageview. Prefer `page_view` for new integrations.","primaryMetric":false,"origin":"app","deprecated":true,"replacedBy":"page_view","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:pageview","title":"pageview","description":"Legacy web pageview. Prefer `page_view` for new integrations.","type":"object","required":[],"properties":{"path":{"type":"string"},"title":{"type":"string"},"referrer":{"type":"string"}},"additionalProperties":true}},"screen_view":{"name":"screen_view","version":1,"domain":"engagement","description":"Mobile screen render. Equivalent to `page_view` for native screens.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:screen_view","title":"screen_view","description":"Mobile screen render. Equivalent to `page_view` for native screens.","type":"object","required":["screen_name"],"properties":{"screen_name":{"type":"string"},"previous_screen":{"type":"string"}},"additionalProperties":true}},"search":{"name":"search","version":1,"domain":"engagement","description":"User executed a search query.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:search","title":"search","description":"User executed a search query.","type":"object","required":["query"],"properties":{"query":{"type":"string"},"results_count":{"type":"number"}},"additionalProperties":true}},"share":{"name":"share","version":1,"domain":"engagement","description":"User shared content to an external surface.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:share","title":"share","description":"User shared content to an external surface.","type":"object","required":[],"properties":{"content_id":{"type":"string"},"channel":{"type":"string"}},"additionalProperties":true}},"content_view":{"name":"content_view","version":1,"domain":"engagement","description":"User viewed a piece of content (article, video, etc).","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:content_view","title":"content_view","description":"User viewed a piece of content (article, video, etc).","type":"object","required":["content_id"],"properties":{"content_id":{"type":"string"},"content_type":{"type":"string"},"duration_ms":{"type":"number"}},"additionalProperties":true}},"form_submit":{"name":"form_submit","version":1,"domain":"engagement","description":"Form was submitted by the user.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:form_submit","title":"form_submit","description":"Form was submitted by the user.","type":"object","required":[],"properties":{"form_id":{"type":"string"}},"additionalProperties":true}},"click":{"name":"click","version":1,"domain":"engagement","description":"A click the snippet or SDK recorded. Prefer `ui_action` when you know the control's name. The snippet auto-fires this for outbound links.","primaryMetric":false,"origin":"app","recommendedTransport":"client","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:click","title":"click","description":"A click the snippet or SDK recorded. Prefer `ui_action` when you know the control's name. The snippet auto-fires this for outbound links.","type":"object","required":[],"properties":{"target":{"type":"string"},"href":{"type":"string"},"text":{"type":"string"}},"additionalProperties":true}},"ui_action":{"name":"ui_action","version":1,"domain":"engagement","description":"A named in-product control was used. One event for buttons, tabs, nav, widget chrome — distinguish with `action`, `element_type`, `name`, and `location`. Do not invent a new event per button.","primaryMetric":false,"origin":"app","recommendedTransport":"client","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:ui_action","title":"ui_action","description":"A named in-product control was used. One event for buttons, tabs, nav, widget chrome — distinguish with `action`, `element_type`, `name`, and `location`. Do not invent a new event per button.","type":"object","required":["action","name"],"properties":{"action":{"type":"string","enum":["click","submit","select","dismiss","close","minimize","expand","move","view"]},"element_type":{"type":"string","enum":["button","link","menuitem","tab","input","other"]},"name":{"type":"string"},"location":{"type":"string"},"href":{"type":"string"}},"additionalProperties":true}},"engagement":{"name":"engagement","version":1,"domain":"engagement","description":"End-of-page composite: time on page and max scroll depth. Auto-fired by the web snippet on hide. Prefer `ui_action` / `page_view` for a readable journey.","primaryMetric":false,"origin":"app","recommendedTransport":"client","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:engagement","title":"engagement","description":"End-of-page composite: time on page and max scroll depth. Auto-fired by the web snippet on hide. Prefer `ui_action` / `page_view` for a readable journey.","type":"object","required":[],"properties":{"duration":{"type":"number"},"scroll_depth":{"type":"number"}},"additionalProperties":true}},"heartbeat":{"name":"heartbeat","version":1,"domain":"engagement","description":"Periodic heartbeat indicating the user is still active on a page.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:heartbeat","title":"heartbeat","description":"Periodic heartbeat indicating the user is still active on a page.","type":"object","required":[],"properties":{},"additionalProperties":true}},"rage_click":{"name":"rage_click","version":1,"domain":"engagement","description":"Multiple rapid clicks on the same element — frustration signal.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:rage_click","title":"rage_click","description":"Multiple rapid clicks on the same element — frustration signal.","type":"object","required":[],"properties":{"target":{"type":"string"}},"additionalProperties":true}},"dead_click":{"name":"dead_click","version":1,"domain":"engagement","description":"A click that produced no observable effect after a short wait (no URL change, no mutation on the clicked node). Frustration signal. Not a click on a table row that then navigates.","primaryMetric":false,"origin":"app","recommendedTransport":"client","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:dead_click","title":"dead_click","description":"A click that produced no observable effect after a short wait (no URL change, no mutation on the clicked node). Frustration signal. Not a click on a table row that then navigates.","type":"object","required":[],"properties":{"selector":{"type":"string"},"text":{"type":"string"},"x":{"type":"number"},"y":{"type":"number"}},"additionalProperties":true}},"goal_conversion":{"name":"goal_conversion","version":1,"domain":"engagement","description":"User completed a defined conversion goal.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:goal_conversion","title":"goal_conversion","description":"User completed a defined conversion goal.","type":"object","required":["goal_id"],"properties":{"goal_id":{"type":"string"},"value":{"type":"number"}},"additionalProperties":true}},"onboarding_step_completed":{"name":"onboarding_step_completed","version":1,"domain":"engagement","description":"User finished one step of a guided onboarding / activation flow. A proximal funnel signal — emit one per step from the client where the step happens.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:onboarding_step_completed","title":"onboarding_step_completed","description":"User finished one step of a guided onboarding / activation flow. A proximal funnel signal — emit one per step from the client where the step happens.","type":"object","required":[],"properties":{"step_id":{"type":"string"},"step_index":{"type":"number"},"step_name":{"type":"string"}},"additionalProperties":true}},"onboarding_completed":{"name":"onboarding_completed","version":1,"domain":"product","description":"User finished the onboarding flow. Source-of-truth milestone — emit server-side when onboarding state flips to complete.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:onboarding_completed","title":"onboarding_completed","description":"User finished the onboarding flow. Source-of-truth milestone — emit server-side when onboarding state flips to complete.","type":"object","required":[],"properties":{"duration_ms":{"type":"number"},"steps_completed":{"type":"number"}},"additionalProperties":true}},"activated":{"name":"activated","version":1,"domain":"product","description":"User reached the activation / 'aha' milestone (the moment they got first value). The PLG north-star outcome. Emit server-side when the activation criterion is met.","primaryMetric":true,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:activated","title":"activated","description":"User reached the activation / 'aha' milestone (the moment they got first value). The PLG north-star outcome. Emit server-side when the activation criterion is met.","type":"object","required":[],"properties":{"criterion":{"type":"string"}},"additionalProperties":true}},"push_received":{"name":"push_received","version":1,"domain":"communication","description":"Device received a push notification (delivery confirmation).","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:push_received","title":"push_received","description":"Device received a push notification (delivery confirmation).","type":"object","required":[],"properties":{"message_id":{"type":"string"},"campaign_id":{"type":"string"}},"additionalProperties":true}},"push_opened":{"name":"push_opened","version":1,"domain":"communication","description":"User tapped/opened a push notification.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:push_opened","title":"push_opened","description":"User tapped/opened a push notification.","type":"object","required":[],"properties":{"message_id":{"type":"string"},"campaign_id":{"type":"string"},"deep_link":{"type":"string"}},"additionalProperties":true}},"email_opened":{"name":"email_opened","version":1,"domain":"communication","description":"Email open tracked via pixel.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:email_opened","title":"email_opened","description":"Email open tracked via pixel.","type":"object","required":[],"properties":{"message_id":{"type":"string"},"campaign_id":{"type":"string"}},"additionalProperties":true}},"email_clicked":{"name":"email_clicked","version":1,"domain":"communication","description":"Link in email was clicked.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:email_clicked","title":"email_clicked","description":"Link in email was clicked.","type":"object","required":[],"properties":{"message_id":{"type":"string"},"campaign_id":{"type":"string"},"link":{"type":"string"}},"additionalProperties":true}},"unsubscribed":{"name":"unsubscribed","version":1,"domain":"communication","description":"Recipient unsubscribed from a message/list. A harm signal for messaging experiment guardrails.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:unsubscribed","title":"unsubscribed","description":"Recipient unsubscribed from a message/list. A harm signal for messaging experiment guardrails.","type":"object","required":[],"properties":{"message_id":{"type":"string"},"campaign_id":{"type":"string"},"list_id":{"type":"string"}},"additionalProperties":true}},"in_app_message_seen":{"name":"in_app_message_seen","version":1,"domain":"communication","description":"In-app message was rendered to the user.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:in_app_message_seen","title":"in_app_message_seen","description":"In-app message was rendered to the user.","type":"object","required":[],"properties":{"message_id":{"type":"string"},"campaign_id":{"type":"string"}},"additionalProperties":true}},"in_app_message_clicked":{"name":"in_app_message_clicked","version":1,"domain":"communication","description":"User interacted with an in-app message CTA.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:in_app_message_clicked","title":"in_app_message_clicked","description":"User interacted with an in-app message CTA.","type":"object","required":[],"properties":{"message_id":{"type":"string"},"campaign_id":{"type":"string"},"cta":{"type":"string"}},"additionalProperties":true}},"deep_link_open":{"name":"deep_link_open","version":1,"domain":"deep_link","description":"App opened via a deep link.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:deep_link_open","title":"deep_link_open","description":"App opened via a deep link.","type":"object","required":["url"],"properties":{"url":{"type":"string"},"source":{"type":"string"},"campaign_id":{"type":"string"},"referrer":{"type":"string"}},"additionalProperties":true}},"reattribution":{"name":"reattribution","version":1,"domain":"attribution","description":"A re-install was matched to a prior install.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:reattribution","title":"reattribution","description":"A re-install was matched to a prior install.","type":"object","required":[],"properties":{"partner_id":{"type":"string"},"original_install_id":{"type":"string"}},"additionalProperties":true}},"reengagement":{"name":"reengagement","version":1,"domain":"attribution","description":"A returning user opened the app after a period of inactivity.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:reengagement","title":"reengagement","description":"A returning user opened the app after a period of inactivity.","type":"object","required":[],"properties":{"partner_id":{"type":"string"},"inactive_days":{"type":"number"}},"additionalProperties":true}},"smart_banner_impression":{"name":"smart_banner_impression","version":1,"domain":"smart_banner","description":"Apex smart banner was shown on a mobile web page.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:smart_banner_impression","title":"smart_banner_impression","description":"Apex smart banner was shown on a mobile web page.","type":"object","required":[],"properties":{},"additionalProperties":true}},"smart_banner_click":{"name":"smart_banner_click","version":1,"domain":"smart_banner","description":"User clicked the smart banner CTA.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:smart_banner_click","title":"smart_banner_click","description":"User clicked the smart banner CTA.","type":"object","required":[],"properties":{},"additionalProperties":true}},"smart_banner_dismiss":{"name":"smart_banner_dismiss","version":1,"domain":"smart_banner","description":"User dismissed the smart banner.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:smart_banner_dismiss","title":"smart_banner_dismiss","description":"User dismissed the smart banner.","type":"object","required":[],"properties":{},"additionalProperties":true}},"custom":{"name":"custom","version":1,"domain":"system","description":"Custom event type. Stored with the original event name preserved in `data.eventName`. Use canonical events when possible.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:custom","title":"custom","description":"Custom event type. Stored with the original event name preserved in `data.eventName`. Use canonical events when possible.","type":"object","required":[],"properties":{},"additionalProperties":true}},"lifecycle_transition":{"name":"lifecycle_transition","version":1,"domain":"system","description":"Internal Apex lifecycle/level transition event (not user-generated).","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:lifecycle_transition","title":"lifecycle_transition","description":"Internal Apex lifecycle/level transition event (not user-generated).","type":"object","required":[],"properties":{},"additionalProperties":true}},"js_error":{"name":"js_error","version":1,"domain":"system","description":"JavaScript runtime error captured by the web SDK.","primaryMetric":false,"origin":"app","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:js_error","title":"js_error","description":"JavaScript runtime error captured by the web SDK.","type":"object","required":[],"properties":{"message":{"type":"string"},"stack":{"type":"string"}},"additionalProperties":true}},"order_shipped":{"name":"order_shipped","version":1,"domain":"fulfillment","description":"A placed order shipped. Drives shipping-notification comms.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:order_shipped","title":"order_shipped","description":"A placed order shipped. Drives shipping-notification comms.","type":"object","required":["order_id"],"properties":{"order_id":{"type":"string"},"carrier":{"type":"string"},"tracking_url":{"type":"string"},"delivery_estimate":{"type":"string"},"shipped_at":{"type":"string"}},"additionalProperties":true}},"order_delivered":{"name":"order_delivered","version":1,"domain":"fulfillment","description":"A shipped order was delivered. Drives review-request + post-purchase comms.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:order_delivered","title":"order_delivered","description":"A shipped order was delivered. Drives review-request + post-purchase comms.","type":"object","required":["order_id"],"properties":{"order_id":{"type":"string"},"delivered_at":{"type":"string"}},"additionalProperties":true}},"return_requested":{"name":"return_requested","version":1,"domain":"fulfillment","description":"A buyer asked to send goods back. Starts the returns story — distinct from purchase_refunded (money back).","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:return_requested","title":"return_requested","description":"A buyer asked to send goods back. Starts the returns story — distinct from purchase_refunded (money back).","type":"object","required":["order_id"],"properties":{"order_id":{"type":"string"},"product_id":{"type":"string"},"reason":{"type":"string"},"quantity":{"type":"number"}},"additionalProperties":true}},"return_completed":{"name":"return_completed","version":1,"domain":"fulfillment","description":"Returned goods were received back. The return-rate numerator; fire purchase_refunded separately when money moves.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:return_completed","title":"return_completed","description":"Returned goods were received back. The return-rate numerator; fire purchase_refunded separately when money moves.","type":"object","required":["order_id"],"properties":{"order_id":{"type":"string"},"product_id":{"type":"string"},"reason":{"type":"string"},"condition":{"type":"string"},"refunded":{"type":"boolean"}},"additionalProperties":true}},"feature_used":{"name":"feature_used","version":1,"domain":"engagement","description":"User used a specific product feature. Powers expansion + adoption comms.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:feature_used","title":"feature_used","description":"User used a specific product feature. Powers expansion + adoption comms.","type":"object","required":["feature_name"],"properties":{"feature_name":{"type":"string"},"count":{"type":"number"}},"additionalProperties":true}},"webinar_registered":{"name":"webinar_registered","version":1,"domain":"engagement","description":"User registered for a webinar. A campaign conversion signal.","primaryMetric":true,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:webinar_registered","title":"webinar_registered","description":"User registered for a webinar. A campaign conversion signal.","type":"object","required":[],"properties":{"webinar_topic":{"type":"string"},"webinar_date":{"type":"string"}},"additionalProperties":true}},"survey_started":{"name":"survey_started","version":1,"domain":"engagement","description":"User began a survey (e.g. NPS).","primaryMetric":false,"origin":"app","recommendedTransport":"client","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:survey_started","title":"survey_started","description":"User began a survey (e.g. NPS).","type":"object","required":[],"properties":{"survey_id":{"type":"string"}},"additionalProperties":true}},"survey_completed":{"name":"survey_completed","version":1,"domain":"engagement","description":"User completed a survey. A campaign conversion signal.","primaryMetric":true,"origin":"app","recommendedTransport":"client","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:survey_completed","title":"survey_completed","description":"User completed a survey. A campaign conversion signal.","type":"object","required":[],"properties":{"survey_id":{"type":"string"},"score":{"type":"number"}},"additionalProperties":true}},"seller_signup":{"name":"seller_signup","version":1,"domain":"marketplace","description":"A seller joined the marketplace. The marketplace-side activation conversion.","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:seller_signup","title":"seller_signup","description":"A seller joined the marketplace. The marketplace-side activation conversion.","type":"object","required":[],"properties":{"seller_id":{"type":"string"},"store_name":{"type":"string"}},"additionalProperties":true}},"listing_created":{"name":"listing_created","version":1,"domain":"marketplace","description":"A seller created a listing. Drives first-listing + activation nudges.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:listing_created","title":"listing_created","description":"A seller created a listing. Drives first-listing + activation nudges.","type":"object","required":[],"properties":{"listing_id":{"type":"string"},"product_name":{"type":"string"},"price":{"type":"number"},"currency":{"type":"string"}},"additionalProperties":true}},"buyer_review_requested":{"name":"buyer_review_requested","version":1,"domain":"marketplace","description":"A buyer is due to review a marketplace purchase.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:buyer_review_requested","title":"buyer_review_requested","description":"A buyer is due to review a marketplace purchase.","type":"object","required":[],"properties":{"order_id":{"type":"string"},"product_name":{"type":"string"},"seller_name":{"type":"string"}},"additionalProperties":true}},"payout_sent":{"name":"payout_sent","version":1,"domain":"marketplace","description":"A seller payout was sent. Drives payout-confirmation comms.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:payout_sent","title":"payout_sent","description":"A seller payout was sent. Drives payout-confirmation comms.","type":"object","required":["amount","currency"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"},"payout_id":{"type":"string"},"transaction_count":{"type":"number"},"payment_method":{"type":"string"},"processing_days":{"type":"number"}},"additionalProperties":true}},"trust_badge_earned":{"name":"trust_badge_earned","version":1,"domain":"marketplace","description":"A seller earned a trust badge (e.g. Top Rated).","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:trust_badge_earned","title":"trust_badge_earned","description":"A seller earned a trust badge (e.g. Top Rated).","type":"object","required":["badge_name"],"properties":{"badge_name":{"type":"string"}},"additionalProperties":true}},"client_onboarded":{"name":"client_onboarded","version":1,"domain":"agency","description":"An agency onboarded a new client. The agency-side activation conversion.","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:client_onboarded","title":"client_onboarded","description":"An agency onboarded a new client. The agency-side activation conversion.","type":"object","required":[],"properties":{"client_id":{"type":"string"},"client_name":{"type":"string"},"manager_name":{"type":"string"}},"additionalProperties":true}},"campaign_milestone_reached":{"name":"campaign_milestone_reached","version":1,"domain":"agency","description":"A client campaign hit a milestone. Drives results/update comms.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:campaign_milestone_reached","title":"campaign_milestone_reached","description":"A client campaign hit a milestone. Drives results/update comms.","type":"object","required":[],"properties":{"campaign_id":{"type":"string"},"campaign_name":{"type":"string"},"milestone":{"type":"string"},"business_impact":{"type":"string"}},"additionalProperties":true}},"contract_renewal_approaching":{"name":"contract_renewal_approaching","version":1,"domain":"agency","description":"A client contract renewal is approaching. Drives renewal comms.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:contract_renewal_approaching","title":"contract_renewal_approaching","description":"A client contract renewal is approaching. Drives renewal comms.","type":"object","required":[],"properties":{"contract_id":{"type":"string"},"days_remaining":{"type":"number"},"renewal_date":{"type":"string"},"contract_period":{"type":"string"}},"additionalProperties":true}},"new_capability_launched":{"name":"new_capability_launched","version":1,"domain":"agency","description":"The agency launched a new capability/service. Drives announcement comms.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:new_capability_launched","title":"new_capability_launched","description":"The agency launched a new capability/service. Drives announcement comms.","type":"object","required":[],"properties":{"capability_id":{"type":"string"},"capability_name":{"type":"string"},"capability_description":{"type":"string"}},"additionalProperties":true}},"loyalty_milestone_reached":{"name":"loyalty_milestone_reached","version":1,"domain":"loyalty","description":"A customer hit a loyalty milestone (points/tier). Drives reward comms.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:loyalty_milestone_reached","title":"loyalty_milestone_reached","description":"A customer hit a loyalty milestone (points/tier). Drives reward comms.","type":"object","required":[],"properties":{"points":{"type":"number"},"reward":{"type":"string"},"milestone":{"type":"string"}},"additionalProperties":true}},"usage_milestone_reached":{"name":"usage_milestone_reached","version":1,"domain":"loyalty","description":"A customer crossed a usage milestone. Drives celebratory + expansion comms.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:usage_milestone_reached","title":"usage_milestone_reached","description":"A customer crossed a usage milestone. Drives celebratory + expansion comms.","type":"object","required":[],"properties":{"milestone":{"type":"string"},"percentile":{"type":"number"}},"additionalProperties":true}},"user_churned":{"name":"user_churned","version":1,"domain":"lifecycle","description":"A customer churned (lapsed/cancelled past the win-back window). Drives win-back.","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:user_churned","title":"user_churned","description":"A customer churned (lapsed/cancelled past the win-back window). Drives win-back.","type":"object","required":[],"properties":{"reason":{"type":"string"}},"additionalProperties":true}},"user_reactivated":{"name":"user_reactivated","version":1,"domain":"lifecycle","description":"A churned customer came back. Drives reactivation-welcome comms.","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:user_reactivated","title":"user_reactivated","description":"A churned customer came back. Drives reactivation-welcome comms.","type":"object","required":[],"properties":{"inactive_days":{"type":"number"},"changes_summary":{"type":"string"}},"additionalProperties":true}},"trial_expiring":{"name":"trial_expiring","version":1,"domain":"commerce","description":"A trial is about to end (Stripe-style trial_will_end). Distinct from trial_expired, which fires after.","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:trial_expiring","title":"trial_expiring","description":"A trial is about to end (Stripe-style trial_will_end). Distinct from trial_expired, which fires after.","type":"object","required":[],"properties":{"plan":{"type":"string"},"days_remaining":{"type":"number"},"value_summary":{"type":"string"}},"additionalProperties":true}},"trial_expired":{"name":"trial_expired","version":1,"domain":"commerce","description":"A trial ended without converting (distinct from trial_expiring, which fires BEFORE).","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:trial_expired","title":"trial_expired","description":"A trial ended without converting (distinct from trial_expiring, which fires BEFORE).","type":"object","required":[],"properties":{"plan":{"type":"string"}},"additionalProperties":true}},"invoice_paid":{"name":"invoice_paid","version":1,"domain":"commerce","description":"An invoice was paid successfully (normal billing success; distinct from payment_recovered).","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:invoice_paid","title":"invoice_paid","description":"An invoice was paid successfully (normal billing success; distinct from payment_recovered).","type":"object","required":["invoice_id","amount","currency"],"properties":{"invoice_id":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"subscription_id":{"type":"string"},"next_billing_date":{"type":"string"}},"additionalProperties":true}},"subscription_renewed":{"name":"subscription_renewed","version":1,"domain":"commerce","description":"A subscription renewed for another period. The renewal moment (was subscription_event action=renew).","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:subscription_renewed","title":"subscription_renewed","description":"A subscription renewed for another period. The renewal moment (was subscription_event action=renew).","type":"object","required":[],"properties":{"product_id":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"},"period_type":{"type":"string"},"transaction_id":{"type":"string"}},"additionalProperties":true}},"subscription_upgraded":{"name":"subscription_upgraded","version":1,"domain":"commerce","description":"A subscription moved to a higher plan or more seats (expansion). Carry the NEW recurring amount so MRR expansion is computable.","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:subscription_upgraded","title":"subscription_upgraded","description":"A subscription moved to a higher plan or more seats (expansion). Carry the NEW recurring amount so MRR expansion is computable.","type":"object","required":[],"properties":{"product_id":{"type":"string"},"from_plan":{"type":"string"},"to_plan":{"type":"string"},"amount":{"type":"number","minimum":0},"currency":{"type":"string","format":"iso4217"},"period_type":{"type":"string","enum":["monthly","annual","quarterly","weekly"]},"seat_count":{"type":"number"},"account_id":{"type":"string"}},"additionalProperties":true}},"subscription_downgraded":{"name":"subscription_downgraded","version":1,"domain":"commerce","description":"A subscription moved to a cheaper plan or fewer seats (contraction). Carry the NEW recurring amount so MRR contraction is computable.","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:subscription_downgraded","title":"subscription_downgraded","description":"A subscription moved to a cheaper plan or fewer seats (contraction). Carry the NEW recurring amount so MRR contraction is computable.","type":"object","required":[],"properties":{"product_id":{"type":"string"},"from_plan":{"type":"string"},"to_plan":{"type":"string"},"amount":{"type":"number","minimum":0},"currency":{"type":"string","format":"iso4217"},"period_type":{"type":"string","enum":["monthly","annual","quarterly","weekly"]},"seat_count":{"type":"number"},"reason":{"type":"string"},"account_id":{"type":"string"}},"additionalProperties":true}},"tier_limit_approaching":{"name":"tier_limit_approaching","version":1,"domain":"commerce","description":"A customer is nearing a limit on their plan. Send it when usage crosses your warning line so an upgrade nudge can go out.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:tier_limit_approaching","title":"tier_limit_approaching","description":"A customer is nearing a limit on their plan. Send it when usage crosses your warning line so an upgrade nudge can go out.","type":"object","required":[],"properties":{"resource_name":{"type":"string"},"usage_current":{"type":"number","minimum":0},"usage_limit":{"type":"number","minimum":0},"usage_percent":{"type":"number","minimum":0},"current_tier":{"type":"string"},"next_tier":{"type":"string"},"recommended_plan":{"type":"string"},"feature_count":{"type":"number"},"top_feature":{"type":"string"},"upgrade_url":{"type":"string"}},"additionalProperties":true}},"report_ready":{"name":"report_ready","version":1,"domain":"agency","description":"A report is ready. Distinct from report_viewed, which is the person opening it.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:report_ready","title":"report_ready","description":"A report is ready. Distinct from report_viewed, which is the person opening it.","type":"object","required":[],"properties":{"report_type":{"type":"string"},"report_id":{"type":"string"},"period":{"type":"string"},"highlights":{"type":"string"}},"additionalProperties":true}},"report_viewed":{"name":"report_viewed","version":1,"domain":"engagement","description":"User viewed a report or dashboard. A core SaaS engagement signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:report_viewed","title":"report_viewed","description":"User viewed a report or dashboard. A core SaaS engagement signal.","type":"object","required":[],"properties":{"report_id":{"type":"string"},"report_name":{"type":"string"}},"additionalProperties":true}},"content_viewed":{"name":"content_viewed","version":1,"domain":"engagement","description":"User viewed a piece of content (article, video, screen). A core engagement signal for content + mobile apps.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:content_viewed","title":"content_viewed","description":"User viewed a piece of content (article, video, screen). A core engagement signal for content + mobile apps.","type":"object","required":[],"properties":{"content_id":{"type":"string"},"content_type":{"type":"string"}},"additionalProperties":true}},"task_completed":{"name":"task_completed","version":1,"domain":"engagement","description":"User completed a task / unit of work. A depth-of-use engagement signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:task_completed","title":"task_completed","description":"User completed a task / unit of work. A depth-of-use engagement signal.","type":"object","required":[],"properties":{"task_id":{"type":"string"},"task_type":{"type":"string"}},"additionalProperties":true}},"api_request_completed":{"name":"api_request_completed","version":1,"domain":"engagement","description":"User's integration made a successful API request. The core active signal for API-first / developer products.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:api_request_completed","title":"api_request_completed","description":"User's integration made a successful API request. The core active signal for API-first / developer products.","type":"object","required":[],"properties":{"endpoint":{"type":"string"},"count":{"type":"number"}},"additionalProperties":true}},"project_created":{"name":"project_created","version":1,"domain":"product","description":"User created their first/Nth project or workspace. A common SaaS + agency activation milestone.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:project_created","title":"project_created","description":"User created their first/Nth project or workspace. A common SaaS + agency activation milestone.","type":"object","required":[],"properties":{"project_id":{"type":"string"},"project_name":{"type":"string"}},"additionalProperties":true}},"listing_viewed":{"name":"listing_viewed","version":1,"domain":"marketplace","description":"A buyer viewed a marketplace listing. A demand-side engagement signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:listing_viewed","title":"listing_viewed","description":"A buyer viewed a marketplace listing. A demand-side engagement signal.","type":"object","required":[],"properties":{"listing_id":{"type":"string"},"product_name":{"type":"string"}},"additionalProperties":true}},"message_sent":{"name":"message_sent","version":1,"domain":"marketplace","description":"A user sent a message (buyer↔seller). A liquidity + engagement signal for marketplaces.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:message_sent","title":"message_sent","description":"A user sent a message (buyer↔seller). A liquidity + engagement signal for marketplaces.","type":"object","required":[],"properties":{"thread_id":{"type":"string"}},"additionalProperties":true}},"offer_submitted":{"name":"offer_submitted","version":1,"domain":"marketplace","description":"A buyer submitted an offer / bid on a listing. A high-intent demand signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:offer_submitted","title":"offer_submitted","description":"A buyer submitted an offer / bid on a listing. A high-intent demand signal.","type":"object","required":[],"properties":{"listing_id":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"}},"additionalProperties":true}},"transaction_completed":{"name":"transaction_completed","version":1,"domain":"marketplace","description":"A marketplace transaction closed (buyer + seller). The two-sided activation/outcome moment.","primaryMetric":true,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:transaction_completed","title":"transaction_completed","description":"A marketplace transaction closed (buyer + seller). The two-sided activation/outcome moment.","type":"object","required":[],"properties":{"transaction_id":{"type":"string"},"amount":{"type":"number","minimum":0},"fee_amount":{"type":"number","minimum":0},"cost_amount":{"type":"number","minimum":0},"currency":{"type":"string","format":"iso4217"},"buyer_id":{"type":"string"},"seller_id":{"type":"string"},"listing_id":{"type":"string"},"category":{"type":"string"},"geo":{"type":"string"},"price_band":{"type":"string"}},"additionalProperties":true}},"seller_viewed":{"name":"seller_viewed","version":1,"domain":"marketplace","description":"A buyer viewed a seller's profile/storefront. A demand-side trust signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:seller_viewed","title":"seller_viewed","description":"A buyer viewed a seller's profile/storefront. A demand-side trust signal.","type":"object","required":[],"properties":{"seller_id":{"type":"string"},"store_name":{"type":"string"}},"additionalProperties":true}},"item_saved":{"name":"item_saved","version":1,"domain":"marketplace","description":"A buyer saved/favorited a listing. A mid-funnel demand signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:item_saved","title":"item_saved","description":"A buyer saved/favorited a listing. A mid-funnel demand signal.","type":"object","required":[],"properties":{"listing_id":{"type":"string"},"product_name":{"type":"string"}},"additionalProperties":true}},"inquiry_started":{"name":"inquiry_started","version":1,"domain":"marketplace","description":"A buyer opened an inquiry/conversation about a listing. High-intent demand.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:inquiry_started","title":"inquiry_started","description":"A buyer opened an inquiry/conversation about a listing. High-intent demand.","type":"object","required":[],"properties":{"listing_id":{"type":"string"},"thread_id":{"type":"string"}},"additionalProperties":true}},"match_created":{"name":"match_created","version":1,"domain":"marketplace","description":"Supply and demand matched (offer accepted / booking confirmed) before payment. The liquidity moment for negotiated marketplaces.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:match_created","title":"match_created","description":"Supply and demand matched (offer accepted / booking confirmed) before payment. The liquidity moment for negotiated marketplaces.","type":"object","required":[],"properties":{"listing_id":{"type":"string"},"buyer_id":{"type":"string"},"seller_id":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"}},"additionalProperties":true}},"transaction_canceled":{"name":"transaction_canceled","version":1,"domain":"marketplace","description":"A marketplace transaction was canceled before fulfillment. The cancellation-rate numerator.","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:transaction_canceled","title":"transaction_canceled","description":"A marketplace transaction was canceled before fulfillment. The cancellation-rate numerator.","type":"object","required":[],"properties":{"transaction_id":{"type":"string"},"reason":{"type":"string"},"canceled_by":{"type":"string","enum":["buyer","seller","platform"]}},"additionalProperties":true}},"review_submitted":{"name":"review_submitted","version":1,"domain":"marketplace","description":"A post-transaction review was submitted. Powers average rating + review coverage (trust metrics).","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:review_submitted","title":"review_submitted","description":"A post-transaction review was submitted. Powers average rating + review coverage (trust metrics).","type":"object","required":[],"properties":{"transaction_id":{"type":"string"},"listing_id":{"type":"string"},"rating":{"type":"number","minimum":0,"maximum":5},"reviewer_side":{"type":"string","enum":["buyer","seller"]}},"additionalProperties":true}},"dispute_opened":{"name":"dispute_opened","version":1,"domain":"marketplace","description":"A buyer or seller opened a dispute on a transaction. The dispute-rate numerator (trust metric).","primaryMetric":false,"origin":"app","recommendedTransport":"server","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:dispute_opened","title":"dispute_opened","description":"A buyer or seller opened a dispute on a transaction. The dispute-rate numerator (trust metric).","type":"object","required":[],"properties":{"transaction_id":{"type":"string"},"reason":{"type":"string"},"opened_by":{"type":"string","enum":["buyer","seller"]}},"additionalProperties":true}},"task_updated":{"name":"task_updated","version":1,"domain":"agency","description":"An agency team member updated a task. A core agency activity signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:task_updated","title":"task_updated","description":"An agency team member updated a task. A core agency activity signal.","type":"object","required":[],"properties":{"task_id":{"type":"string"},"status":{"type":"string"}},"additionalProperties":true}},"asset_uploaded":{"name":"asset_uploaded","version":1,"domain":"agency","description":"A team member uploaded an asset/deliverable. A core agency activity + activation signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:asset_uploaded","title":"asset_uploaded","description":"A team member uploaded an asset/deliverable. A core agency activity + activation signal.","type":"object","required":[],"properties":{"asset_id":{"type":"string"},"asset_type":{"type":"string"}},"additionalProperties":true}},"comment_added":{"name":"comment_added","version":1,"domain":"agency","description":"A user added a comment / collaboration note. A depth-of-use signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:comment_added","title":"comment_added","description":"A user added a comment / collaboration note. A depth-of-use signal.","type":"object","required":[],"properties":{"target_id":{"type":"string"}},"additionalProperties":true}},"time_logged":{"name":"time_logged","version":1,"domain":"agency","description":"A team member logged time against a client/project. A core agency activity signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:time_logged","title":"time_logged","description":"A team member logged time against a client/project. A core agency activity signal.","type":"object","required":[],"properties":{"minutes":{"type":"number"},"project_id":{"type":"string"}},"additionalProperties":true}},"client_report_viewed":{"name":"client_report_viewed","version":1,"domain":"agency","description":"A client viewed an agency results report. A retention + value-delivery signal.","primaryMetric":false,"origin":"app","recommendedTransport":"either","schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"apex-event:client_report_viewed","title":"client_report_viewed","description":"A client viewed an agency results report. A retention + value-delivery signal.","type":"object","required":[],"properties":{"report_id":{"type":"string"},"client_id":{"type":"string"}},"additionalProperties":true}}}},"metadata":{"specVersion":"1.5.0","eventCount":120,"generatedAt":"2026-11-07T20:00:06.605Z"}}