| notes | No | Free-text notes about the look. | |
| steps | No | Ordered steps, first to last. Each step: instruction (required); title; area; positions = where on the eye, only when area is "eyes"; technique (free text); toolsNeeded = tool slugs from the allowed values only; intensity; estimatedTime in minutes (max 120); notes; productRefs = 0-based indexes into this look's products; shadeRefs = {productIndex, shadeIndex}, 0-based indexes into products and that product's shades. Leave photoAssetId and position unset. | |
| title | Yes | Short name for the look, e.g. "Soft bronze smoky eye". | |
| products | No | Products used. Each: name (required); productType, e.g. "eyeshadow palette"; area; userPaletteId = the paletteId from list_my_palettes when it is a palette the user owns; shades = the pans used, each with name, hexColor (#RRGGBB) and position in the palette. | |
| tagNames | No | Tag names. A name the user already has reuses that tag; a new name creates one. | |
| occasions | No | Free-text occasions, e.g. ["office", "wedding guest"]. | |
| personName | No | Name of one of the user's persons in BeautySpark (exact name, any case). Leave it out unless the user names someone. | |
| isFavourite | No | Mark the look as a favourite. | |
| categorySlugs | No | Categories: preset slugs (everyday, work, date_night, evening, party, festival, wedding_guest, bridal, prom, holiday, vacation, photoshoot, editorial, no_makeup, smokey, glam, natural_glow, bold_color) or the names of the user's own categories. | |
| inspirationUrl | No | An http(s) link to what inspired the look, kept as text. Never fetched. | |
| intensityLevel | No | How strong the whole look is. | |
| difficultyLevel | No | How hard the look is to do. | |
| estimatedTotalTime | No | Time for the whole look, in minutes. | |