LiveRecoverVYG Developer Docs
CDP REST APIAPI Reference

List Event Types

Discover the event types your brand can send — built-in public types plus your brand's registered schemas.

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

GET /cdp/events/types
Authorization: Bearer vyg_your_api_key

No query parameters. The scope is resolved from your API credential — there is no caller-suppliable scope input on this route.

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"
}
FieldTypeDescription
eventTypesarrayThe catalog, sorted by name. One entry per sendable event type.
scopestringYour brand's connected shop domain.

Event-type entry

FieldTypeDescription
namestringThe eventType value to send on POST /cdp/events.
sourcestringbuilt-in (platform-registered, visible to every brand) or custom (yours only).
titlestringDisplay title.
descriptionstringWhen the event fires / what it carries.
schemaobjectJSON-schema summary: $id, version, required fields, and properties map.

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

curl -s "https://cdp.vyg.app/cdp/events/types" \
  -H "Authorization: Bearer vyg_your_api_key"

Errors

Statuserror codeWhen
401unauthorizedMissing or invalid credential.
403forbiddenAuthenticated, but no connected integration resolves a CDP scope for this brand.
405method_not_allowedMethod other than GET / OPTIONS.

See Errors for the full envelope.

On this page