← WebMCP Directory

Tool tree

elane-clothing-boutique.karanrajs.chatgpt.site

CommerceTools verified
Website
Premium clothing with an agent-operable Style Studio and bring-your-own-agent outfit previews.
Explore capabilities
    read_catalogAnswer

    Read a compact catalog overview by default. Use view products only for exhaustive enumeration and continue with nextOffset until null. For ordinary product discovery, prefer search_catalog so the agent receives ranked matches instead of walking every page. This does not change the page.

    View tool JSON
    {
      "name": "read_catalog",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read a compact catalog overview by default. Use view products only for exhaustive enumeration and continue with nextOffset until null. For ordinary product discovery, prefer search_catalog so the agent receives ranked matches instead of walking every page. This does not change the page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "view": {
            "type": "string",
            "enum": [
              "overview",
              "products"
            ],
            "default": "overview",
            "description": "Overview returns facets and rules; products returns a paginated exhaustive listing."
          },
          "model": {
            "type": "string",
            "enum": [
              "woman",
              "man"
            ],
            "description": "The women’s or men’s collection that matches every selected catalog piece."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0,
            "description": "Zero-based result offset. Use nextOffset from the prior response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8,
            "default": 8,
            "description": "Maximum records to return, up to 8."
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    read_style_stateAnswer

    Read one compact view of the staged look, capsule, constraints, or customer product lists. List views are paginated. This does not change the page.

    View tool JSON
    {
      "name": "read_style_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read one compact view of the staged look, capsule, constraints, or customer product lists. List views are paginated. This does not change the page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "view": {
            "type": "string",
            "enum": [
              "summary",
              "look",
              "constraints",
              "owned",
              "excluded",
              "locked"
            ],
            "default": "summary",
            "description": "State view to return."
          },
          "lookIndex": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3,
            "description": "Zero-based capsule look index for the look view."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0,
            "description": "Zero-based result offset. Use nextOffset from the prior response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12,
            "default": 12,
            "description": "Maximum records to return, up to 12."
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    read_look_render_kitAnswer

    Read the currently staged outfit as a compact render kit with one public garment image per piece. Use it to create a visual outfit preview on an editorial model or on a customer photo already supplied directly to the agent. This does not upload a photo, generate an image, change the page, or make fit and sizing claims.

    View tool JSON
    {
      "name": "read_look_render_kit",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the currently staged outfit as a compact render kit with one public garment image per piece. Use it to create a visual outfit preview on an editorial model or on a customer photo already supplied directly to the agent. This does not upload a photo, generate an image, change the page, or make fit and sizing claims.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "subjectMode": {
            "type": "string",
            "enum": [
              "editorial_model",
              "customer_photo"
            ],
            "default": "editorial_model",
            "description": "Use a generated model or a customer photo already present in the agent conversation."
          },
          "lookIndex": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3,
            "description": "Optional zero-based capsule look. Omit it to use the active look."
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    search_catalogAnswer

    Primary tool for ordinary product discovery. Search all Style Studio products by natural-language style, garment, colour, or product name. Results are ranked partial matches after stop-word removal and intent-alias expansion. Optionally narrow to one collection, garment slot, or maximum CAD price. This does not change the page. Use returned IDs to stage, add, or replace pieces.

    View tool JSON
    {
      "name": "search_catalog",
      "kind": "answer",
      "impl": "imperative",
      "description": "Primary tool for ordinary product discovery. Search all Style Studio products by natural-language style, garment, colour, or product name. Results are ranked partial matches after stop-word removal and intent-alias expansion. Optionally narrow to one collection, garment slot, or maximum CAD price. This does not change the page. Use returned IDs to stage, add, or replace pieces.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Product intent such as stone knit and trousers, red sweater, ivory blazer, relaxed pants, denim, or leather bag."
          },
          "model": {
            "type": "string",
            "enum": [
              "woman",
              "man"
            ],
            "description": "The women’s or men’s collection that matches every selected catalog piece."
          },
          "slot": {
            "type": "string",
            "enum": [
              "Top",
              "Bottom",
              "Dress",
              "Layer",
              "Accessory"
            ],
            "description": "Optional garment-board slot to search within."
          },
          "maxPriceCad": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "description": "Optional maximum price in CAD."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0,
            "description": "Zero-based result offset. Use nextOffset from the prior response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 6,
            "default": 6,
            "description": "Maximum records to return, up to 6."
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    stage_lookAction

    Stage one compatible look from the chosen collection and update the visible Style Studio garment board. This replaces the current staged presentation but never changes the shopping bag. Every selected piece remains separate, so this makes no simulated fit claim. Call search_catalog first for ordinary discovery and use only returned catalog IDs.

    View tool JSON
    {
      "name": "stage_look",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage one compatible look from the chosen collection and update the visible Style Studio garment board. This replaces the current staged presentation but never changes the shopping bag. Every selected piece remains separate, so this makes no simulated fit claim. Call search_catalog first for ordinary discovery and use only returned catalog IDs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "model": {
            "type": "string",
            "enum": [
              "woman",
              "man"
            ],
            "description": "The women’s or men’s collection that matches every selected catalog piece."
          },
          "topId": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional catalog ID for the top."
          },
          "bottomId": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional catalog ID for the bottom."
          },
          "dressId": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional catalog ID for the dress; a dress cannot be combined with a top or bottom."
          },
          "layerId": {
            "type": "integer",
            "minimum": 1,
            "description": "Optional catalog ID for the outer layer."
          },
          "accessoryIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "uniqueItems": true,
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "Catalog ID for an accessory matching the selected collection."
            },
            "description": "Optional list of up to four unique accessory IDs."
          }
        },
        "required": [
          "model"
        ],
        "anyOf": [
          {
            "required": [
              "topId"
            ]
          },
          {
            "required": [
              "bottomId"
            ]
          },
          {
            "required": [
              "dressId"
            ]
          },
          {
            "required": [
              "layerId"
            ]
          },
          {
            "required": [
              "accessoryIds"
            ]
          }
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    stage_capsuleAction

    Optional advanced planning for 2 to 4 coordinated occasions. For one outfit, use stage_look. Shared pieces count once toward budgetCad. The Style Studio shows each look, reuse and value details, styling notes, and the first garment board. This replaces the staged presentation but never changes the bag. Search the catalog first and use only returned IDs.

    View tool JSON
    {
      "name": "stage_capsule",
      "kind": "act",
      "impl": "imperative",
      "description": "Optional advanced planning for 2 to 4 coordinated occasions. For one outfit, use stage_look. Shared pieces count once toward budgetCad. The Style Studio shows each look, reuse and value details, styling notes, and the first garment board. This replaces the staged presentation but never changes the bag. Search the catalog first and use only returned IDs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "model": {
            "type": "string",
            "enum": [
              "woman",
              "man"
            ],
            "description": "The women’s or men’s collection that matches every selected catalog piece."
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "brief": {
            "type": "string",
            "minLength": 1,
            "maxLength": 180
          },
          "budgetCad": {
            "type": "integer",
            "minimum": 100,
            "maximum": 10000,
            "description": "Optional maximum CAD value for the distinct pieces in the capsule."
          },
          "looks": {
            "type": "array",
            "minItems": 2,
            "maxItems": 4,
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 48,
                  "description": "A concise editorial name for this look, such as Studio restraint."
                },
                "moment": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 48,
                  "description": "The occasion or stop on the journey, such as 09:00 Studio."
                },
                "stylingNote": {
                  "type": "string",
                  "maxLength": 180,
                  "description": "Optional concise reasoning that explains why the pieces work for this moment."
                },
                "topId": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Optional catalog ID for the top."
                },
                "bottomId": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Optional catalog ID for the bottom."
                },
                "dressId": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Optional catalog ID for the dress; a dress cannot be combined with a top or bottom."
                },
                "layerId": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Optional catalog ID for the outer layer."
                },
                "accessoryIds": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 4,
                  "uniqueItems": true,
                  "items": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "Catalog ID for an accessory matching the selected collection."
                  },
                  "description": "Optional list of up to four unique accessory IDs."
                }
              },
              "required": [
                "name",
                "moment"
              ],
              "anyOf": [
                {
                  "required": [
                    "topId"
                  ]
                },
                {
                  "required": [
                    "bottomId"
                  ]
                },
                {
                  "required": [
                    "dressId"
                  ]
                },
                {
                  "required": [
                    "layerId"
                  ]
                },
                {
                  "required": [
                    "accessoryIds"
                  ]
                }
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "model",
          "title",
          "brief",
          "looks"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    replan_capsuleAction

    Use only for an existing multi-occasion capsule when a constraint changes. For one staged outfit, use the add, remove, or replace tools. Preserve locked pieces, reject exclusions, apply owned-versus-buy labels, update all 2 to 4 looks atomically, recalculate spend and reuse, and show a visible before/after explanation. Read the current state first and send the complete revised looks. This never changes the bag.

    View tool JSON
    {
      "name": "replan_capsule",
      "kind": "act",
      "impl": "imperative",
      "description": "Use only for an existing multi-occasion capsule when a constraint changes. For one staged outfit, use the add, remove, or replace tools. Preserve locked pieces, reject exclusions, apply owned-versus-buy labels, update all 2 to 4 looks atomically, recalculate spend and reuse, and show a visible before/after explanation. Read the current state first and send the complete revised looks. This never changes the bag.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "brief": {
            "type": "string",
            "minLength": 1,
            "maxLength": 180
          },
          "budgetCad": {
            "type": "integer",
            "minimum": 100,
            "maximum": 10000,
            "description": "Revised maximum CAD spend for distinct pieces that are not marked owned."
          },
          "size": {
            "type": "string",
            "enum": [
              "XS",
              "S",
              "M",
              "L",
              "XL"
            ],
            "description": "The size to show for the currently staged Style Studio look."
          },
          "climate": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "dressCode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "preferredColors": {
            "type": "array",
            "maxItems": 12,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 32
            },
            "description": "Preferred colours for the revised capsule."
          },
          "excludedColors": {
            "type": "array",
            "maxItems": 12,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 32
            },
            "description": "Colours the customer does not want in the revised capsule."
          },
          "ownedProductIds": {
            "type": "array",
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "Catalog ID for a piece in the currently visible staged look."
            },
            "description": "Catalog products the customer already owns. Their price is excluded from total spend."
          },
          "excludedProductIds": {
            "type": "array",
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "Catalog ID for a piece in the currently visible staged look."
            },
            "description": "Catalog products the customer refuses to wear. None may appear in the revised looks."
          },
          "lockedProductIds": {
            "type": "array",
            "maxItems": 100,
            "uniqueItems": true,
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "Catalog ID for a piece in the currently visible staged look."
            },
            "description": "Currently staged catalog products that must be preserved in the revised capsule."
          },
          "revisionNote": {
            "type": "string",
            "minLength": 1,
            "maxLength": 180,
            "description": "Concise summary of the changed real-life constraint, such as ceremony moved outdoors and budget reduced to CAD 1,500."
          },
          "changeReasons": {
            "type": "array",
            "maxItems": 24,
            "items": {
              "type": "object",
              "properties": {
                "productId": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Catalog ID for a piece in the currently visible staged look."
                },
                "action": {
                  "type": "string",
                  "enum": [
                    "added",
                    "removed"
                  ]
                },
                "reason": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 180
                }
              },
              "required": [
                "productId",
                "action",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "looks": {
            "type": "array",
            "minItems": 2,
            "maxItems": 4,
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 48,
                  "description": "A concise editorial name for this look, such as Studio restraint."
                },
                "moment": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 48,
                  "description": "The occasion or stop on the journey, such as 09:00 Studio."
                },
                "stylingNote": {
                  "type": "string",
                  "maxLength": 180,
                  "description": "Optional concise reasoning that explains why the pieces work for this moment."
                },
                "topId": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Optional catalog ID for the top."
                },
                "bottomId": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Optional catalog ID for the bottom."
                },
                "dressId": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Optional catalog ID for the dress; a dress cannot be combined with a top or bottom."
                },
                "layerId": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Optional catalog ID for the outer layer."
                },
                "accessoryIds": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 4,
                  "uniqueItems": true,
                  "items": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "Catalog ID for an accessory matching the selected collection."
                  },
                  "description": "Optional list of up to four unique accessory IDs."
                }
              },
              "required": [
                "name",
                "moment"
              ],
              "anyOf": [
                {
                  "required": [
                    "topId"
                  ]
                },
                {
                  "required": [
                    "bottomId"
                  ]
                },
                {
                  "required": [
                    "dressId"
                  ]
                },
                {
                  "required": [
                    "layerId"
                  ]
                },
                {
                  "required": [
                    "accessoryIds"
                  ]
                }
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "revisionNote",
          "looks"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    set_look_sizeAction

    Set the size shown for the current staged Style Studio look without adding any pieces to the shopping bag.

    View tool JSON
    {
      "name": "set_look_size",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the size shown for the current staged Style Studio look without adding any pieces to the shopping bag.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "size": {
            "type": "string",
            "enum": [
              "XS",
              "S",
              "M",
              "L",
              "XL"
            ],
            "description": "The size to show for the currently staged Style Studio look."
          }
        },
        "required": [
          "size"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    add_look_itemAction

    Incrementally add one catalog product to the currently visible staged look, or to the active look in a staged capsule, without restaging its existing pieces. Call search_catalog first. The product must match the active collection and use an empty garment slot; use replace_look_item when that slot is occupied. Up to four accessories can be added. This does not change the shopping bag.

    View tool JSON
    {
      "name": "add_look_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Incrementally add one catalog product to the currently visible staged look, or to the active look in a staged capsule, without restaging its existing pieces. Call search_catalog first. The product must match the active collection and use an empty garment slot; use replace_look_item when that slot is occupied. Up to four accessories can be added. This does not change the shopping bag.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "minimum": 1,
            "description": "Catalog product ID for the compatible piece to add to the currently visible staged look."
          }
        },
        "required": [
          "productId"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    remove_look_itemAction

    Remove one specific catalog product from the currently visible staged look, or from the active look in a staged capsule. Call read_style_state with view look first to inspect the staged product IDs. This updates the garment board and selected-piece ledger but does not change the shopping bag.

    View tool JSON
    {
      "name": "remove_look_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove one specific catalog product from the currently visible staged look, or from the active look in a staged capsule. Call read_style_state with view look first to inspect the staged product IDs. This updates the garment board and selected-piece ledger but does not change the shopping bag.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "minimum": 1,
            "description": "Catalog ID for a piece in the currently visible staged look."
          }
        },
        "required": [
          "productId"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    replace_look_itemAction

    Replace one specific product in the currently visible staged look, or in the active look of a staged capsule, with a catalog product from the same collection and garment slot. Call search_catalog first for the replacement. This updates the garment board and selected-piece ledger but does not change the shopping bag.

    View tool JSON
    {
      "name": "replace_look_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace one specific product in the currently visible staged look, or in the active look of a staged capsule, with a catalog product from the same collection and garment slot. Call search_catalog first for the replacement. This updates the garment board and selected-piece ledger but does not change the shopping bag.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "minimum": 1,
            "description": "Catalog ID for a piece in the currently visible staged look."
          },
          "replacementProductId": {
            "type": "integer",
            "minimum": 1,
            "description": "Catalog product ID for the compatible replacement piece."
          }
        },
        "required": [
          "productId",
          "replacementProductId"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    read_bagAnswer

    Read a paginated page of bag lines plus quantities, sizes, and CAD totals. This does not change the bag or begin checkout.

    View tool JSON
    {
      "name": "read_bag",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read a paginated page of bag lines plus quantities, sizes, and CAD totals. This does not change the bag or begin checkout.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0,
            "description": "Zero-based result offset. Use nextOffset from the prior response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 6,
            "default": 6,
            "description": "Maximum records to return, up to 6."
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    read_promotionsAnswer

    Read authoritative promotion terms and evaluate each offer against the current visible shopping bag. Returns eligibility, amount still needed, estimated savings, and applied status. This does not change the bag.

    View tool JSON
    {
      "name": "read_promotions",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read authoritative promotion terms and evaluate each offer against the current visible shopping bag. Returns eligibility, amount still needed, estimated savings, and applied status. This does not change the bag.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    read_policyAnswer

    Read authoritative ÉLANE terms, returns, refunds, delivery, order, or promotion conditions. Choose one section for full details, or all for a concise overview. This does not change the page.

    View tool JSON
    {
      "name": "read_policy",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read authoritative ÉLANE terms, returns, refunds, delivery, order, or promotion conditions. Choose one section for full details, or all for a concise overview. This does not change the page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "section": {
            "type": "string",
            "enum": [
              "all",
              "returns",
              "refunds",
              "delivery",
              "orders",
              "promotions",
              "terms"
            ],
            "default": "all",
            "description": "Policy section to read. Use returns for the complete return conditions."
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    check_return_windowAnswer

    Calculate the exact return deadline from a delivery date and assess supplied item conditions against ÉLANE policy. Missing condition facts produce needs-more-information, not approval. This does not start or authorize a return.

    View tool JSON
    {
      "name": "check_return_window",
      "kind": "answer",
      "impl": "imperative",
      "description": "Calculate the exact return deadline from a delivery date and assess supplied item conditions against ÉLANE policy. Missing condition facts produce needs-more-information, not approval. This does not start or authorize a return.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "deliveryDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Confirmed delivery date in YYYY-MM-DD format."
          },
          "asOfDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Optional assessment date in YYYY-MM-DD. Defaults to today in Toronto."
          },
          "itemCondition": {
            "type": "string",
            "enum": [
              "unused_unworn",
              "opened_or_worn",
              "defective_or_incorrect"
            ],
            "description": "Current merchandise condition, when known."
          },
          "tagsAttached": {
            "type": "boolean",
            "description": "Whether the original tags remain attached."
          },
          "proofOfPurchase": {
            "type": "boolean",
            "description": "Whether a receipt, confirmation, or other proof is available."
          },
          "itemType": {
            "type": "string",
            "enum": [
              "standard",
              "gift_card",
              "personalized_or_altered",
              "final_sale",
              "intimate_seal_broken"
            ],
            "description": "Item-policy category, when known."
          }
        },
        "required": [
          "deliveryDate"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    apply_promotionAction

    Validate and apply one promotion code to the visible shopping bag after the user asks to use it. The bag must satisfy the offer terms. This updates the displayed discount and total but does not begin checkout, place an order, or collect payment.

    View tool JSON
    {
      "name": "apply_promotion",
      "kind": "act",
      "impl": "imperative",
      "description": "Validate and apply one promotion code to the visible shopping bag after the user asks to use it. The bag must satisfy the offer terms. This updates the displayed discount and total but does not begin checkout, place an order, or collect payment.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32,
            "description": "Promotion code returned by read_promotions."
          }
        },
        "required": [
          "code"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    add_item_to_bagAction

    Add exactly one unit of one catalog product directly to the visible shopping bag. Call search_catalog first for ordinary discovery. If the product is already present, its quantity increases by one. An optional size overrides the visible Style Studio size. This does not add the rest of the staged look or begin checkout.

    View tool JSON
    {
      "name": "add_item_to_bag",
      "kind": "act",
      "impl": "imperative",
      "description": "Add exactly one unit of one catalog product directly to the visible shopping bag. Call search_catalog first for ordinary discovery. If the product is already present, its quantity increases by one. An optional size overrides the visible Style Studio size. This does not add the rest of the staged look or begin checkout.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "minimum": 1,
            "description": "Catalog ID for an ÉLANE item."
          },
          "size": {
            "type": "string",
            "enum": [
              "XS",
              "S",
              "M",
              "L",
              "XL"
            ],
            "description": "Optional size for the added item. Defaults to the visible Style Studio size."
          }
        },
        "required": [
          "productId"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    adjust_bag_quantityAction

    Increase or decrease one existing shopping-bag product line by exactly one unit. Call read_bag first. Use delta 1 to add one unit or delta -1 to remove one unit. Decreasing a quantity of one removes that product line. This does not begin checkout.

    View tool JSON
    {
      "name": "adjust_bag_quantity",
      "kind": "act",
      "impl": "imperative",
      "description": "Increase or decrease one existing shopping-bag product line by exactly one unit. Call read_bag first. Use delta 1 to add one unit or delta -1 to remove one unit. Decreasing a quantity of one removes that product line. This does not begin checkout.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "minimum": 1,
            "description": "Catalog ID for an ÉLANE item."
          },
          "delta": {
            "type": "integer",
            "enum": [
              -1,
              1
            ],
            "description": "Use 1 to increase the quantity by one or -1 to decrease it by one."
          }
        },
        "required": [
          "productId",
          "delta"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    set_bag_item_sizeAction

    Change the size stored on one existing shopping-bag product line without changing its quantity or the staged Style Studio size. Call read_bag first. This does not begin checkout.

    View tool JSON
    {
      "name": "set_bag_item_size",
      "kind": "act",
      "impl": "imperative",
      "description": "Change the size stored on one existing shopping-bag product line without changing its quantity or the staged Style Studio size. Call read_bag first. This does not begin checkout.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "minimum": 1,
            "description": "Catalog ID for an ÉLANE item."
          },
          "size": {
            "type": "string",
            "enum": [
              "XS",
              "S",
              "M",
              "L",
              "XL"
            ],
            "description": "The new size for the existing bag item."
          }
        },
        "required": [
          "productId",
          "size"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    remove_bag_itemsAction

    Remove complete product lines from the shopping bag by catalog product ID. Call read_bag first. This changes bag state but does not begin checkout or place an order.

    View tool JSON
    {
      "name": "remove_bag_items",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove complete product lines from the shopping bag by catalog product ID. Call read_bag first. This changes bag state but does not begin checkout or place an order.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "productIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 50,
            "uniqueItems": true,
            "items": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Catalog product IDs for the complete bag lines to remove."
          }
        },
        "required": [
          "productIds"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    clear_bagAction

    Remove every item from the shopping bag. Use only when the user explicitly asks to clear the bag. This changes bag state but does not begin checkout or place an order.

    View tool JSON
    {
      "name": "clear_bag",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove every item from the shopping bag. Use only when the user explicitly asks to clear the bag. This changes bag state but does not begin checkout or place an order.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    add_look_to_bagAction

    Add every piece from the current single look, or each Buy piece from one capsule look, to the visible bag. Owned capsule pieces are skipped. Returns a compact receipt; read the bag for full verification. This never places an order or collects payment.

    View tool JSON
    {
      "name": "add_look_to_bag",
      "kind": "act",
      "impl": "imperative",
      "description": "Add every piece from the current single look, or each Buy piece from one capsule look, to the visible bag. Owned capsule pieces are skipped. Returns a compact receipt; read the bag for full verification. This never places an order or collects payment.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "lookIndex": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3,
            "description": "Optional zero-based journey look index. Omit to add the currently visible look."
          },
          "size": {
            "type": "string",
            "enum": [
              "XS",
              "S",
              "M",
              "L",
              "XL"
            ],
            "description": "Size applied to every added garment. Defaults to the visible Style Studio size."
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }