LiveRecoverVYG Developer Docs
CDP REST APIAPI Reference

Customer Profile (materialized)

A customer's materialized CDP profile — identity graph, consolidated attributes, and computed tags from CDP Aurora.

GET /cdp/customers/{identifier}/profile returns a customer's consolidated CDP profile for your brand: the deterministic identity graph (every resolved key — shopify_customer_id, email, phone, vyg_aid, …), the US-009 materialized attributes (orders count, total spend, AOV, recency, engagement, browse rollups), and computed tags. It is the REST twin of the cdp_customer_profile MCP tool: both return the same identity graph, attributes, and tags, computed by one shared capability.

Every read is bound to your brand's scope. See Tenant Isolation & Scope.

Materialized read vs. the live join

This route reads the materialized CDP identity-graph truth from the CDP Aurora cdp.* schema (what the CDP materializer writes). It differs from GET /cdp/customers/{identifier}, which is a live join of the Unomi behavioral profile with the commerce store, computed on-read. Same audience, different substrate and freshness: use this route for the consolidated identity graph + materialized attributes; use /cdp/customers/{identifier} for the live profile + commerce summary.

Path parameters

The {identifier} is classified by shape (the same shapes the MCP tool accepts):

ShapeInterpreted as
UUIDCDP customerId
contains @email
starts with +phone
all digitsshopify_customer_id

Response 200

{
	"customerId": "8f2b…",
	"brandId": "b1a2…",
	"identities": [
		{ "type": "email", "value": "jane@example.com", "source": "shopify", "confidence": 1, "verified": true },
		{ "type": "shopify_customer_id", "value": "1234567890", "source": "shopify", "confidence": 1, "verified": true }
	],
	"profile": {
		"customer_id": "8f2b…",
		"orders_count": 12,
		"total_spend": 1840.5,
		"aov": 153.38,
		"recency_days": 19,
		"engagement_score": 88.2
	},
	"tags": [
		{ "tag": "high_value", "source": "materializer" },
		{ "tag": "repeat", "source": "materializer" }
	],
	"scope": "your-shop.myshopify.com"
}
  • identities — the deterministic identity graph (every resolved key + provenance).
  • profile — the materialized attributes row. null until the materializer has run for this customer (the identity graph + tags still return).
  • tags — the computed tags for this customer.
  • scope — your brand's resolved shop domain.

Calling this route by email and by customerId for the same customer returns the same identity graph, attributes, and tags.

Example

curl -s "https://cdp.vyg.app/cdp/customers/jane@example.com/profile" \
  -H "Authorization: Bearer vyg_your_key_here"

Errors

StatusWhen
400Missing identifier (bad_request).
401Missing or invalid credential.
403No connected Shopify integration resolves a scope for the brand.
404No CDP customer resolves for the identifier in this brand.
405Non-GET method.
503The CDP is temporarily unavailable — retry (upstream_unavailable).

On this page