Create a catalogue Variant
Creates an unpublished variant in your catalogue with revision 1 as a draft:
a display_color and one or more application definitions, each an
application_id of yours (lips, cheeks), a custom makeup category and that
category’s options. The revision is compiled when it is written: every definition
resolves under the category’s current profile, the revision records each option’s
effective value and the profile (id, version, digest) it pinned, and a definition
that does not compile is 400 INVALID_REQUEST naming its field. A variant carries
no renderer field. external_ref is your SKU: optional, fixed once written, and
unique among your variants that are not retired (409 EXTERNAL_REF_TAKEN).
Nothing renders a variant until a revision is approved and published.
Send an Idempotency-Key: a retry with the same key and the same request
answers the first response, byte for byte, with Idempotency-Replayed: true,
so a response you did not receive is safe to retry.
Requires the catalogue.write scope, which your account operator provisions; no other
catalogue scope implies it. Served only where the catalogue is enabled for your
environment.
Authentication
API key for one environment of your account. Keep server-side; never expose in browser clients.
Headers
Request
A new variant, unpublished, with revision 1 a draft. external_ref is the
caller’s SKU, unique among the caller’s non-retired variants and fixed once
written. gtin is the product’s barcode (GTIN-8, UPC-A, EAN-13 or GTIN-14 with
a valid check digit), also fixed once written, and not unique.
How a shade presents (Foundation V1 D4). display_color left out is the
revision’s, and when sent must be. Who says each field is never sent: the
server records a partner write’s fields as source: partner (D20).