Skip to navigation

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

X-API-Keystring

API key for one environment of your account. Keep server-side; never expose in browser clients.

Headers

Idempotency-Keystring or nullOptional

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.

applicationslist of objectsRequired
display_colorstringRequired
appearanceobject or nullOptional

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).

default_application_idstring or nullOptional
external_refstring or nullOptional
gtinstring or nullOptional

Response

The variant, unpublished, with revision 1 a draft
active_revisioninteger or null>=1
availabilityenum
Allowed values:
created_atdatetime
external_refstring or null
generationinteger>=1
gtinstring or null
idstring
kindenum
Allowed values:
latest_revisioninteger>=1
updated_atdatetime

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
409
Conflict Error
503
Service Unavailable Error