LiveRecoverVYG Developer Docs
CDP REST APIAPI Reference

Batch Update Profiles

Apply the same property writes to every in-scope profile matching a condition.

POST /cdp/profiles/batch applies the same property writes to EVERY in-scope profile matching a Unomi condition. The condition is allowlist-validated at the edge, and your brand's scope predicate is AND-injected server-side — a batch can only ever touch your own profiles. The match set is capped to bound the blast radius, and the route is rate-limited (both an edge throttle and a per-brand token bucket) because it is the heaviest write.

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

Query parameters

ParameterTypeRequiredDefaultDescription
conditionstringYesBody field — the Unomi match condition. Allowlist-validated; the brand scope predicate is AND-injected server-side (a caller-supplied scope/shopDomain predicate is rejected).
addstringNoBody field — a { key: value } map of properties to set only if currently missing.
updatestringNoBody field — a { key: value } map of properties to overwrite.
deletestring[]NoBody field — an array of property names to remove.

Response

The 200 response body:

FieldTypeDescription
matchednumber
updatednumber
status'accepted'
scopestringYour brand's resolved shop domain.

Errors

All errors share the standard envelope { "error": string, "error_description": string }.

StatusCodeWhen
400bad_requestThe body is not valid JSON, or the condition object is missing.
400invalid_conditionThe condition failed the allowlist validator.
400invalid_propertyA reserved or malformed property key was written.
400batch_too_largeThe match set exceeds the batch cap — narrow the condition.
401unauthorizedMissing or invalid API credential.
403forbiddenNo connected Shopify integration resolves a scope for the brand.
405method_not_allowedThe request used a method other than POST.
429rate_limitedToo many batch requests for this brand — retry shortly.
500internal_errorAn unexpected error prevented the batch write.

On this page