Input Types

Input object types that queries and mutations take as arguments, in alphabetical order. Fields marked required must be present; the others can be left out.

AmendCampaignInput

A partial update to one draft CampaignImage: absent fields stay untouched

Fields:

  • fashionModelRevisionId UUID
  • itemId UUID! required
  • products [ProductGroupInput!]
  • sceneInstructions String
  • shootingLocationRevisionId UUID
  • title String
  • wardrobeItemIds [UUID!]: Present replaces the look's wardrobe. An empty array means styled with nothing.

AmendStudioInput

A partial update to one draft ProductStudio: absent fields stay untouched

Fields:

  • fashionModelRevisionId UUID
  • itemId UUID! required
  • perspectiveIds [UUID!]
  • products [ProductGroupInput!]
  • stylingNotes String
  • wardrobeItemIds [UUID!]: Present replaces the look's wardrobe. An EMPTY array is meaningful and allowed: it means styled with nothing. Absent leaves the wardrobe untouched.

CampaignImageProductInput

Input for campaign image product data

Fields:

  • productDescription String! required
  • productId String! required
  • productImage String! required
  • productImageId String! required
  • productTitle String! required

DesignerAppearanceChange

Fields:


DesignerChangeSet

A structured declaration of what to change, relative to an explicit base revision. Presence of a sub-object means that dimension changes. Any combination may batch into one plan and one generation. Flats are NOT a dimension here — order them via generateDesignerRevisionTechnicalDrawings.

Fields:


DesignerComposedPrompts

The composer's authored prompts for generateDesignerRevision — exactly one per SHAPE/RENDER slot the plan's needFromComposer requested (a missing or extra slot 400s). Taken verbatim.

Fields:


DesignerDetailsChange

The placement editor's complete detail set, not a patch; an empty list removes every detail. At most 2 details. Only the views whose details look different re-render; the puppet is never regenerated. Requires a base revision.

Fields:


DesignerFabricChange

Swap to an existing (or freshly created) fabric. Both renders regenerate against the new swatch.

Fields:

  • clear Boolean
  • fabricRef UUID
  • sourcePatternRevisionId UUID

DesignerGarmentChange

A shape / fit / detail / description change to the given views.

Fields:


DesignerModelChange

Fields:

  • fashionModelRevisionId UUID! required

DesignerOutfitContextChange

The outfit around the hero garment. Empty text clears it. The backend rebuilds the person base only when this differs from the base revision's frozen outfit.

Fields:

  • text String! required

DesignerPaintChange

A visual garment edit painted on a rendered photo. Set silhouetteAffecting when a FRONT paint changes the silhouette, so the plan pulls the BACK shape + render along (declared here, never smuggled through prompts).

Fields:

  • overlayKey String! required
  • silhouetteAffecting Boolean! required
  • view DesignerPersonView! required

DesignerPlacedDetailInput

One placed detail. Needs a box on at least one view.

Fields:

  • back DesignerPlacementInput
  • front DesignerPlacementInput
  • id UUID! required: Generated by the editor when the detail is first placed, then kept. A kept id keeps its marker colour.
  • label String! required: Unique per design, compared case-insensitively.
  • resourceId UUID! required: An image-backed DesignerInstanceResource on this design. The backend resolves and freezes its image key.

DesignerPlacementInput

A box in fractions of the view's grey puppet frame. Values 0 to 1, width and height above 0, and the box must stay inside the frame.

Fields:

  • height Float! required
  • width Float! required
  • x Float! required
  • y Float! required

DesignerResolvedPaintChange

Fields:


DesignerSlotPrompt

One composer-authored prompt for a SHAPE or RENDER slot.

Fields:


FashionModelResourceInput

Patch for fashion model revision resources: absent fields stay untouched, null clears

Fields:

  • beard String
  • bodyShape String
  • description String
  • hairstyle String
  • makeup String

FieldRuleInput

What a captured field may contain and what it means. count is required for DIGITS, values for ONE_OF; a payload that contradicts the kind is rejected rather than widened. Constraining an OTHER field is still worth doing: ignoring a segment's value is not the same as ignoring its shape.

Fields:

  • count Int
  • field String! required
  • kind FileNameFieldConstraintKind! required
  • role FileNameFieldRole! required: What this field means. IDENTITY is part of what makes two photos the same product; VIEW says which view the photo is, at most once per template; OTHER is matched so the pattern fits and then counts for nothing. A field with no rule at all is an unconstrained IDENTITY field.
  • values [String!]

FileNameConventionInput

