List Event Types
GET /cdp/events/types — the discoverable event-type catalog. Lists every event type your
brand can send through POST /cdp/events, each with its
name, source, and a JSON-schema summary of the accepted envelope — so you never have to
reverse-engineer accepted payloads.
The response is scope-filtered server-side: built-in types are platform-wide, and
custom types are only ever your own brand’s registered schemas. Another brand’s custom
event types never appear. Custom schema registration is not yet available — until it
ships, the catalog contains the built-in types.
Request
Section titled “Request”GET /cdp/events/typesAuthorization: Bearer vyg_your_api_keyNo query parameters. The scope is resolved from your API credential — there is no caller-suppliable scope input on this route.
Response 200
Section titled “Response 200”{ "eventTypes": [ { "name": "order_created", "source": "built-in", "title": "Order Created", "description": "Fired when a Shopify/BC order is paid. Source: orders/paid webhook handler.", "schema": { "$id": "https://com.shopify/schemas/json/events/order_created/1-0-0", "version": "1-0-0", "required": ["eventType", "profileId"], "properties": { "eventType": "string — const \"order_created\"", "profileId": "string — required, ≤60 chars, no \":\"", "sessionId": "string — optional, ≤60 chars, no \":\" (server-minted when absent)", "properties": "object — optional event properties (must not contain scope/shopDomain)", "flattenedProperties": "object — optional flattened properties (must not contain scope/shopDomain)", "timeStamp": "string — optional ISO-8601 timestamp (defaults to forward time)", "target": "object — optional { itemId, itemType, properties? } (no scope)" } } } ], "scope": "your-shop.myshopify.com"}| Field | Type | Description |
|---|---|---|
eventTypes | array | The catalog, sorted by name. One entry per sendable event type. |
scope | string | Your brand’s connected shop domain. |
Event-type entry
Section titled “Event-type entry”| Field | Type | Description |
|---|---|---|
name | string | The eventType value to send on POST /cdp/events. |
source | string | built-in (platform-registered, visible to every brand) or custom (yours only). |
title | string | Display title. |
description | string | When the event fires / what it carries. |
schema | object | JSON-schema summary: $id, version, required fields, and properties map. |
Built-in event types
Section titled “Built-in event types”The built-in catalog covers the storefront pixel events (page_viewed, cart_viewed,
checkout_started, checkout_completed, product_viewed, product_added_to_cart,
search_submitted, …), the server-side commerce events (order_created,
checkout_abandoned, checkout_recovered, customer_updated, consent_updated,
subscription_changed, refund_issued, cart_updated, fulfillment_updated), the
identity event (updateProperties), and the public CDP-native types (view,
modifyConsent).
Example
Section titled “Example”curl -s "https://cdp.vyg.app/cdp/events/types" \ -H "Authorization: Bearer vyg_your_api_key"Errors
Section titled “Errors”| Status | error code | When |
|---|---|---|
401 | unauthorized | Missing or invalid credential. |
403 | forbidden | Authenticated, but no connected integration resolves a CDP scope for this brand. |
405 | method_not_allowed | Method other than GET / OPTIONS. |
See Errors for the full envelope.