API ReferenceEndpointsCustomersList saved items, paginated (ids only)

List saved items, paginated (ids only)

Newest first. Default page size 20, at most 100.

GET
/vc/{connectionId}/customers/me/wishlist
X-Sales-Channel-Origin<token>

For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.

In: header

Path Parameters

connectionIdstring

Sales channel ID (vc_*), the canonical salesChannelId. connectionId is the deprecated name of the same value and is still the literal path segment.

Query Parameters

page?integer

1-based page number, at most 10000 (a larger value is capped). A value that is not a positive whole number falls back to 1.

Default1
Range1 <= value <= 10000
limit?integer

Items per page. A value above 100 is capped at 100. A value that is not a positive whole number falls back to 20.

Default20
Range1 <= value <= 100

Header Parameters

originstring

Origin of the storefront page making the call, for example https://shop.example.com. Required: a request with no Origin header is refused with 403. On a LIVE channel its host must equal the channel's registered domain (or one of its subdomains) or match an allowed origin. A TEST channel with no domain accepts any origin; once a domain is set it is matched as on LIVE.

authorizationstring

Customer token as Bearer <token>, returned by customers/login, customers/register or the OAuth callback. Expires after 7 days. It is a customer token, never an API key.

X-SDK-Version?string

Version of the calling SDK (the Brainerce SDK sends it automatically). Informational: it is recorded on the channel and never changes the response.

curl -X GET "https://api.brainerce.com/api/vc/string/customers/me/wishlist?page=1&limit=20" \  -H "origin: string" \  -H "authorization: string" \  -H "X-SDK-Version: string"
{
  "data": [
    {
      "id": "clw0a1b2c3d4e5f6g7h8",
      "productId": "clx1a2b3c4d5e6f7g8h9",
      "variantId": "string",
      "createdAt": "2026-10-26T09:30:00.000Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 42,
    "totalPages": 3
  }
}

{
  "statusCode": 401,
  "code": "UNAUTHORIZED",
  "message": "Invalid or expired credential",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/vc/{connectionId}/customers/me/wishlist"
}

{
  "statusCode": 403,
  "code": "INSUFFICIENT_SCOPE",
  "message": "API key does not have the required scope: products:write",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/vc/{connectionId}/customers/me/wishlist"
}

{
  "statusCode": 404,
  "code": "RESOURCE_NOT_FOUND",
  "message": "Resource not found",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/vc/{connectionId}/customers/me/wishlist"
}

{
  "statusCode": 429,
  "code": "RATE_LIMITED",
  "message": "Too many requests",
  "details": {
    "retryAfterSeconds": 12
  },
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/vc/{connectionId}/customers/me/wishlist"
}