A team's whole filename declaration. Templates are ordered and may overlap: the first that matches wins. Saved and validated as one unit.

Fields:


FileNameTemplateInput

One candidate filename shape, e.g. "{master}{colorname}{colorcode}_{view}". The literal text between placeholders is this template's delimiter, so a field may contain a character another template separates on.

Fields:


MediaPlanAssetOperand

Fields:

  • asset String! required: Brand asset slug.
  • size Float: Null uses the asset's default; omitted keeps the size the logo already has.

MediaPlanBrandAssetInput

One logo in a set, in the order given.

Fields:

  • brandAssetId UUID! required
  • size Float: Fraction of the frame's shorter edge taken by the logo's longer side. Null uses the asset's default; omitted keeps the size the logo already has; below its minimum is refused.

MediaPlanCardFilter

Which cards an operation reaches: every field given must match. An ad matches only when all its cards match.

Fields:

  • channel MediaChannel: The ad's channel, e.g. GOOGLE.
  • format String: Format slug, e.g. stories-9x16.
  • placement String: Catalog unit slug, e.g. stories.
  • ratio String: Delivered ratio, e.g. 4:5.
  • source String: Source handle, e.g. look-1.

MediaPlanOperation

One amendment. Without a filter, SET_TREATMENT and SET_ASSETS change the plan's default, and SET_APPROVAL reaches every ad; with one, each matched ad's own.

Fields:

  • approved Boolean: SET_APPROVAL, required: true approves the matched ads that are ready and notes the rest with the reason; false un-approves every matched ad.
  • assets [MediaPlanAssetOperand!]: SET_ASSETS: the logo set in order; null clears (none for the plan, inherit for an ad); empty means no logos. Required for SET_ASSETS: an operation without it is refused rather than read as a clear.
  • channel MediaChannel: ADD_PLACEMENT: add every unit of this channel instead of one placement. Units already in the plan come back as notes.
  • discardWork Boolean: REMOVE_CARDS: remove cards even when that loses a person's work (approval, edited or approved copy, a hand-adjusted layout, exported files). Without it such a removal is refused with a message starting "Operation N: Removing these cards would lose work:" that lists the work per ad. Ask the person before sending it.
  • filter MediaPlanCardFilter
  • locales [String!]: SET_LOCALES: the plan's languages as BCP-47 tags, the first being the main one.
  • op MediaPlanOperationKind! required
  • placement String: ADD_PLACEMENT: the catalog unit slug. Give this or channel, not both.
  • source String: SET_SOURCE: the source handle the matched cards should use.
  • sources [String!]: ADD_PLACEMENT: source handles to fan in; absent means all. An empty list is refused.
  • treatment String: SET_TREATMENT: treatment slug; null clears (plain for the plan, inherit for an ad). Required for SET_TREATMENT: an operation without it is refused rather than read as a clear.

PatternRevisionInputArg

One labelled reference passed by the agent into generatePatternRevision. Snapshotted onto the resulting revision for reproducibility.

Fields:

  • imageKey String! required
  • label String! required

PlanCampaignItemInput

A draft CampaignImage to create — grouped products with scene settings

Fields:

  • fashionModelRevisionId UUID! required
  • products [ProductGroupInput!]! required
  • sceneInstructions String
  • shootingLocationRevisionId UUID! required
  • title String
  • wardrobeItemIds [UUID!]: Wardrobe articles this look is completed with, by id. One photograph per article on this arc.

PlanStudioItemInput

A draft ProductStudio to create — grouped products with perspectives

Fields:

  • fashionModelRevisionId UUID! required
  • perspectiveIds [UUID!]! required
  • products [ProductGroupInput!]! required
  • stylingNotes String
  • wardrobeItemIds [UUID!]: Wardrobe articles this look is completed with, by id. Unknown or archived ids are rejected rather than dropped.

ProductGroupInput

A group of images belonging to the same product, with a canonical title

Fields:


ShootingLocationResourceInput

Input for shooting location revision resources

Fields:

  • extras String
  • lighting String
  • location String
  • mood String

SizeChartAdjustmentInput

One base-size change on a design chart.

Fields:

  • deltaHundredths Int! required: Change at the base size in hundredths of a cm. 0 removes the row's adjustment. On a HALF row this is half the girth change.
  • reason String
  • rowKey String! required: The row's full key, CODE[@origin].

ViewCodeMappingInput

Maps one of the team's own view tokens ("001") onto the view the renderer understands.

Fields:

  • code String! required
  • viewType ViewType! required