Skip to content

Quickstart

This guide gets you from zero to your first GET /cdp/profiles response.

  1. Self-serve (recommended). Issue a key from the web-client settings page. A key is minted off your brand_id → connected shop resolution, so any brand already connected to a Shopify shop can be issued a key with no new app install.

  2. Staff-issued. A Voyage staff member can issue a key for your brand on request.

Either way you receive a token of the form vyg_…. It is shown exactly once — store it in a secret manager immediately. Subsequent reads only ever return the key prefix, never the plaintext.

Reads authenticate with the key as a Bearer token:

Terminal window
curl -s https://cdp.vyg.app/cdp/profiles \
-H "Authorization: Bearer vyg_your_key_here"

A successful response is the pagination envelope:

{
"bucket": "customers",
"list": [],
"identities": {},
"totalSize": 0,
"offset": 0,
"pageSize": 25,
"scope": "your-shop.myshopify.com",
"nextCursor": null
}

The scope field is your brand’s connected shop domain — every row in list is bound to it. From here:

  • Filter the bucket: ?bucket=customers (default, deterministic identities) or ?bucket=anonymous (pixel-only profiles).
  • Search: ?q=<term>.
  • Page: ?limit= (default 25, max 100) and ?offset=, or follow nextCursor for deep enumeration. See Pagination.