List Property Types
Discover the profile and session property types visible to your brand — built-in platform properties plus your own.
GET /cdp/definitions/properties — the property-type catalog. Lists the profile and
session property types visible to your brand, each with the exact propertyName path to
use in a profilePropertyCondition / sessionPropertyCondition (see
GET /cdp/definitions/conditions for the condition
vocabulary).
The response is scope-filtered server-side: built-in platform property types are
visible to every brand, and custom types are only ever your own brand's registered
property types. Another brand's property types never appear, and properties the condition
validator would reject (the tenant-isolation scope/shopDomain fields) are never
listed.
Request
GET /cdp/definitions/properties
Authorization: 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
{
"properties": [
{
"id": "email",
"propertyName": "properties.email",
"target": "profiles",
"type": "string",
"multivalued": false,
"source": "built-in",
"name": "Email"
},
{
"id": "duration",
"propertyName": "properties.duration",
"target": "sessions",
"type": "integer",
"multivalued": false,
"source": "built-in"
}
],
"scope": "your-shop.myshopify.com"
}| Field | Type | Description |
|---|---|---|
properties | array | The catalog, sorted by target then id. One entry per type. |
scope | string | Your brand's connected shop domain. |
Property-type entry
| Field | Type | Description |
|---|---|---|
id | string | The registered property-type id, e.g. email. |
propertyName | string | The path to use as propertyName in a property condition, e.g. properties.email. |
target | string | profiles or sessions — which item kind the property lives on. |
type | string | Value type: string, integer, date, boolean, … |
multivalued | boolean | Whether the property holds multiple values (compare with in / notIn). |
source | string | built-in (platform property type, visible to every brand) or custom (yours only). |
name | string | Display name, when the registration carries one. Optional. |
description | string | Human description, when the registration carries one. Optional. |
Profiles also accept ad-hoc properties: Unomi auto-creates profile properties when events set them, so a property your events send may be usable in conditions before it appears in this registry-backed catalog.
Example
curl -s "https://cdp.vyg.app/cdp/definitions/properties" \
-H "Authorization: Bearer vyg_your_api_key"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. |
502 | upstream_error | The CDP returned an error for this read. |
503 | upstream_unavailable | The CDP timed out or was unreachable — retry. |
See Errors for the full envelope.