{
  "openapi": "3.1.0",
  "info": {
    "title": "CE Webhooks",
    "description": "Events Commerce Engine delivers to subscriber endpoints registered through the admin Webhooks API. Every request is a `POST` whose body is a `WebhookEnvelope`; `payload.properties` carries the event-specific model documented on each webhook. Verify `X-CE-Signature` (HMAC-SHA256 of the raw body with the webhook secret) before processing, treat `event_id` as the idempotency key, and respond `2XX` promptly — failed deliveries are retried three times (5s, 30s, 5m); a `410` disables the webhook.",
    "version": "1.0"
  },
  "externalDocs": {
    "url": "https://llm-docs.commercengine.io",
    "description": "Commerce Engine API Reference Documentation"
  },
  "tags": [
    {
      "name": "Orders",
      "description": "Order lifecycle"
    },
    {
      "name": "Payments",
      "description": "Payments and refunds"
    },
    {
      "name": "Shipping",
      "description": "Shipping"
    },
    {
      "name": "Invoices"
    },
    {
      "name": "Carts",
      "description": "Carts and wishlists"
    },
    {
      "name": "Catalog",
      "description": "Products, variants, categories, attributes, inventory"
    },
    {
      "name": "Coupons & promotions",
      "description": "Coupons & promotions"
    },
    {
      "name": "Customers",
      "description": "Customers, addresses, KYC, loyalty"
    },
    {
      "name": "Store",
      "description": "Store configuration"
    },
    {
      "name": "Marketplace",
      "description": "Marketplace ↔ seller store synchronisation"
    }
  ],
  "webhooks": {
    "order.created": {
      "post": {
        "tags": [
          "Orders"
        ],
        "operationId": "order-created",
        "summary": "Order created",
        "description": "Fires when an order is placed from the storefront, POS, or admin API.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "order.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "order.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "order.confirmed": {
      "post": {
        "tags": [
          "Orders"
        ],
        "operationId": "order-confirmed",
        "summary": "Order confirmed",
        "description": "Fires when payment succeeds on an auto-approved store, when an admin accepts an `awaiting_approval` order, or when a bank-transfer/credit-line order settles.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "order.confirmed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "order.confirmed"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "order.cancelled": {
      "post": {
        "tags": [
          "Orders"
        ],
        "operationId": "order-cancelled",
        "summary": "Order cancelled",
        "description": "Fires when an order is cancelled by the customer, an admin, the unpaid-order sweeper, or a cancel-and-refund of the only shipment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "order.cancelled"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "order.cancelled"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "order.completed": {
      "post": {
        "tags": [
          "Orders"
        ],
        "operationId": "order-completed",
        "summary": "Order completed",
        "description": "Fires when every shipment of an order is delivered (courier tracking or manual update).",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "order.completed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "order.completed"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "payment.success": {
      "post": {
        "tags": [
          "Payments"
        ],
        "operationId": "payment-success",
        "summary": "Payment successful",
        "description": "Fires when a gateway callback, the payment-verification poller, or a bank-transfer settlement marks a payment `success`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "payment.success"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "payment.success"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderPayment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "payment.failed": {
      "post": {
        "tags": [
          "Payments"
        ],
        "operationId": "payment-failed",
        "summary": "Payment failed",
        "description": "Fires when a gateway callback or the payment-verification poller marks a payment `failed`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "payment.failed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "payment.failed"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderPayment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "payment.retried": {
      "post": {
        "tags": [
          "Payments"
        ],
        "operationId": "payment-retried",
        "summary": "Payment retried",
        "description": "Fires when a customer re-initiates payment for an order whose previous attempt is pending or failed. A new `request_number` is issued unless the previous gateway attempt is reused (same gateway, recent attempt), in which case the existing payment row is re-sent as is.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "payment.retried"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "payment.retried"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderPayment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipment.created": {
      "post": {
        "tags": [
          "Shipping"
        ],
        "operationId": "shipment-created",
        "summary": "Shipment created",
        "description": "Fires when shipments are auto-created on order confirmation, or created by scheduling/splitting/replacing a shipment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipment.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipment.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Shipment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipment.updated": {
      "post": {
        "tags": [
          "Shipping"
        ],
        "operationId": "shipment-updated",
        "summary": "Shipment updated",
        "description": "Fires on manual update, bulk update, merge, split, store rejection, and Spine invoice sync. Manual `shipped`/`delivered` status changes arrive as this event, not `shipment.shipped`/`shipment.delivered`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipment.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipment.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Shipment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipment.cancelled": {
      "post": {
        "tags": [
          "Shipping"
        ],
        "operationId": "shipment-cancelled",
        "summary": "Shipment cancelled",
        "description": "Fires when a shipment is cancelled by an admin, replaced, cancelled by the courier, or cancelled via marketplace order ingest.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipment.cancelled"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipment.cancelled"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Shipment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipment.delivered": {
      "post": {
        "tags": [
          "Shipping"
        ],
        "operationId": "shipment-delivered",
        "summary": "Shipment delivered",
        "description": "Fires when courier tracking reports delivery. Manual delivered updates arrive as `shipment.updated`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipment.delivered"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipment.delivered"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Shipment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "payment.refund.initiated": {
      "post": {
        "tags": [
          "Payments"
        ],
        "operationId": "payment-refund-initiated",
        "summary": "Refund initiated",
        "description": "Fires once per refund request when an order or shipment is cancelled with a refundable payment, or a shortfall refund is raised. The payload is enriched from the refund row at delivery time, so `status` reflects the row's current state (normally `pending`); `payment.refund.success`/`failed` follow from the gateway.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "payment.refund.initiated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "payment.refund.initiated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderRefund"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "payment.refund.success": {
      "post": {
        "tags": [
          "Payments"
        ],
        "operationId": "payment-refund-success",
        "summary": "Refund successful",
        "description": "Fires when a PayU/Juspay refund callback reports success.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "payment.refund.success"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "payment.refund.success"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderRefund"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "payment.refund.failed": {
      "post": {
        "tags": [
          "Payments"
        ],
        "operationId": "payment-refund-failed",
        "summary": "Refund failed",
        "description": "Fires when a gateway refund callback or the refund-initiation task reports failure.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "payment.refund.failed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "payment.refund.failed"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderRefund"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "order.updated": {
      "post": {
        "tags": [
          "Orders"
        ],
        "operationId": "order-updated",
        "summary": "Order updated",
        "description": "Fires when an order's shipping address is updated from the admin API or a shipment is rejected by the store.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "order.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "order.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipment.schedule_requested": {
      "post": {
        "tags": [
          "Shipping"
        ],
        "operationId": "shipment-schedule-requested",
        "summary": "Shipment schedule requested",
        "description": "Fires when a shipment is submitted for scheduling (auto-approval flow, manual scheduling, or replacement).",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipment.schedule_requested"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipment.schedule_requested"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Shipment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipment.scheduled": {
      "post": {
        "tags": [
          "Shipping"
        ],
        "operationId": "shipment-scheduled",
        "summary": "Shipment scheduled",
        "description": "Fires when a Shiprocket order is created and an AWB is assigned.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipment.scheduled"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipment.scheduled"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Shipment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipment.shipped": {
      "post": {
        "tags": [
          "Shipping"
        ],
        "operationId": "shipment-shipped",
        "summary": "Shipment shipped",
        "description": "Fires when courier tracking reports the shipment as shipped.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipment.shipped"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipment.shipped"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Shipment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipment.returned": {
      "post": {
        "tags": [
          "Shipping"
        ],
        "operationId": "shipment-returned",
        "summary": "Shipment returned to origin",
        "description": "Fires when courier tracking reports return-to-origin.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipment.returned"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipment.returned"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Shipment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipment.cancelled-and-refunded": {
      "post": {
        "tags": [
          "Shipping"
        ],
        "operationId": "shipment-cancelled-and-refunded",
        "summary": "Shipment cancelled and refunded",
        "description": "Fires alongside `shipment.cancelled` when a marketplace store cancels-and-refunds a seller-linked shipment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipment.cancelled-and-refunded"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipment.cancelled-and-refunded"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipment.deleted": {
      "post": {
        "tags": [
          "Shipping"
        ],
        "operationId": "shipment-deleted",
        "summary": "Shipment deleted",
        "description": "Fires when an empty or merged shipment record is removed (marketplace seller copies, split leftovers, merge targets).",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipment.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipment.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "invoice.created": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "operationId": "invoice-created",
        "summary": "Invoice created",
        "description": "Fires when a seller invoice is generated for a marketplace-linked shipment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "invoice.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "invoice.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/InvoiceDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "invoice.updated": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "operationId": "invoice-updated",
        "summary": "Invoice updated",
        "description": "Fires when an existing shipment invoice is regenerated.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "invoice.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "invoice.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/InvoiceDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "invoice.cancelled": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "operationId": "invoice-cancelled",
        "summary": "Invoice cancelled",
        "description": "Fires when Spine reports an invoice as cancelled.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "invoice.cancelled"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "invoice.cancelled"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.created": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-created",
        "summary": "Cart created",
        "description": "Fires on `POST /carts`, including when an existing active cart is reused.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Cart"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.deleted": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-deleted",
        "summary": "Cart deleted",
        "description": "Fires when a cart is deleted by id or by user. Payload is usually the bare `{cart_id}` because the row is gone before enrichment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.address.updated": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-address-updated",
        "summary": "Cart address updated",
        "description": "Fires when billing/shipping address is set on a cart.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.address.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.address.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Cart"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.coupon.applied": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-coupon-applied",
        "summary": "Cart coupon applied",
        "description": "Fires when a coupon is applied to a cart.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.coupon.applied"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.coupon.applied"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Cart"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.coupon.removed": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-coupon-removed",
        "summary": "Cart coupon removed",
        "description": "Fires when a coupon is removed from a cart.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.coupon.removed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.coupon.removed"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Cart"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.loyaltypoints.applied": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-loyaltypoints-applied",
        "summary": "Cart loyalty points applied",
        "description": "Fires when loyalty points are applied to a cart.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.loyaltypoints.applied"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.loyaltypoints.applied"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Cart"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.loyaltypoints.removed": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-loyaltypoints-removed",
        "summary": "Cart loyalty points removed",
        "description": "Fires when loyalty points are removed from a cart.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.loyaltypoints.removed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.loyaltypoints.removed"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Cart"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.creditbalance.applied": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-creditbalance-applied",
        "summary": "Cart credit balance applied",
        "description": "Fires when store credit is applied to a cart.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.creditbalance.applied"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.creditbalance.applied"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Cart"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.creditbalance.removed": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-creditbalance-removed",
        "summary": "Cart credit balance removed",
        "description": "Fires when store credit is removed from a cart.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.creditbalance.removed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.creditbalance.removed"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Cart"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.item.created": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-item-created",
        "summary": "Cart item added",
        "description": "Fires when a new line is added via `POST /carts/{id}/items`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.item.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.item.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/CartItem"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.item.updated": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-item-updated",
        "summary": "Cart item updated",
        "description": "Fires when an existing line's quantity changes.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.item.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.item.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/CartItem"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "cart.item.deleted": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "cart-item-deleted",
        "summary": "Cart item removed",
        "description": "Fires when a line is removed (`quantity: 0`). Payload is the bare `{cart_id, product_id, variant_id}`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "cart.item.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "cart.item.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "wishlist.item.created": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "wishlist-item-created",
        "summary": "Wishlist item added",
        "description": "Fires when a product is added to a user's wishlist.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "wishlist.item.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "wishlist.item.created"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "wishlist.item.removed": {
      "post": {
        "tags": [
          "Carts"
        ],
        "operationId": "wishlist-item-removed",
        "summary": "Wishlist item removed",
        "description": "Fires when a product is removed from a user's wishlist.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "wishlist.item.removed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "wishlist.item.removed"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.created": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "product-created",
        "summary": "Product created",
        "description": "Fires on `POST /catalog/products`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Item"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.updated": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "product-updated",
        "summary": "Product updated",
        "description": "Fires on product update, bulk update, channel assignment, and when provider inventory flips `stock_available`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Item"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.deleted": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "product-deleted",
        "summary": "Product deleted",
        "description": "Fires on product delete (soft-delete keeps the full payload; hard-delete sends a minimal dict).",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.deleted"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Item"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.variant.created": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "product-variant-created",
        "summary": "Variant created",
        "description": "Fires when variants are created via product `PUT` or `POST /catalog/products/{id}/variants`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.variant.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.variant.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Item"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.variant.updated": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "product-variant-updated",
        "summary": "Variant updated",
        "description": "Fires on variant update, bulk update, channel assignment, and provider stock flips.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.variant.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.variant.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Item"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.variant.deleted": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "product-variant-deleted",
        "summary": "Variant deleted",
        "description": "Fires on variant delete.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.variant.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.variant.deleted"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Item"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "category.created": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "category-created",
        "summary": "Category created",
        "description": "Fires on `POST /catalog/categories`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "category.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "category.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Category"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "category.updated": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "category-updated",
        "summary": "Category updated",
        "description": "Fires on category `PUT`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "category.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "category.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Category"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "category.deleted": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "category-deleted",
        "summary": "Category deleted",
        "description": "Fires after a category is deleted; children are re-parented first. Payload is `{category_id, category_name}`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "category.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "category.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.attribute.created": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "product-attribute-created",
        "summary": "Attribute created",
        "description": "Fires on `POST /catalog/attributes`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.attribute.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.attribute.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Attribute"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.attribute.updated": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "product-attribute-updated",
        "summary": "Attribute updated",
        "description": "Fires on attribute `PUT`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.attribute.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.attribute.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Attribute"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.attribute.deleted": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "product-attribute-deleted",
        "summary": "Attribute deleted",
        "description": "Fires after an unused attribute is deleted.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.attribute.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.attribute.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "inventory.updated": {
      "post": {
        "tags": [
          "Catalog"
        ],
        "operationId": "inventory-updated",
        "summary": "Inventory updated",
        "description": "Fires on stock-in/out, reset, manual activity, reservation on order creation, reduction on shipment creation, restore on cancellation, reservation release, and provider (Spine) sync.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "inventory.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "inventory.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/ProductInventory"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "coupon.created": {
      "post": {
        "tags": [
          "Coupons & promotions"
        ],
        "operationId": "coupon-created",
        "summary": "Coupon created",
        "description": "Fires on `POST /coupons`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "coupon.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "coupon.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Coupon"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "coupon.updated": {
      "post": {
        "tags": [
          "Coupons & promotions"
        ],
        "operationId": "coupon-updated",
        "summary": "Coupon updated",
        "description": "Fires on coupon `PUT` and when the 10-minute expiry sweeper deactivates an expired coupon.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "coupon.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "coupon.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Coupon"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "promotion.created": {
      "post": {
        "tags": [
          "Coupons & promotions"
        ],
        "operationId": "promotion-created",
        "summary": "Promotion created",
        "description": "Fires on `POST /promotions`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "promotion.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "promotion.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Promotion"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "promotion.updated": {
      "post": {
        "tags": [
          "Coupons & promotions"
        ],
        "operationId": "promotion-updated",
        "summary": "Promotion updated",
        "description": "Fires on promotion `PUT` and when the expiry sweeper deactivates an expired promotion.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "promotion.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "promotion.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Promotion"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "promotion.deleted": {
      "post": {
        "tags": [
          "Coupons & promotions"
        ],
        "operationId": "promotion-deleted",
        "summary": "Promotion deleted",
        "description": "Fires after a promotion is deleted. Payload is `{promotion_id, promotion_name}`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "promotion.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "promotion.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "customer.created": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "customer-created",
        "summary": "Customer created",
        "description": "Fires on admin `POST /customers` and when an order creates a new customer.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "customer.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "customer.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Customer"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "customer.updated": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "customer-updated",
        "summary": "Customer updated",
        "description": "Fires on admin customer `PUT` and when an order updates an existing customer.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "customer.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "customer.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Customer"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "customer.address.created": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "customer-address-created",
        "summary": "Customer address created",
        "description": "Fires when an address is added from the storefront or admin API.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "customer.address.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "customer.address.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/CustomerAddress"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "customer.address.updated": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "customer-address-updated",
        "summary": "Customer address updated",
        "description": "Fires when an address is updated.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "customer.address.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "customer.address.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/CustomerAddress"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "customer.address.deleted": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "customer-address-deleted",
        "summary": "Customer address deleted",
        "description": "Fires after a non-primary address is deleted.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "customer.address.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "customer.address.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "kyc.document.created": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "kyc-document-created",
        "summary": "KYC document submitted",
        "description": "Fires when a customer or admin uploads a KYC document.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "kyc.document.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "kyc.document.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/KycDocument"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "kyc.document.updated": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "kyc-document-updated",
        "summary": "KYC document updated",
        "description": "Fires when a KYC document is updated.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "kyc.document.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "kyc.document.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/KycDocument"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "kyc.document.deleted": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "kyc-document-deleted",
        "summary": "KYC document deleted",
        "description": "Fires after a KYC document is deleted.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "kyc.document.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "kyc.document.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "kyc.document.approved": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "kyc-document-approved",
        "summary": "KYC document approved",
        "description": "Fires when auto-verification approves a document.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "kyc.document.approved"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "kyc.document.approved"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/KycDocument"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "kyc.document.rejected": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "kyc-document-rejected",
        "summary": "KYC document rejected",
        "description": "Fires when auto-verification rejects a document.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "kyc.document.rejected"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "kyc.document.rejected"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/KycDocument"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "kyc.submitted": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "kyc-submitted",
        "summary": "Customer KYC submitted",
        "description": "Fires when required documents are submitted but not yet all approved.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "kyc.submitted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "kyc.submitted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "kyc.verified": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "kyc-verified",
        "summary": "Customer KYC verified",
        "description": "Fires when every mandatory document is approved (or none are mandatory).",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "kyc.verified"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "kyc.verified"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "kyc.unverified": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "kyc-unverified",
        "summary": "Customer KYC unverified",
        "description": "Fires when a required document is missing or rejected.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "kyc.unverified"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "kyc.unverified"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "loyalty.points.earned": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "loyalty-points-earned",
        "summary": "Loyalty points earned",
        "description": "Fires on order completion, admin `add` activity, and redemption reversal on cancellation.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "loyalty.points.earned"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "loyalty.points.earned"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/LoyaltyPointActivity"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "loyalty.points.redeemed": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "loyalty-points-redeemed",
        "summary": "Loyalty points redeemed",
        "description": "Fires on order confirmation when points were redeemed, and on admin `remove` activity.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "loyalty.points.redeemed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "loyalty.points.redeemed"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/LoyaltyPointActivity"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "tier.upgraded": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "tier-upgraded",
        "summary": "Loyalty tier upgraded",
        "description": "Fires when points earned on order completion move the customer to a higher tier.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "tier.upgraded"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "tier.upgraded"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/CustomerLoyalty"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "tier.downgraded": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "tier-downgraded",
        "summary": "Loyalty tier downgraded",
        "description": "Fires when a redemption reversal moves the customer to a lower tier.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "tier.downgraded"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "tier.downgraded"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/CustomerLoyalty"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "user.account.deleted": {
      "post": {
        "tags": [
          "Customers"
        ],
        "operationId": "user-account-deleted",
        "summary": "User account deleted",
        "description": "Fires when a user deletes their own account (`DELETE /auth/user/{id}`); the primary customer record is removed.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "user.account.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "user.account.deleted"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/CustomerUser"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.created": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-created",
        "summary": "Store created",
        "description": "Fires when a new store is provisioned (super-admin API key).",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/StoreConfig"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.updated": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-updated",
        "summary": "Store config updated",
        "description": "Fires on `POST /store/config`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/StoreConfig"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "warehouse.created": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "warehouse-created",
        "summary": "Warehouse created",
        "description": "Fires on `POST /store/warehouses`. Envelope also carries `store_channels` and `tenant_id`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "warehouse.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "warehouse.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Warehouse"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "warehouse.updated": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "warehouse-updated",
        "summary": "Warehouse updated",
        "description": "Fires on warehouse `PUT`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "warehouse.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "warehouse.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Warehouse"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "warehouse.deleted": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "warehouse-deleted",
        "summary": "Warehouse deleted",
        "description": "Fires after a non-default warehouse is deleted.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "warehouse.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "warehouse.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipping_zone.created": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "shipping-zone-created",
        "summary": "Shipping zone created",
        "description": "Fires on `POST /store/shipping-zones`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipping_zone.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipping_zone.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/ShippingZoneDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipping_zone.updated": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "shipping-zone-updated",
        "summary": "Shipping zone updated",
        "description": "Fires on shipping-zone `PUT`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipping_zone.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipping_zone.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/ShippingZoneDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "shipping_zone.deleted": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "shipping-zone-deleted",
        "summary": "Shipping zone deleted",
        "description": "Fires after a non-default zone is deleted.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "shipping_zone.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "shipping_zone.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.shipping_method.created": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-shipping-method-created",
        "summary": "Manual shipping method created",
        "description": "Fires on `POST /store/manual-shipping-methods`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.shipping_method.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.shipping_method.created"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.shipping_method.updated": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-shipping-method-updated",
        "summary": "Manual shipping method updated",
        "description": "Fires on manual-shipping-method `PUT`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.shipping_method.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.shipping_method.updated"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.shipping_method.deleted": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-shipping-method-deleted",
        "summary": "Manual shipping method deleted",
        "description": "Fires before a non-default method is deleted.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.shipping_method.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.shipping_method.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.template.created": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-template-created",
        "summary": "Store template created",
        "description": "Fires on `POST /store/templates`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.template.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.template.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/StoreTemplate"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.template.updated": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-template-updated",
        "summary": "Store template updated",
        "description": "Fires on template `PUT`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.template.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.template.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/StoreTemplate"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.template.deleted": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-template-deleted",
        "summary": "Store template deleted",
        "description": "Fires after a template is deleted.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.template.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.template.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.customer_group.created": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-customer-group-created",
        "summary": "Customer group created",
        "description": "Fires on `POST /store/customer-group`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.customer_group.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.customer_group.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/CustomerGroup"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.customer_group.updated": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-customer-group-updated",
        "summary": "Customer group updated",
        "description": "Fires on customer-group `PUT`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.customer_group.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.customer_group.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/CustomerGroup"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.customer_group.deleted": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-customer-group-deleted",
        "summary": "Customer group deleted",
        "description": "Fires after a customer group is deleted.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.customer_group.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.customer_group.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.kyc_document.created": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-kyc-document-created",
        "summary": "KYC document config created",
        "description": "Fires on `POST /store/kyc-document`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.kyc_document.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.kyc_document.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/KycDocumentConfig"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.kyc_document.updated": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-kyc-document-updated",
        "summary": "KYC document config updated",
        "description": "Fires on KYC-document config `PUT`.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.kyc_document.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.kyc_document.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/KycDocumentConfig"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "store.kyc_document.deleted": {
      "post": {
        "tags": [
          "Store"
        ],
        "operationId": "store-kyc-document-deleted",
        "summary": "KYC document config deleted",
        "description": "Fires after a KYC document config is deleted.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "store.kyc_document.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "store.kyc_document.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "seller.order.created": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "seller-order-created",
        "summary": "Seller order created",
        "description": "Fires for each seller on a marketplace order when the order is created.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "seller.order.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "seller.order.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "seller.order.confirmed": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "seller-order-confirmed",
        "summary": "Seller order confirmed",
        "description": "Fires for each seller when a marketplace order is confirmed.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "seller.order.confirmed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "seller.order.confirmed"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "seller.order.cancelled": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "seller-order-cancelled",
        "summary": "Seller order cancelled",
        "description": "Fires for each seller when a marketplace order is cancelled.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "seller.order.cancelled"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "seller.order.cancelled"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "seller.order.updated": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "seller-order-updated",
        "summary": "Seller order updated",
        "description": "Fires for each seller when a marketplace order is updated.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "seller.order.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "seller.order.updated"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "seller.order.completed": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "seller-order-completed",
        "summary": "Seller order completed",
        "description": "Fires for each seller when a marketplace order is completed.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "seller.order.completed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "seller.order.completed"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/OrderDetail"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "seller.shipment.created": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "seller-shipment-created",
        "summary": "Seller shipment created",
        "description": "Fires when a marketplace shipment with a seller warehouse is created.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "seller.shipment.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "seller.shipment.created"
                            ]
                          },
                          "properties": {
                            "$ref": "#/components/schemas/Shipment"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "seller.shipment.cancelled-and-refunded": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "seller-shipment-cancelled-and-refunded",
        "summary": "Seller shipment cancelled and refunded",
        "description": "Fires when a marketplace store cancels-and-refunds a seller-linked shipment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "seller.shipment.cancelled-and-refunded"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "seller.shipment.cancelled-and-refunded"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "seller.shipment.cancelled": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "seller-shipment-cancelled",
        "summary": "Seller shipment cancelled",
        "description": "Fires when the admin push-to-seller-store utility replays a cancelled marketplace shipment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "seller.shipment.cancelled"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "seller.shipment.cancelled"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.marketplace-sync.requested": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-marketplace-sync-requested",
        "summary": "Marketplace sync requested",
        "description": "Fires when a `marketplace-sync` catalog job is created; consumed by the marketplace to pull listings.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.marketplace-sync.requested"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.marketplace-sync.requested"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.marketplace-sync.completed": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-marketplace-sync-completed",
        "summary": "Marketplace sync completed",
        "description": "Fires when the marketplace finishes syncing every requested listing.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.marketplace-sync.completed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.marketplace-sync.completed"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.marketplace-sync.partially-completed": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-marketplace-sync-partially-completed",
        "summary": "Marketplace sync partially completed",
        "description": "Fires when some listings synced and some failed.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.marketplace-sync.partially-completed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.marketplace-sync.partially-completed"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.marketplace-sync.failed": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-marketplace-sync-failed",
        "summary": "Marketplace sync failed",
        "description": "Fires when no listing could be synced or the marketplace config is missing.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.marketplace-sync.failed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.marketplace-sync.failed"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.marketplace-listing.created": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-marketplace-listing-created",
        "summary": "Product marketplace listing created",
        "description": "Fires when a listing is saved that has not yet been synced to the marketplace (no `marketplace_item_id`), whether the row is new or not.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.marketplace-listing.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.marketplace-listing.created"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.marketplace-listing.updated": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-marketplace-listing-updated",
        "summary": "Product marketplace listing updated",
        "description": "Fires when a listing that already has a `marketplace_item_id` is saved again.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.marketplace-listing.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.marketplace-listing.updated"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.marketplace-listing.deleted": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-marketplace-listing-deleted",
        "summary": "Product marketplace listing deleted",
        "description": "Fires before a listing is removed.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.marketplace-listing.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.marketplace-listing.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.marketplace-listing.listed": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-marketplace-listing-listed",
        "summary": "Product listed on marketplace",
        "description": "Fires per listing on bulk list.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.marketplace-listing.listed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.marketplace-listing.listed"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.marketplace-listing.unlisted": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-marketplace-listing-unlisted",
        "summary": "Product unlisted from marketplace",
        "description": "Fires per listing on bulk unlist.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.marketplace-listing.unlisted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.marketplace-listing.unlisted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.variant.marketplace-listing.created": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-variant-marketplace-listing-created",
        "summary": "Variant marketplace listing created",
        "description": "Fires when a listing is saved that has not yet been synced to the marketplace (no `marketplace_item_id`), whether the row is new or not.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.variant.marketplace-listing.created"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.variant.marketplace-listing.created"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.variant.marketplace-listing.updated": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-variant-marketplace-listing-updated",
        "summary": "Variant marketplace listing updated",
        "description": "Fires when a listing that already has a `marketplace_item_id` is saved again.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.variant.marketplace-listing.updated"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.variant.marketplace-listing.updated"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.variant.marketplace-listing.deleted": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-variant-marketplace-listing-deleted",
        "summary": "Variant marketplace listing deleted",
        "description": "Fires before a listing is removed.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.variant.marketplace-listing.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.variant.marketplace-listing.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.variant.marketplace-listing.listed": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-variant-marketplace-listing-listed",
        "summary": "Variant listed on marketplace",
        "description": "Fires per listing on bulk list.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.variant.marketplace-listing.listed"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.variant.marketplace-listing.listed"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "product.variant.marketplace-listing.unlisted": {
      "post": {
        "tags": [
          "Marketplace"
        ],
        "operationId": "product-variant-marketplace-listing-unlisted",
        "summary": "Variant unlisted from marketplace",
        "description": "Fires per listing on bulk unlist.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "product.variant.marketplace-listing.unlisted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "product.variant.marketplace-listing.unlisted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    },
    "coupon.deleted": {
      "post": {
        "tags": [
          "Coupons & promotions"
        ],
        "operationId": "coupon-deleted",
        "summary": "Coupon deleted",
        "description": "Fires after a coupon is deleted. Payload is `{coupon_id, coupon_name}` because the row is gone before enrichment.",
        "parameters": [
          {
            "$ref": "#/components/parameters/WebhookEventHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookSignatureHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookEventIdHeader"
          },
          {
            "$ref": "#/components/parameters/WebhookDeliveryIdHeader"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/WebhookEnvelope"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "event": {
                        "type": "string",
                        "enum": [
                          "coupon.deleted"
                        ]
                      },
                      "payload": {
                        "type": "object",
                        "properties": {
                          "event": {
                            "type": "string",
                            "enum": [
                              "coupon.deleted"
                            ]
                          },
                          "properties": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "410": {
            "$ref": "#/components/responses/WebhookGone"
          },
          "2XX": {
            "$ref": "#/components/responses/WebhookAccepted"
          },
          "5XX": {
            "$ref": "#/components/responses/WebhookServerError"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AcceleratedRewardCouponPromotion": {
        "title": "AcceleratedRewardCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AcceleratedRewardCouponPromotion",
          "description": "API reference for the AcceleratedRewardCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/AcceleratedRewardRule"
              },
              "applies_to_product": {
                "enum": [
                  "product",
                  "category"
                ]
              }
            }
          }
        ]
      },
      "AcceleratedRewardRule": {
        "title": "AcceleratedRewardRule",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AcceleratedRewardRule",
          "description": "API reference for the AcceleratedRewardRule schema"
        },
        "required": [
          "products",
          "category_id",
          "bonus_loyalty_point"
        ],
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "minimum_quantity",
                "minimum_value"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "minimum_quantity": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "minimum_value": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "category_id": {
            "description": "Array of category ids.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "bonus_loyalty_point": {
            "type": "integer"
          }
        }
      },
      "AdminCurrency": {
        "title": "Currency",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "AdminCustomerGroup": {
        "title": "CustomerGroup",
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_default": {
            "description": "first record will be treated as default if not changed.",
            "type": "boolean"
          },
          "active": {
            "type": "boolean",
            "default": true
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "AdminKycDocumentConfig": {
        "title": "KycDocumentConfig",
        "type": "object",
        "required": [
          "document_type",
          "title",
          "is_mandatory",
          "is_attachment_required",
          "verification_type"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "document_type": {
            "description": "Kind of KYC document the store collects. Known values are `gst`, `pan`, `drug_license` and `other`; the set is store-configurable and not exhaustive.",
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "type": "boolean",
            "default": true
          },
          "is_mandatory": {
            "type": "boolean"
          },
          "is_attachment_required": {
            "type": "boolean"
          },
          "slug": {
            "type": "string",
            "readOnly": true
          },
          "verification_type": {
            "enum": [
              "auto",
              "manual"
            ]
          },
          "is_value_unique": {
            "description": "When `true`, the document number must be unique across customers in the store.",
            "type": "boolean",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "AdminSellerInfo": {
        "title": "SellerInfo",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "description": "Display name of the seller. Sent in place of `trade_name` and `legal_name` on the abbreviated form of this object.",
            "type": "string"
          },
          "trade_name": {
            "type": "string"
          },
          "legal_name": {
            "type": "string"
          },
          "business_type": {
            "$ref": "#/components/schemas/SellerBusinessType"
          },
          "tax_identification_number": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/SellerAccountStatus"
          },
          "kyc_status": {
            "$ref": "#/components/schemas/SellerKycStatus"
          },
          "visibility": {
            "description": "Visibility of the products of the seller. public: products are visible to all users, private: products are visible to only authenticated users.",
            "type": "string",
            "enum": [
              "public",
              "private"
            ]
          },
          "logo": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "AdminShipmentItem": {
        "title": "ShipmentItem",
        "description": "Shipment item model",
        "type": "object",
        "required": [
          "product_id",
          "variant_id",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string",
            "readOnly": true
          },
          "variant_id": {
            "description": "`null` for products without variants.",
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "sku": {
            "type": "string",
            "readOnly": true
          },
          "quantity": {
            "type": "integer"
          },
          "is_free_item": {
            "type": "boolean"
          },
          "free_quantity": {
            "type": "integer"
          },
          "selling_price": {
            "type": "number",
            "format": "double"
          },
          "seller_detail": {
            "description": "Seller detail information. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/SellerBasicDetail"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "AdminShipmentStatus": {
        "enum": [
          "unscheduled",
          "schedule_requested",
          "scheduled",
          "packed",
          "created",
          "shipped",
          "in_transit",
          "out_for_delivery",
          "delivery_attempted",
          "undelivered",
          "return_to_origin",
          "delivered",
          "cancelled",
          "lost",
          "sent_to_store",
          "processing",
          "ready_to_collect",
          "store_rejected"
        ]
      },
      "AppliedCoupon": {
        "title": "AppliedPromotion",
        "description": "Details about an active coupon applied to a cart/order",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AppliedCoupon",
          "description": "API reference for the AppliedCoupon schema"
        },
        "required": [
          "coupon_id",
          "coupon_type",
          "savings",
          "product_id",
          "variant_id",
          "product_name",
          "variant_name"
        ],
        "properties": {
          "coupon_id": {
            "type": "string"
          },
          "coupon_type": {
            "enum": [
              "discount",
              "free-goods",
              "fixed-price",
              "free-shipping",
              "buy-x-get-y",
              "volume-based",
              "accelerated-rewards"
            ]
          },
          "savings": {
            "type": "number"
          },
          "product_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "AppliedPromotion": {
        "title": "AppliedPromotion",
        "description": "Details about an active promotion applied to a cart/order",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AppliedPromotion",
          "description": "API reference for the AppliedPromotion schema"
        },
        "required": [
          "promotion_id",
          "promotion_type",
          "savings",
          "product_id",
          "variant_id",
          "product_name",
          "variant_name",
          "applied_sequence",
          "scope"
        ],
        "properties": {
          "promotion_id": {
            "type": "string"
          },
          "promotion_type": {
            "enum": [
              "discount",
              "free-goods",
              "free-shipping",
              "buy-x-get-y",
              "volume-based"
            ]
          },
          "savings": {
            "type": "number"
          },
          "product_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "applied_sequence": {
            "type": "number"
          },
          "scope": {
            "type": "string"
          }
        }
      },
      "AssociatedOption": {
        "title": "AssociatedOption",
        "description": "An object where each key is an option name, and the value describes the option details.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AssociatedOption",
          "description": "API reference for the AssociatedOption schema"
        },
        "additionalProperties": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/ColorOption"
            },
            {
              "$ref": "#/components/schemas/SingleSelectOption"
            }
          ]
        },
        "examples": [
          {
            "background_color": {
              "name": "Background Color",
              "value": {
                "name": "Blue",
                "hexcode": "#0000FF"
              },
              "type": "color"
            },
            "size": {
              "name": "Size",
              "value": "Large",
              "type": "single-select"
            }
          }
        ]
      },
      "Attribute": {
        "title": "Attribute",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "attribute_type": {
            "enum": [
              "text",
              "number",
              "boolean",
              "date",
              "single-select",
              "multi-select",
              "color"
            ]
          },
          "is_visible": {
            "type": "boolean"
          },
          "is_filterable": {
            "type": "boolean"
          },
          "active": {
            "type": "boolean"
          },
          "supports_variant_creation": {
            "type": "boolean"
          },
          "product_count": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "x-tags": [
          "Catalog"
        ]
      },
      "AutoScaleBasedOnAmount": {
        "title": "AutoScaleBasedOnAmount",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AutoScaleBasedOnAmount",
          "description": "API reference for the AutoScaleBasedOnAmount schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-purchase-amount"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "auto_scale",
                "slab"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "auto_scale": {
                  "type": "boolean",
                  "const": true
                },
                "slab": {
                  "type": "object",
                  "properties": {
                    "minimum_purchase_amount": {
                      "type": "number"
                    },
                    "get_quantity": {
                      "type": "integer"
                    },
                    "condition": {
                      "enum": [
                        "greater-or-equal"
                      ]
                    }
                  },
                  "required": [
                    "minimum_purchase_amount",
                    "get_quantity",
                    "condition"
                  ]
                }
              }
            }
          }
        }
      },
      "AutoScaleBasedOnQuantity": {
        "title": "AutoScaleBasedOnQuantity",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AutoScaleBasedOnQuantity",
          "description": "API reference for the AutoScaleBasedOnQuantity schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-quantity"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "auto_scale",
                "slab"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "auto_scale": {
                  "type": "boolean",
                  "const": true
                },
                "slab": {
                  "type": "object",
                  "properties": {
                    "buy_quantity": {
                      "type": "integer"
                    },
                    "get_quantity": {
                      "type": "integer"
                    },
                    "condition": {
                      "enum": [
                        "greater-or-equal"
                      ]
                    }
                  },
                  "required": [
                    "buy_quantity",
                    "get_quantity",
                    "condition"
                  ]
                }
              }
            }
          }
        }
      },
      "BankTransfer": {
        "title": "BankTransfer",
        "description": "Bank transfer payment - IMPS, NEFT, RTGS",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BankTransfer",
          "description": "API reference for the BankTransfer schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "bank_account_number": {
                "description": "masked account number\r\ne.g. ************1234",
                "type": "string"
              },
              "bank_name": {
                "type": "string"
              }
            }
          }
        ]
      },
      "BooleanAttribute": {
        "title": "BooleanAttribute",
        "description": "Attribute for boolean values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BooleanAttribute",
          "description": "API reference for the BooleanAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "boolean"
          },
          "value": {
            "description": "For boolean attributes",
            "type": "boolean"
          }
        }
      },
      "Brand": {
        "title": "Brand",
        "type": "object",
        "properties": {
          "name": {
            "description": "brand name. it will be used in emails and other communications.",
            "type": "string"
          },
          "logo_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "file_id": {
            "description": "Media gallery file id for the brand logo. Omitted or `null` when no logo file is linked.",
            "type": [
              "string",
              "null"
            ]
          },
          "social_media_links": {
            "description": "json object having key - value pair.\r\n\r\nexample - {\"facebook\": \"www.facebook.com/commecengine\"}",
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "additionalProperties": true,
        "x-tags": [
          "Store"
        ]
      },
      "BusinessInfo": {
        "title": "BusinessInfo",
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "business_type": {
            "description": "Free text on existing records; new values are one of SellerBusinessType.",
            "type": [
              "string",
              "null"
            ]
          },
          "pan_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "gstin": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_registered_under_gst": {
            "type": "boolean"
          }
        },
        "x-tags": [
          "Customers"
        ]
      },
      "BuyXGetYCouponPromotion": {
        "title": "BuyXGetYCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BuyXGetYCouponPromotion",
          "description": "API reference for the BuyXGetYCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/BuyXGetYRule"
              },
              "applies_to_product": {
                "enum": [
                  "product"
                ]
              }
            }
          }
        ]
      },
      "BuyXGetYRule": {
        "title": "BuyXGetYRule",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BuyXGetYRule",
          "description": "API reference for the BuyXGetYRule schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/BuyXGetYRuleBasedOnQuantity"
          },
          {
            "$ref": "#/components/schemas/BuyXGetYRuleBasedOnAmount"
          }
        ]
      },
      "BuyXGetYRuleBasedOnAmount": {
        "title": "BuyXGetYRuleBasedOnAmount",
        "description": "Additional fields required in addition to marked as required.\n1) buy_product_id or buy_variant_id or buy_from_category_id\n2) get_product_id or get_variant_id or get_from_category_id\n3) get_free_quantity or get_discount_percent",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BuyXGetYRuleBasedOnAmount",
          "description": "API reference for the BuyXGetYRuleBasedOnAmount schema"
        },
        "required": [
          "spending_criteria_type",
          "products",
          "maximum_discount_amount"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-purchase-amount"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "minimum_purchase_amount",
                "buy_product_id",
                "buy_variant_id",
                "buy_from_category_id",
                "get_product_id",
                "get_variant_id",
                "get_from_category_id",
                "get_quantity",
                "get_offer_type",
                "get_discount_percent"
              ],
              "properties": {
                "minimum_purchase_amount": {
                  "type": "number",
                  "minimum": 1
                },
                "buy_product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "buy_variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "buy_from_category_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_from_category_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_quantity": {
                  "type": "integer",
                  "minimum": 1
                },
                "get_offer_type": {
                  "enum": [
                    "discount",
                    "free"
                  ]
                },
                "get_discount_percent": {
                  "description": "It can be null for get_offer_type = free",
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "maximum_discount_amount": {
            "description": "It can be null for get_offer_type = free",
            "type": [
              "number",
              "null"
            ]
          }
        }
      },
      "BuyXGetYRuleBasedOnQuantity": {
        "title": "BuyXGetYRuleBasedOnQuantity",
        "description": "Additional fields required in addition to marked as required.\n1) buy_product_id or buy_variant_id or buy_from_category_id\n2) get_product_id or get_variant_id or get_from_category_id\n3) get_free_quantity or get_discount_percent",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BuyXGetYRuleBasedOnQuantity",
          "description": "API reference for the BuyXGetYRuleBasedOnQuantity schema"
        },
        "required": [
          "spending_criteria_type",
          "products",
          "maximum_discount_amount"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-quantity"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "minimum_quantity",
                "buy_product_id",
                "buy_variant_id",
                "buy_from_category_id",
                "get_product_id",
                "get_variant_id",
                "get_from_category_id",
                "get_quantity",
                "get_offer_type",
                "get_discount_percent"
              ],
              "properties": {
                "minimum_quantity": {
                  "type": "integer",
                  "minimum": 1
                },
                "buy_product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "buy_variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "buy_from_category_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_from_category_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_quantity": {
                  "type": "integer",
                  "minimum": 1
                },
                "get_offer_type": {
                  "enum": [
                    "discount",
                    "free"
                  ]
                },
                "get_discount_percent": {
                  "description": "It can be null for get_offer_type = free",
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "maximum_discount_amount": {
            "description": "It can be null for get_offer_type = free",
            "type": [
              "number",
              "null"
            ]
          }
        }
      },
      "CardPayment": {
        "title": "CardPayment",
        "description": "Payments using credit card, debit card",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CardPayment",
          "description": "API reference for the CardPayment schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "card_number": {
                "description": "masked card number\r\ne.g. ************1111",
                "type": "string"
              },
              "card_type": {
                "type": "string",
                "enum": [
                  "Visa",
                  "Master Card",
                  "Rupay",
                  "American Express"
                ]
              }
            }
          }
        ]
      },
      "Cart": {
        "title": "Cart",
        "description": "This cart model is structured to capture a wide range of details, facilitating accurate representation and management of user shopping carts in an e-commerce platform.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Cart",
          "description": "API reference for the Cart schema"
        },
        "required": [
          "id",
          "user_id",
          "customer_id",
          "active",
          "customer_note",
          "is_promotion_applied",
          "is_coupon_applied",
          "coupon_code",
          "coupon_discount_amount",
          "coupon_discount_percent",
          "promotion_discount_amount",
          "subtotal",
          "items_tax_amount",
          "subtotal_including_tax",
          "shipping_estimated_cost",
          "shipping_discount_amount",
          "shipping_amount",
          "shipping_tax_rate",
          "shipping_tax_amount",
          "shipping_amount_including_tax",
          "estimated_delivery_days",
          "handling_charge_excluding_tax",
          "handling_charge_tax_amount",
          "handling_charge_including_tax",
          "total_tax",
          "grand_total",
          "credit_balance_used",
          "to_be_paid",
          "loyalty_points_redeemed",
          "loyalty_points_earned",
          "cart_items_count",
          "cart_items",
          "billing_address",
          "shipping_address",
          "currency",
          "metadata",
          "expires_at",
          "applied_promotions",
          "applied_coupons",
          "shipments",
          "promotion_savings",
          "coupon_savings",
          "other_savings",
          "total_savings",
          "free_shipping_threshold",
          "status",
          "status_error_message"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier for the cart.",
            "type": "string",
            "pattern": "^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$"
          },
          "user_id": {
            "description": "The unique ID of the user who created the cart. For a logged-in storefront user this matches `customer_id`; for a POS cart it matches the operator's `pos_user_id` in `metadata`.",
            "type": "string"
          },
          "customer_id": {
            "description": "The unique ID of the customer the cart is for. `null` until a customer is linked. The cart never embeds customer details — fetch them from the customer endpoints so they are always current.",
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "description": "Indicates whether the cart is currently active or inactive.",
            "type": "boolean"
          },
          "customer_note": {
            "description": "customer note for shipping or product customization.",
            "type": [
              "string",
              "null"
            ]
          },
          "is_promotion_applied": {
            "description": "Indicates if a promotion is applied or not.",
            "type": "boolean"
          },
          "is_coupon_applied": {
            "description": "Indicates if a coupon is applied or not.",
            "type": "boolean"
          },
          "coupon_code": {
            "description": "Code of the applied coupon.",
            "type": [
              "string",
              "null"
            ]
          },
          "coupon_discount_amount": {
            "description": "Discount amount due to the coupon.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "coupon_discount_percent": {
            "description": "Discount amount due to the coupon.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "promotion_discount_amount": {
            "description": "Discount amount due to promotions(If Applied).",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "promotion_discount_percent": {
            "description": "Discount amount due to promotions(If Applied).",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "subtotal": {
            "description": "Subtotal amount for items in the cart.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "items_tax_amount": {
            "description": "Total tax amount for items.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "subtotal_including_tax": {
            "description": "Subtotal including tax.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "shipping_estimated_cost": {
            "description": "Estimated cost of shipping.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_discount_amount": {
            "description": "Discount applied on estimated shipping cost.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_amount": {
            "description": "Shipping amount chargable to customer.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_tax_rate": {
            "description": "Shipping tax rate applied on shipping amount.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_tax_amount": {
            "description": "Tax applied on shipping_amount.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_amount_including_tax": {
            "description": "Shipping amount including shipping tax.",
            "type": [
              "number",
              "null"
            ]
          },
          "fulfillment_preference": {
            "$ref": "#/components/schemas/FulfillmentPreference"
          },
          "estimated_delivery_days": {
            "type": [
              "integer",
              "null"
            ]
          },
          "handling_charge_excluding_tax": {
            "description": "The additional charge applied to cover the costs associated with processing, packaging, and handling an order. This fee is separate from shipping charges and may include materials, or special handling requirements.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_tax_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_including_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "total_tax": {
            "description": "Total tax amount for the entire cart.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "grand_total": {
            "description": "Grand total amount for the cart.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "credit_balance_used": {
            "description": "Amount of credit balance used.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "to_be_paid": {
            "description": "Amount to be paid by the customer.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "loyalty_points_redeemed": {
            "description": "Number of loyalty points redeemed.",
            "type": "integer",
            "minimum": 0
          },
          "loyalty_points_earned": {
            "description": "Number of loyalty points earned.",
            "type": "integer",
            "minimum": 0
          },
          "cart_items_count": {
            "description": "Number of items in the cart.",
            "type": "integer",
            "minimum": 0
          },
          "cart_items": {
            "description": "List containing detailed information about each item in the cart. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CartItem"
            }
          },
          "billing_address": {
            "description": "Details of the billing address.",
            "$ref": "#/components/schemas/CustomerAddress"
          },
          "shipping_address": {
            "description": "Details of the shipping address.",
            "$ref": "#/components/schemas/CustomerAddress"
          },
          "currency": {
            "description": "Details about the currency being used, including `name`, `code`, and `symbol`.",
            "$ref": "#/components/schemas/Currency"
          },
          "metadata": {
            "description": "Additional metadata associated with the cart.",
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            }
          },
          "expires_at": {
            "description": "ISO 8601 timestamp when this cart expires. After expiry, the cart is no longer valid and a new cart must be created.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "applied_promotions": {
            "description": "Information about the promotional offers that have been applied to the cart.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppliedPromotion"
            }
          },
          "applied_coupons": {
            "description": "This key provides details about the savings in cart after coupon have been applied to the cart.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppliedCoupon"
            }
          },
          "shipments": {
            "description": "List containing detailed information about each shipment in the cart.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CartShipment"
            }
          },
          "promotion_savings": {
            "description": "Total savings from auto-applied promotions.",
            "type": "number",
            "minimum": 0
          },
          "coupon_savings": {
            "description": "Total savings from the applied coupon code.",
            "type": "number",
            "minimum": 0
          },
          "other_savings": {
            "description": "Total savings from loyalty points, credit balance, and other non-promotion/coupon discounts.",
            "type": "number",
            "minimum": 0
          },
          "total_savings": {
            "description": "Combined savings across promotions, coupons, and other discounts (`promotion_savings` + `coupon_savings` + `other_savings`).",
            "type": "number",
            "minimum": 0
          },
          "free_shipping_threshold": {
            "description": "Free shipping threshold of the cart",
            "type": [
              "number",
              "null"
            ]
          },
          "status": {
            "description": "Checkout readiness of the cart. A cart is `ready-for-payment` only when it has items, a valid address, and a fulfillment preference set. Use `status_error_message` for the specific reason when `not-ready-for-payment`.",
            "type": "string",
            "default": "not-ready-for-payment",
            "enum": [
              "not-ready-for-payment",
              "ready-for-payment"
            ]
          },
          "status_error_message": {
            "description": "Human-readable reason why the cart is not ready for payment. `null` when `status` is `ready-for-payment`.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "examples": []
      },
      "CartItem": {
        "title": "CartItem",
        "description": "This Cart Item model captures the attributes of a cart item, including product details, pricing information, subscription details, and other relevant information related to Cart Item.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CartItem",
          "description": "API reference for the CartItem schema"
        },
        "required": [
          "product_id",
          "variant_id",
          "sku",
          "product_slug",
          "variant_slug",
          "product_name",
          "variant_name",
          "product_type",
          "product_image_url",
          "stock_available",
          "backorder",
          "on_subscription",
          "on_promotion",
          "quantity",
          "is_free_item",
          "free_quantity",
          "promotion_discount_amount",
          "coupon_discount_amount",
          "price_including_tax",
          "listing_price",
          "selling_price",
          "selling_price_excluding_tax",
          "min_order_quantity",
          "max_order_quantity",
          "incremental_quantity",
          "handling_charge_excluding_tax",
          "handling_charge_tax_rate",
          "handling_charge_including_tax",
          "tax_type",
          "tax_rate",
          "tax_amount",
          "associated_options",
          "attributes",
          "subscriptions"
        ],
        "properties": {
          "product_id": {
            "description": "Unique identifier for the product.",
            "type": "string",
            "pattern": "^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$"
          },
          "variant_id": {
            "description": "The product variant identifier. `null` if the product has no variants.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$"
          },
          "sku": {
            "description": "Stock Keeping Unit, a unique identifier for the product within inventory.",
            "type": [
              "string",
              "null"
            ],
            "examples": [
              "SKU1254"
            ]
          },
          "product_name": {
            "description": "Name of the product.",
            "type": "string"
          },
          "variant_name": {
            "description": "Name of the variant.",
            "type": [
              "string",
              "null"
            ]
          },
          "product_slug": {
            "type": "string"
          },
          "variant_slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_type": {
            "type": "string",
            "enum": [
              "physical",
              "digital",
              "bundle"
            ],
            "examples": [
              "physical"
            ]
          },
          "product_image_url": {
            "description": "URL pointing to the product image.",
            "type": "string"
          },
          "stock_available": {
            "description": "Indicates whether the product is currently in stock.",
            "type": "boolean"
          },
          "backorder": {
            "description": "Indicates whether the item is being fulfilled as a backorder. When true, the item is not currently in stock and will ship later once inventory is available. This may result in the order being split into multiple shipments, with delays for the backordered portion.",
            "type": "boolean"
          },
          "on_subscription": {
            "description": "Indicates whether the product is currently on a subscription.",
            "type": "boolean"
          },
          "on_promotion": {
            "description": "Indicates whether the product is part of a promotion.",
            "type": "boolean"
          },
          "quantity": {
            "description": "The quantity of the product in the cart.",
            "type": "integer"
          },
          "is_free_item": {
            "description": "Indicates if the product is offered for free.",
            "type": "boolean"
          },
          "free_quantity": {
            "description": "Quantity of the product that is free.",
            "type": "integer"
          },
          "promotion_discount_amount": {
            "description": "Discount amount due to promotions.",
            "type": "number",
            "format": "double"
          },
          "coupon_discount_amount": {
            "description": "Discount amount due to applied coupons.",
            "type": "number",
            "format": "double"
          },
          "price_including_tax": {
            "description": "Indicates whether the item price is inclusive of taxes.",
            "type": "boolean",
            "examples": [
              false
            ]
          },
          "listing_price": {
            "type": "number",
            "format": "double",
            "example": 200
          },
          "selling_price": {
            "type": "number",
            "format": "double",
            "example": 199
          },
          "selling_price_excluding_tax": {
            "type": "number",
            "format": "double"
          },
          "min_order_quantity": {
            "type": "integer",
            "default": 1
          },
          "max_order_quantity": {
            "type": [
              "integer",
              "null"
            ]
          },
          "incremental_quantity": {
            "type": "integer",
            "default": 1
          },
          "handling_charge_excluding_tax": {
            "description": "Additional cost for shipping associated with the product.",
            "type": "number",
            "minimum": 0,
            "readOnly": true
          },
          "handling_charge_tax_rate": {
            "description": "Additional cost for shipping associated with the product.",
            "type": "number",
            "minimum": 0,
            "readOnly": true
          },
          "handling_charge_including_tax": {
            "description": "Additional cost for shipping associated with the product.",
            "type": "number",
            "minimum": 0,
            "readOnly": true
          },
          "tax_type": {
            "description": "Type of tax applied (e.g., GST).",
            "type": "string",
            "default": "GST",
            "const": "GST"
          },
          "tax_rate": {
            "description": "The rate of tax applied to the product.",
            "type": "number",
            "format": "double"
          },
          "tax_amount": {
            "description": "The total tax amount for the product.",
            "type": "number",
            "format": "double"
          },
          "associated_options": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AssociatedOption",
                "description": "Used when `variant_id` is not null."
              },
              {
                "type": "null",
                "description": "Null when `variant_id` is null."
              }
            ]
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAttribute"
            }
          },
          "subscriptions": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ProductSubscription"
            }
          },
          "seller_id": {
            "description": "Seller ID. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "type": [
              "string",
              "null"
            ]
          },
          "seller_detail": {
            "description": "Seller detail information. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/SellerInfo"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "examples": []
      },
      "CartShipment": {
        "title": "CartShipment",
        "description": "Cart shipment model",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CartShipment",
          "description": "API reference for the CartShipment schema"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "shipping_provider_id": {
            "type": "string"
          },
          "shipping_provider_name": {
            "type": "string"
          },
          "courier_company_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "courier_company_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount_including_tax": {
            "type": "number",
            "format": "double"
          },
          "shipment_items_count": {
            "type": "integer"
          },
          "shipment_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentItem"
            }
          }
        }
      },
      "Category": {
        "title": "Category",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Category",
          "description": "API reference for the Category schema"
        },
        "required": [
          "id",
          "name",
          "slug",
          "description",
          "parent_category_id",
          "product_count",
          "active"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "slug": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "parent_category_id": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "product_count": {
            "type": "integer"
          },
          "active": {
            "type": "boolean"
          }
        },
        "examples": []
      },
      "CollectInStoreFulfillment": {
        "title": "CollectInStoreFulfillment",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CollectInStoreFulfillment",
          "description": "API reference for the CollectInStoreFulfillment schema"
        },
        "required": [
          "fulfillment_type",
          "pickup_location_id"
        ],
        "properties": {
          "fulfillment_type": {
            "type": "string",
            "const": "collect-in-store"
          },
          "preference_type": {
            "type": "string",
            "enum": [
              "user",
              "auto"
            ],
            "readOnly": true
          },
          "pickup_location_id": {
            "type": "string"
          },
          "pickup_location_name": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ColorAttribute": {
        "title": "ColorAttribute",
        "description": "Attribute for colors",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ColorAttribute",
          "description": "API reference for the ColorAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "color"
          },
          "value": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "hexcode"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "hexcode": {
                  "description": "The hex code of the color (e.g., #000000).",
                  "type": "string",
                  "format": "color-hex",
                  "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$"
                }
              }
            }
          }
        }
      },
      "ColorOption": {
        "title": "ColorOption",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ColorOption",
          "description": "API reference for the ColorOption schema"
        },
        "required": [
          "name",
          "type",
          "value"
        ],
        "properties": {
          "name": {
            "description": "The name of the associated option.",
            "type": "string"
          },
          "type": {
            "description": "The type of the associated option.",
            "const": "color"
          },
          "value": {
            "type": "object",
            "properties": {
              "hexcode": {
                "type": "string",
                "description": "The hex code of the color (e.g., #000000).",
                "format": "color-hex",
                "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$"
              },
              "name": {
                "type": "string",
                "description": "The name of the color."
              }
            },
            "required": [
              "name",
              "hexcode"
            ]
          }
        }
      },
      "Comparison": {
        "title": "Comparison",
        "oneOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "gt"
            ],
            "properties": {
              "gt": {
                "type": "number",
                "minimum": 0
              }
            },
            "title": "Greater than"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "gte"
            ],
            "properties": {
              "gte": {
                "type": "number",
                "minimum": 0
              }
            },
            "title": "Greater than or equal"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "lt"
            ],
            "properties": {
              "lt": {
                "type": "number",
                "minimum": 0
              }
            },
            "title": "Less than"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "lte"
            ],
            "properties": {
              "lte": {
                "type": "number",
                "minimum": 0
              }
            },
            "title": "Less than or equal"
          }
        ]
      },
      "Country": {
        "title": "Country",
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          },
          "iso_code": {
            "type": "string"
          },
          "currency_code": {
            "type": "string"
          },
          "currency_symbol": {
            "type": "string"
          },
          "currency_name": {
            "type": "string"
          },
          "flag_icon_url": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "alias": {
            "type": "string"
          },
          "active": {
            "type": "boolean",
            "default": true
          },
          "all_states": {
            "type": "boolean",
            "default": true
          },
          "states": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CountryState"
            }
          },
          "total_states": {
            "description": "Total number of states or provinces defined for the country in Commerce Engine.",
            "type": "integer",
            "readOnly": true
          },
          "states_count": {
            "description": "Number of states or provinces included in this shipping zone country entry.",
            "type": "integer",
            "readOnly": true
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "CountryState": {
        "title": "CountryState",
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "iso_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "gst_code": {
            "type": "string"
          },
          "active": {
            "type": "boolean",
            "default": true
          },
          "alias": {
            "type": "string"
          }
        }
      },
      "Coupon": {
        "title": "Coupon",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Coupon",
          "description": "API reference for the Coupon schema"
        },
        "allOf": [
          {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DiscountCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/FreeGoodCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/FixedPriceCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/BuyXGetYCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/VolumeBasedCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/FreeShippingCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/AcceleratedRewardCouponPromotion"
              }
            ]
          },
          {
            "type": "object",
            "required": [
              "coupon_type",
              "coupon_code",
              "application_rules",
              "can_be_used_with_promotion"
            ],
            "properties": {
              "coupon_type": {
                "enum": [
                  "discount",
                  "free-goods",
                  "fixed-price",
                  "free-shipping",
                  "buy-x-get-y",
                  "volume-based",
                  "accelerated-rewards"
                ]
              },
              "coupon_code": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "application_rules": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "max_applicable_items": {
                    "type": "integer"
                  },
                  "application_priority": {
                    "enum": [
                      "cheapest_first",
                      "most_expensive_first",
                      "first_added"
                    ]
                  }
                },
                "required": [
                  "max_applicable_items",
                  "application_priority"
                ]
              },
              "can_be_used_with_promotion": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "CouponPromotionCommonDetail": {
        "title": "CouponPromotionCommonDetail",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CouponPromotionCommonDetail",
          "description": "API reference for the CouponPromotionCommonDetail schema"
        },
        "required": [
          "id",
          "name",
          "description",
          "tags",
          "redemption_limits",
          "redemption_count",
          "minimum_order_total",
          "starts_at",
          "expires_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "redemption_limits": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "total_redemptions": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "per_customer_redemptions": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "per_coupon_code_redemptions": {
                "type": [
                  "integer",
                  "null"
                ]
              }
            },
            "required": [
              "total_redemptions",
              "per_customer_redemptions",
              "per_coupon_code_redemptions"
            ]
          },
          "redemption_count": {
            "type": "integer",
            "readOnly": true
          },
          "minimum_order_total": {
            "type": [
              "integer",
              "null"
            ],
            "default": 0
          },
          "starts_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "CreditLineConfig": {
        "title": "CreditLineConfig",
        "type": "object",
        "required": [
          "is_enabled",
          "customer_eligibility",
          "total_credit_limit",
          "payment_method_slugs"
        ],
        "properties": {
          "is_enabled": {
            "description": "Enables the credit line feature for the store. When `false`, customers cannot place orders using their credit line.",
            "type": "boolean",
            "default": false
          },
          "customer_eligibility": {
            "description": "Controls which customers can access the credit line.\n\n- `all` - every customer is eligible.\n- `specific` - only customers who have been individually approved are eligible.",
            "enum": [
              "specific",
              "all"
            ]
          },
          "total_credit_limit": {
            "description": "Default spending limit assigned to a customer when their credit line is approved.",
            "type": "number"
          },
          "mandate_per_order_limit": {
            "description": "(Optional) Default upper cap on the mandate amount issued to a customer. Must be greater than or equal to `total_credit_limit`. If not provided, `total_credit_limit` will be automatically assigned as the mandate per order limit.",
            "type": "number"
          },
          "credit_period": {
            "description": "Credit period in days. If not provided, the credit period will be automatically assigned as 21 days.",
            "type": "number",
            "default": 21
          },
          "payment_method_slugs": {
            "description": "Array of payment method slugs to be used for the credit line.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "writeOnly": true
          },
          "payment_methods": {
            "description": "Payment methods to be used for the credit line.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreditLinePaymentMethod"
            },
            "readOnly": true
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "CreditLinePaymentMethod": {
        "title": "CreditLinePaymentMethod",
        "description": "A payment method linked to the store credit line, as returned inside `StoreConfig.credit_line`. Read-only projection of a manual payment method or a connected payment provider - unlike `ManualPaymentMethod`, this shape carries branding (`type`, `logo_dark`, `logo_light`).",
        "type": "object",
        "required": [
          "name",
          "description"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "type": {
            "description": "`manual` for store-defined payment methods; `auto` for connected payment service providers.",
            "enum": [
              "auto",
              "manual"
            ]
          },
          "used_in_credit_line": {
            "description": "`true` when the option is linked in the store credit-line payment method configuration.",
            "type": "boolean",
            "readOnly": true
          },
          "status": {
            "enum": [
              "active",
              "inactive"
            ],
            "readOnly": true
          },
          "logo_dark": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "logo_light": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "readOnly": true
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "Currency": {
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Currency",
          "description": "API reference for the Currency schema"
        },
        "required": [
          "name",
          "code",
          "symbol"
        ],
        "properties": {
          "name": {
            "type": "string",
            "examples": [
              "Indian Rupee"
            ]
          },
          "code": {
            "type": "string",
            "examples": [
              "INR"
            ],
            "maxLength": 3,
            "minLength": 3
          },
          "symbol": {
            "type": "string",
            "examples": [
              "₹"
            ]
          }
        }
      },
      "Customer": {
        "title": "Customer",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerInfo"
          },
          {
            "type": "object",
            "properties": {
              "business": {
                "description": "`null` for customers that are not registered as a business.",
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/BusinessInfo"
                  }
                ]
              },
              "segments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomerSegment"
                }
              }
            }
          }
        ],
        "x-tags": [
          "Customers"
        ]
      },
      "CustomerAddress": {
        "title": "CustomerAddress",
        "type": [
          "object",
          "null"
        ],
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CustomerAddress",
          "description": "API reference for the CustomerAddress schema"
        },
        "required": [
          "first_name",
          "last_name",
          "country_code",
          "phone",
          "email",
          "address_line1",
          "address_line2",
          "landmark",
          "pincode",
          "city",
          "state",
          "country",
          "tax_identification_number",
          "business_name",
          "is_phone_verified",
          "is_email_verified"
        ],
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$",
            "readOnly": true
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "country_code": {
            "description": "Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.\r\n",
            "type": "string"
          },
          "phone": {
            "description": "10 digit phone number without country code.",
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "address_line1": {
            "type": "string"
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string",
            "const": "India"
          },
          "tax_identification_number": {
            "description": "Tax Identification Number specific to the country of operation.",
            "type": [
              "string",
              "null"
            ],
            "examples": []
          },
          "business_name": {
            "description": "Use in billing & shipping details only.",
            "type": [
              "string",
              "null"
            ]
          },
          "is_default_billing": {
            "description": "Indicates if the address is the default billing address for the customer.",
            "type": "boolean"
          },
          "is_default_shipping": {
            "description": "Indicates if the address is the default shipping address for the customer.",
            "type": "boolean"
          },
          "is_phone_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_email_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "nickname": {
            "description": "Nickname for the address.",
            "type": [
              "string",
              "null"
            ],
            "default": null
          }
        },
        "examples": []
      },
      "CustomerGroup": {
        "title": "CustomerGroup",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CustomerGroup",
          "description": "API reference for the CustomerGroup schema"
        },
        "required": [
          "id",
          "name",
          "slug",
          "description",
          "is_default",
          "active"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_default": {
            "description": "first record will be treated as default if not changed.",
            "type": "boolean"
          },
          "active": {
            "type": "boolean",
            "default": true
          }
        }
      },
      "CustomerInfo": {
        "title": "CustomerInfo",
        "type": "object",
        "properties": {
          "id": {
            "description": "user id",
            "type": "string",
            "readOnly": true
          },
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "full_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "profile_image_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "country_code": {
            "type": "string"
          },
          "phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_phone_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_email_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_whatsapp_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "status": {
            "description": "`null` for customers with no status recorded.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CustomerStatus"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "last_seen": {
            "description": "Empty string when the customer has no recorded activity yet.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "kyc_status": {
            "$ref": "#/components/schemas/KycStatus"
          },
          "is_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "customer_group_id": {
            "description": "The Customer Group the customer belongs to. Drives group-specific pricing and promotions.",
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          }
        },
        "x-tags": [
          "Customers"
        ]
      },
      "CustomerLoyalty": {
        "title": "CustomerLoyalty",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CustomerLoyalty",
          "description": "API reference for the CustomerLoyalty schema"
        },
        "properties": {
          "membership_number": {
            "description": "The unique membership number assigned to the customer.",
            "type": "string"
          },
          "date_of_join": {
            "description": "The date and time when the customer first enrolled in the loyalty program.",
            "type": "string",
            "format": "date-time"
          },
          "date_of_assign": {
            "description": "The date and time when the customer's current loyalty program instance was assigned. This may change when loyalty program is reassigned.",
            "type": "string",
            "format": "date-time"
          },
          "date_of_reset": {
            "description": "The date and time when the customer's loyalty program instance will be reset. Null if loyalty program renewal type is 'never'.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "current_tier": {
            "description": "The customer's current loyalty tier. `null` when the customer has no tier assigned.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerLoyaltyTier"
              },
              {
                "type": "null"
              }
            ]
          },
          "next_tier": {
            "description": "The next loyalty tier above the customer's current tier. `null` when the customer has no tier or is already at the highest tier.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerLoyaltyTier"
              },
              {
                "type": "null"
              }
            ]
          },
          "points_earned": {
            "type": "integer"
          },
          "points_redeemed": {
            "type": "integer"
          },
          "points_balance": {
            "type": "integer"
          },
          "total_orders": {
            "description": "The total number of completed orders counted in the current loyalty program.",
            "type": "integer"
          },
          "lifetime_orders": {
            "type": "integer"
          },
          "total_spent": {
            "description": "The total amount a customer has spent within the current loyalty program, excluding taxes, promotional discounts, and redeemed loyalty points. This value is used to determine tier eligibility and earning points calculation.",
            "type": "number"
          },
          "lifetime_spent": {
            "type": "number"
          },
          "lifetime_savings": {
            "type": "number"
          }
        }
      },
      "CustomerLoyaltyTier": {
        "title": "CustomerLoyaltyTier",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CustomerLoyaltyTier",
          "description": "API reference for the CustomerLoyaltyTier schema"
        },
        "required": [
          "id",
          "name",
          "total_spent_threshold",
          "total_orders_threshold",
          "points_earning_rate",
          "fixed_points"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "total_spent_threshold": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "total_orders_threshold": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "points_earning_rate": {
            "type": [
              "number",
              "null"
            ]
          },
          "fixed_points": {
            "type": [
              "integer",
              "null"
            ]
          }
        }
      },
      "CustomerSegment": {
        "title": "CustomerSegment",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "x-tags": [
          "Customers"
        ]
      },
      "CustomerStatus": {
        "enum": [
          "active",
          "inactive"
        ]
      },
      "CustomerUser": {
        "title": "CustomerUser",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ],
            "format": "email"
          },
          "phone": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          },
          "status": {
            "description": "Activation status used by customer user access controls.",
            "type": "string"
          },
          "is_primary": {
            "description": "Whether this is the customer's primary user.",
            "type": "boolean"
          },
          "is_phone_verified": {
            "type": "boolean"
          },
          "is_email_verified": {
            "type": "boolean"
          },
          "profile_image_url": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "login_methods": {
            "description": "Authentication methods enabled for the user.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "x-tags": [
          "Customers"
        ]
      },
      "CustomSlabsBasedOnAmount": {
        "title": "CustomSlabsBasedOnAmount",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CustomSlabsBasedOnAmount",
          "description": "API reference for the CustomSlabsBasedOnAmount schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-purchase-amount"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "slabs"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "slabs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "minimum_purchase_amount",
                      "get_quantity",
                      "condition"
                    ],
                    "properties": {
                      "minimum_purchase_amount": {
                        "type": "number"
                      },
                      "get_quantity": {
                        "type": "integer"
                      },
                      "condition": {
                        "enum": [
                          "greater-or-equal"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CustomSlabsBasedOnQuantity": {
        "title": "CustomSlabsBasedOnQuantity",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CustomSlabsBasedOnQuantity",
          "description": "API reference for the CustomSlabsBasedOnQuantity schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-quantity"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "slabs"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "slabs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "buy_quantity",
                      "get_quantity",
                      "condition"
                    ],
                    "properties": {
                      "buy_quantity": {
                        "type": "integer"
                      },
                      "get_quantity": {
                        "type": "integer"
                      },
                      "condition": {
                        "enum": [
                          "greater-or-equal"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "DateAttribute": {
        "title": "DateAttribute",
        "description": "Attribute for date values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DateAttribute",
          "description": "API reference for the DateAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "date"
          },
          "value": {
            "description": "For date attributes",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "DeliveryFulfillment": {
        "title": "DeliveryFulfillment",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DeliveryFulfillment",
          "description": "API reference for the DeliveryFulfillment schema"
        },
        "required": [
          "fulfillment_type",
          "shipments"
        ],
        "properties": {
          "fulfillment_type": {
            "type": "string",
            "const": "delivery"
          },
          "preference_type": {
            "type": "string",
            "enum": [
              "user",
              "auto"
            ],
            "readOnly": true
          },
          "shipments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "shipping_provider_id": {
                  "type": [
                    "string"
                  ]
                },
                "shipping_provider_name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "readOnly": true
                },
                "courier_company_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "courier_company_name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "readOnly": true
                }
              },
              "required": [
                "id",
                "shipping_provider_id"
              ]
            }
          }
        }
      },
      "DiscountAction": {
        "title": "DiscountAction",
        "type": "object",
        "required": [
          "type",
          "mode",
          "value"
        ],
        "properties": {
          "type": {
            "type": "string",
            "const": "discount"
          },
          "mode": {
            "type": "string",
            "enum": [
              "percent",
              "absolute"
            ]
          },
          "value": {
            "description": "Percentage (0–100) or absolute amount off",
            "type": "number",
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "DiscountBasedPromotion": {
        "title": "DiscountBasedPromotion",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DiscountBasedPromotion",
          "description": "API reference for the DiscountBasedPromotion schema"
        },
        "required": [
          "promotion_type",
          "discount_type"
        ],
        "properties": {
          "promotion_type": {
            "type": "string",
            "enum": [
              "discount",
              "volume-based",
              "fixed-price",
              "free-goods"
            ],
            "const": "discount"
          },
          "discount_type": {
            "type": "string",
            "enum": [
              "percentage",
              "fixed-amount"
            ]
          },
          "discount_percent": {
            "description": "'> 0' if discount_type = percentage, otherwise set 0.",
            "type": "number"
          },
          "discount_fixed_amount": {
            "description": "'> 0' if discount_type = fixed-amount, otherwise set 0.",
            "type": "integer"
          }
        }
      },
      "DiscountCouponPromotion": {
        "title": "DiscountCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DiscountCouponPromotion",
          "description": "API reference for the DiscountCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/DiscountRule"
              },
              "applies_to_product": {
                "enum": [
                  "all",
                  "product",
                  "category"
                ]
              }
            }
          }
        ]
      },
      "DiscountRule": {
        "title": "DiscountRule",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DiscountRule",
          "description": "API reference for the DiscountRule schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/PercentageDiscountRule"
          },
          {
            "$ref": "#/components/schemas/FixedAmountDiscountRule"
          }
        ]
      },
      "DynamicAction": {
        "title": "DynamicAction",
        "type": "object",
        "required": [
          "type",
          "rounding"
        ],
        "properties": {
          "type": {
            "type": "string",
            "const": "dynamic"
          },
          "rounding": {
            "$ref": "#/components/schemas/Rounding"
          }
        },
        "additionalProperties": false
      },
      "FixedAmountDiscountRule": {
        "title": "FixedAmountDiscountRule",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedAmountDiscountRule",
          "description": "API reference for the FixedAmountDiscountRule schema"
        },
        "required": [
          "discount_type",
          "fixed_discount_amount",
          "products",
          "category_id"
        ],
        "properties": {
          "discount_type": {
            "type": "string",
            "const": "fixed-amount"
          },
          "fixed_discount_amount": {
            "type": "number"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "minimum_quantity",
                "maximum_quantity",
                "minimum_value",
                "maximum_value"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "minimum_quantity": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "maximum_quantity": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "minimum_value": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "maximum_value": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "category_id": {
            "description": "Array of category ids",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "FixedChargeAction": {
        "title": "FixedChargeAction",
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "type": {
            "type": "string",
            "const": "fixed-charge"
          },
          "value": {
            "description": "Flat charge amount",
            "type": "number",
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "FixedPriceCouponPromotion": {
        "title": "FixedPriceCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedPriceCouponPromotion",
          "description": "API reference for the FixedPriceCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/FixedPriceRule"
              },
              "applies_to_product": {
                "enum": [
                  "product"
                ]
              }
            }
          }
        ]
      },
      "FixedPricePromotion": {
        "title": "FixedPricePromotion",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedPricePromotion",
          "description": "API reference for the FixedPricePromotion schema"
        },
        "required": [
          "promotion_type",
          "offer_price"
        ],
        "properties": {
          "promotion_type": {
            "type": "string",
            "enum": [
              "discount",
              "volume-based",
              "fixed-price",
              "free-goods"
            ],
            "const": "fixed-price",
            "readOnly": true
          },
          "offer_price": {
            "type": "number"
          }
        }
      },
      "FixedPriceRule": {
        "title": "FixedPriceRule",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedPriceRule",
          "description": "API reference for the FixedPriceRule schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/FixedPriceRuleBasedQuantity"
          },
          {
            "$ref": "#/components/schemas/FixedPriceRuleBasedAmount"
          }
        ]
      },
      "FixedPriceRuleBasedAmount": {
        "title": "FixedPriceRuleBasedAmount",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedPriceRuleBasedAmount",
          "description": "API reference for the FixedPriceRuleBasedAmount schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-purchase-amount"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "minimum_purchase_amount",
                "maximum_purchase_amount",
                "offer_price"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "minimum_purchase_amount": {
                  "type": "number"
                },
                "maximum_purchase_amount": {
                  "description": "null means there is no limit.",
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "offer_price": {
                  "type": "number"
                }
              }
            }
          }
        }
      },
      "FixedPriceRuleBasedQuantity": {
        "title": "FixedPriceRuleBasedQuantity",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedPriceRuleBasedQuantity",
          "description": "API reference for the FixedPriceRuleBasedQuantity schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-quantity"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "minimum_quantity",
                "maximum_quantity",
                "offer_price"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "minimum_quantity": {
                  "type": "integer",
                  "minimum": 1
                },
                "maximum_quantity": {
                  "description": "null means there is no limit.",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "offer_price": {
                  "type": "number"
                }
              }
            }
          }
        }
      },
      "FreeAction": {
        "title": "FreeAction",
        "type": "object",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "const": "free"
          }
        },
        "additionalProperties": false
      },
      "FreeGoodCouponPromotion": {
        "title": "FreeGoodCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FreeGoodCouponPromotion",
          "description": "API reference for the FreeGoodCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/FreeGoodsRule"
              },
              "applies_to_product": {
                "enum": [
                  "product"
                ]
              }
            }
          }
        ]
      },
      "FreeGoodsPromotion": {
        "title": "FreeGoodsPromotion",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FreeGoodsPromotion",
          "description": "API reference for the FreeGoodsPromotion schema"
        },
        "required": [
          "promotion_type",
          "buy_quantity",
          "get_quantity"
        ],
        "properties": {
          "promotion_type": {
            "type": "string",
            "enum": [
              "discount",
              "volume-based",
              "fixed-price",
              "free-goods"
            ],
            "const": "free-goods",
            "readOnly": true
          },
          "buy_quantity": {
            "description": "The quantity of items a customer must buy to receive free goods.",
            "type": "integer"
          },
          "get_quantity": {
            "description": "The quantity of free goods the customer receives.",
            "type": "integer"
          }
        }
      },
      "FreeGoodsRule": {
        "title": "FreeGoodsRule",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FreeGoodsRule",
          "description": "API reference for the FreeGoodsRule schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/AutoScaleBasedOnQuantity"
          },
          {
            "$ref": "#/components/schemas/AutoScaleBasedOnAmount"
          },
          {
            "$ref": "#/components/schemas/CustomSlabsBasedOnQuantity"
          },
          {
            "$ref": "#/components/schemas/CustomSlabsBasedOnAmount"
          }
        ]
      },
      "FreeShippingCouponPromotion": {
        "title": "FreeShippingCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FreeShippingCouponPromotion",
          "description": "API reference for the FreeShippingCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/FreeShippingDetails"
              },
              "applies_to_product": {
                "type": "string",
                "const": "all"
              }
            }
          }
        ]
      },
      "FreeShippingDetails": {
        "title": "FreeShippingDetails",
        "description": "Free shipping has no rule; always an empty array.",
        "type": "array",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FreeShippingDetails",
          "description": "API reference for the FreeShippingDetails schema"
        },
        "default": [],
        "maxItems": 0
      },
      "FulfillmentItem": {
        "title": "FulfillmentItem",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FulfillmentItem",
          "description": "API reference for the FulfillmentItem schema"
        },
        "required": [
          "product_id",
          "product_name",
          "variant_id",
          "variant_name",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string",
            "readOnly": true
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "quantity": {
            "type": "integer"
          }
        }
      },
      "FulfillmentPreference": {
        "title": "FulfillmentPreference",
        "description": "How the customer wants to receive their order. Discriminated by `fulfillment_type`: `delivery` for home delivery, `collect-in-store` for in-store pickup, or `partial-collect-and-delivery` for a mix of both.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FulfillmentPreference",
          "description": "API reference for the FulfillmentPreference schema"
        },
        "discriminator": {
          "propertyName": "fulfillment_type",
          "mapping": {
            "collect-in-store": "#/components/schemas/CollectInStoreFulfillment",
            "delivery": "#/components/schemas/DeliveryFulfillment",
            "partial-collect-and-delivery": "#/components/schemas/PartialCollectAndDelivery"
          }
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/CollectInStoreFulfillment"
          },
          {
            "$ref": "#/components/schemas/DeliveryFulfillment"
          },
          {
            "$ref": "#/components/schemas/PartialCollectAndDelivery"
          }
        ],
        "x-tags": [
          "Carts"
        ]
      },
      "Invoice": {
        "title": "Invoice",
        "description": "Invoice model",
        "type": "object",
        "properties": {
          "invoice_number": {
            "type": "string"
          },
          "status": {
            "description": "Current state of the invoice, e.g. `\"printed\"`.",
            "type": "string"
          },
          "invoice_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "irn_number": {
            "description": "Invoice Reference Number",
            "type": [
              "string",
              "null"
            ]
          },
          "ack_number": {
            "description": "Acknowledgement Number",
            "type": [
              "string",
              "null"
            ]
          },
          "ack_date": {
            "description": "Acknowledgement Date",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "signed_qr_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "gatepass_barcode": {
            "type": [
              "string",
              "null"
            ]
          },
          "seller_details": {
            "description": "Party the invoice is raised by: the seller record for marketplace seller invoices, the warehouse for single-seller stores, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdminSellerInfo"
              },
              {
                "$ref": "#/components/schemas/Warehouse"
              },
              {
                "type": "null"
              }
            ]
          },
          "billing_address": {
            "$ref": "#/components/schemas/OrderAddress"
          },
          "shipping_address": {
            "$ref": "#/components/schemas/OrderAddress"
          },
          "subtotal": {
            "type": "number"
          },
          "sub_total": {
            "type": "number"
          },
          "sub_total_including_tax": {
            "type": "number"
          },
          "shipping_amount": {
            "type": "number"
          },
          "shipping_amount_including_tax": {
            "type": "number"
          },
          "coupon_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "coupon_discount_percent": {
            "type": [
              "number",
              "null"
            ]
          },
          "coupon_discount_amount": {
            "type": [
              "number",
              "null"
            ]
          },
          "promotion_discount_amount": {
            "type": "number"
          },
          "loyalty_point_redeemed": {
            "type": "number"
          },
          "total_tax": {
            "type": "number"
          },
          "grand_total": {
            "type": "number"
          },
          "tax_summary": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tax_rate": {
                  "type": "number"
                },
                "taxable_value": {
                  "type": "number"
                },
                "igst": {
                  "type": "number"
                },
                "cgst": {
                  "type": "number"
                },
                "sgst": {
                  "type": "number"
                }
              }
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "modified_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "InvoiceDetail": {
        "title": "InvoiceDetail",
        "description": "InvoiceDetail model",
        "allOf": [
          {
            "$ref": "#/components/schemas/Invoice"
          },
          {
            "type": "object",
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvoiceItem"
                }
              }
            }
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "InvoiceItem": {
        "title": "InvoiceItem",
        "description": "InvoiceItem model",
        "type": "object",
        "properties": {
          "sku": {
            "type": "string"
          },
          "product_name": {
            "type": "string"
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "listing_price": {
            "type": "number"
          },
          "selling_price": {
            "type": "number"
          },
          "qty": {
            "description": "Quantity invoiced. Sent as a numeric string, not a number.",
            "type": "string"
          },
          "free_qty": {
            "description": "Quantity supplied free of charge. Sent as a numeric string, not a number.",
            "type": "string"
          },
          "tax_type": {
            "type": "string"
          },
          "tax_rate": {
            "type": "number"
          },
          "hsncode": {
            "type": "string"
          },
          "batch_no": {
            "type": [
              "string",
              "null"
            ]
          },
          "expiry": {
            "type": [
              "string",
              "null"
            ]
          },
          "amount": {
            "type": "number"
          },
          "coupon_discount_amount": {
            "type": "number"
          },
          "promotion_discount_amount": {
            "type": "number"
          },
          "selling_price_excluding_tax": {
            "type": "number"
          },
          "item_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "order_item_id": {
            "type": "string"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "Item": {
        "title": "SKU",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Item",
          "description": "API reference for the Item schema"
        },
        "required": [
          "product_id",
          "variant_id",
          "sku",
          "product_slug",
          "variant_slug",
          "product_name",
          "variant_name",
          "product_type",
          "short_description",
          "active",
          "stock_available",
          "on_subscription",
          "on_promotion",
          "category_ids",
          "tags",
          "reviews_count",
          "reviews_rating_sum",
          "attributes",
          "images",
          "pricing",
          "promotion",
          "subscription",
          "associated_options"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "sku": {
            "type": "string"
          },
          "product_slug": {
            "type": "string"
          },
          "variant_slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_name": {
            "type": "string"
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_type": {
            "type": "string",
            "enum": [
              "physical",
              "digital",
              "bundle"
            ],
            "examples": [
              "physical"
            ]
          },
          "short_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "type": "boolean"
          },
          "stock_available": {
            "type": "boolean"
          },
          "backorder": {
            "description": "Indicates whether the item is being fulfilled as a backorder. When true, the item is not currently in stock and will ship later once inventory is available. This may result in the order being split into multiple shipments, with delays for the backordered portion.",
            "type": "boolean"
          },
          "on_subscription": {
            "type": "boolean"
          },
          "on_promotion": {
            "type": "boolean"
          },
          "category_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "description": "Expanded category objects.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Category"
            }
          },
          "tags": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "reviews_count": {
            "type": "integer"
          },
          "reviews_rating_sum": {
            "type": [
              "number",
              "null"
            ]
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAttribute"
            }
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductImage"
            }
          },
          "pricing": {
            "$ref": "#/components/schemas/ProductPricing"
          },
          "promotion": {
            "$ref": "#/components/schemas/ProductPromotion"
          },
          "subscription": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductSubscription"
            }
          },
          "associated_options": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AssociatedOption",
                "description": "Used when `variant_id` is not null."
              },
              {
                "type": "null",
                "description": "Null when `variant_id` is null."
              }
            ]
          },
          "shipping": {
            "$ref": "#/components/schemas/ProductShipping"
          },
          "inventory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LotBatchDetail"
            }
          }
        },
        "examples": []
      },
      "KycDocument": {
        "title": "KycDocument",
        "type": "object",
        "required": [
          "document_number",
          "document_type_id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "document_number": {
            "type": "string"
          },
          "note": {
            "type": [
              "string",
              "null"
            ]
          },
          "file": {
            "description": "file attachment will be required or optional as per store setting.",
            "type": "string",
            "format": "binary",
            "writeOnly": true
          },
          "document_type_id": {
            "type": "string"
          },
          "document_type_slug": {
            "description": "Document type slug from store KYC configuration. Populated for marketplace stores; `null` or omitted otherwise.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "status": {
            "enum": [
              "submitted",
              "approved",
              "rejected"
            ],
            "readOnly": true
          },
          "title": {
            "type": "string",
            "readOnly": true
          },
          "file_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "verification_type": {
            "enum": [
              "auto",
              "manual"
            ],
            "readOnly": true
          },
          "is_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "verified_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true
          },
          "created_by": {
            "description": "Actor that created the record. Typical values are `customer`, `admin`, or `import`; an empty string means unset on older records.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "created_by_user_id": {
            "type": "string",
            "readOnly": true
          },
          "created_at": {
            "description": "`YYYY-MM-DD HH:MM:SS` (UTC), not RFC 3339.",
            "type": "string",
            "readOnly": true
          },
          "modified_by": {
            "description": "Actor that last modified the record. Typical values are `customer`, `admin`, or `import`; an empty string means unset on older records.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "modified_by_user_id": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "modified_at": {
            "description": "`YYYY-MM-DD HH:MM:SS` (UTC), not RFC 3339.",
            "type": "string",
            "readOnly": true
          },
          "modified_reason": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          }
        },
        "additionalProperties": true,
        "x-tags": [
          "Customers"
        ]
      },
      "KycDocumentConfig": {
        "title": "KycDocumentConfig",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/KycDocumentConfig",
          "description": "API reference for the KycDocumentConfig schema"
        },
        "required": [
          "id",
          "document_type",
          "title",
          "description",
          "active",
          "is_mandatory",
          "is_attachment_required",
          "verification_type"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "document_type": {
            "enum": [
              "gst",
              "pan",
              "other"
            ]
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "type": "boolean",
            "default": true
          },
          "is_mandatory": {
            "type": "boolean"
          },
          "is_attachment_required": {
            "type": "boolean"
          },
          "slug": {
            "type": "string",
            "readOnly": true
          },
          "verification_type": {
            "enum": [
              "auto",
              "manual"
            ]
          },
          "is_value_unique": {
            "description": "When `true`, the document number must be unique across customers in the store.",
            "type": "boolean",
            "readOnly": true
          }
        }
      },
      "KycStatus": {
        "description": "KYC progress for a customer. `document_pending` means required documents have not been uploaded; `submitted` and `submitted_for_approval` mean they are awaiting review.",
        "enum": [
          "pending",
          "document_pending",
          "submitted",
          "submitted_for_approval",
          "approved",
          "rejected"
        ]
      },
      "LotBatchDetail": {
        "title": "LotBatchDetail",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/LotBatchDetail",
          "description": "API reference for the LotBatchDetail schema"
        },
        "required": [
          "lot_batch",
          "mfg_date",
          "exp_date",
          "manufacturer",
          "stock_quantity"
        ],
        "properties": {
          "lot_batch": {
            "type": "string"
          },
          "mfg_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "exp_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "manufacturer": {
            "type": [
              "string",
              "null"
            ]
          },
          "stock_quantity": {
            "type": "integer"
          }
        }
      },
      "LoyaltyPointActivity": {
        "title": "LoyaltyPointActivity",
        "description": "Loyalty Point Activity",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/LoyaltyPointActivity",
          "description": "API reference for the LoyaltyPointActivity schema"
        },
        "properties": {
          "action": {
            "description": "The action that occurred.",
            "type": "string",
            "enum": [
              "add",
              "remove"
            ]
          },
          "activity": {
            "description": "The activity that occurred.",
            "type": "string",
            "enum": [
              "order-placed",
              "credit-note-issued",
              "tier-upgrade",
              "tier-downgrade",
              "points-expired",
              "points-carryforward",
              "signup",
              "bonus",
              "other"
            ]
          },
          "reference_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "loyalty_points": {
            "type": "integer"
          },
          "remarks": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "modified_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ManualPaymentMethod": {
        "title": "ManualPaymentMethod",
        "type": "object",
        "required": [
          "name",
          "description",
          "payment_instructions"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "used_in_credit_line": {
            "description": "`true` when the option is linked in the store credit-line payment method configuration.",
            "type": "boolean",
            "readOnly": true
          },
          "is_connected": {
            "description": "Derived from `status`. `true` when `status` is `active`.",
            "type": "boolean",
            "readOnly": true
          },
          "payment_instructions": {
            "type": "string"
          },
          "mark_as_paid": {
            "description": "When `true`, orders using this method can be marked paid without an online capture flow.",
            "type": "boolean",
            "readOnly": true
          },
          "status": {
            "enum": [
              "active",
              "inactive"
            ],
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "readOnly": true
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "ManualShippingRateCondition": {
        "title": "ManualShippingRateCondition",
        "anyOf": [
          {
            "$ref": "#/components/schemas/ShippingRateBasedOnItemWeight"
          },
          {
            "$ref": "#/components/schemas/ShippingRateBasedOnOrderValue"
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "MultiSelectAttribute": {
        "title": "MultiSelectAttribute",
        "description": "Attribute for multi-select values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/MultiSelectAttribute",
          "description": "API reference for the MultiSelectAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "multi-select"
          },
          "value": {
            "description": "For multi-select attributes",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "NachPayment": {
        "title": "NachPayment",
        "description": "NACH mandate payment via LotusPay.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/NachPayment",
          "description": "API reference for the NachPayment schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          }
        ]
      },
      "NetbankingPayment": {
        "title": "NetbankingPayment",
        "description": "Payments using payment gateway netbanking option.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/NetbankingPayment",
          "description": "API reference for the NetbankingPayment schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "bank_name": {
                "type": "string"
              }
            }
          }
        ]
      },
      "NumberAttribute": {
        "title": "NumberAttribute",
        "description": "Attribute for numeric values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/NumberAttribute",
          "description": "API reference for the NumberAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "number"
          },
          "value": {
            "description": "For numeric attributes",
            "type": "number"
          }
        }
      },
      "OpeningHours": {
        "type": "object",
        "required": [
          "monday",
          "tuesday",
          "wednesday",
          "thursday",
          "friday",
          "saturday",
          "sunday"
        ],
        "properties": {
          "monday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "tuesday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "wednesday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "thursday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "friday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "saturday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "sunday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          }
        }
      },
      "Order": {
        "title": "Order",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Order",
          "description": "API reference for the Order schema"
        },
        "required": [
          "applied_promotions",
          "applied_coupons"
        ],
        "properties": {
          "order_number": {
            "description": "Unique, human-readable order identifier used across all order endpoints.",
            "type": "string"
          },
          "order_date": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "description": "Current fulfillment status of the order. Progresses from `confirmed` through shipping stages to `complete`.",
            "type": "string",
            "enum": [
              "draft",
              "awaiting_approval",
              "confirmed",
              "partially_scheduled",
              "awaiting_shipment",
              "shipped",
              "partially_shipped",
              "undelivered",
              "partially_undelivered",
              "return_to_origin",
              "partially_return_to_origin",
              "complete",
              "partially_delivered",
              "cancelled",
              "pending"
            ]
          },
          "payment_status": {
            "description": "Current payment status. Poll `/orders/{order_number}/payment-status` after a payment attempt until this is `success` or `failed`.",
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failed",
              "partially_paid"
            ]
          },
          "payment_success_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "customer_note": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_promotion_applied": {
            "type": "boolean"
          },
          "promotion_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "promotion_discount_percent": {
            "type": "number",
            "format": "double"
          },
          "is_coupon_applied": {
            "type": "boolean"
          },
          "coupon_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "coupon_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "coupon_discount_percent": {
            "type": "number",
            "format": "double"
          },
          "applied_promotions": {
            "description": "Information about the promotional offers that have been applied to the cart.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppliedPromotion"
            }
          },
          "applied_coupons": {
            "description": "This key provides details about the savings in cart after coupon have been applied to the cart.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppliedCoupon"
            }
          },
          "promotion_savings": {
            "description": "Total savings from auto-applied promotions.",
            "type": "number",
            "format": "float",
            "minimum": 0
          },
          "coupon_savings": {
            "description": "Total savings from the applied coupon code.",
            "type": "number",
            "format": "float",
            "minimum": 0
          },
          "other_savings": {
            "description": "Total savings from loyalty points, credit balance, and other non-promotion/coupon discounts.",
            "type": "number",
            "format": "float",
            "minimum": 0
          },
          "total_savings": {
            "description": "Combined savings across promotions, coupons, and other discounts.",
            "type": "number",
            "format": "float",
            "minimum": 0
          },
          "on_subscription": {
            "type": "boolean"
          },
          "subtotal": {
            "type": "number",
            "format": "double"
          },
          "item_total_tax": {
            "type": "number",
            "format": "double"
          },
          "subtotal_including_tax": {
            "type": "number",
            "format": "double"
          },
          "shipping_estimated_cost": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "shipping_discount_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_rate": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "shipping_tax_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "shipping_amount_including_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "fulfillment_preference": {
            "$ref": "#/components/schemas/FulfillmentPreference"
          },
          "estimated_delivery_days": {
            "type": [
              "integer",
              "null"
            ]
          },
          "handling_charge_excluding_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_tax_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_including_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "total_tax": {
            "type": "number",
            "format": "double"
          },
          "grand_total": {
            "type": "number",
            "format": "double"
          },
          "loyalty_points_earned": {
            "type": "integer",
            "minimum": 0
          },
          "loyalty_points_redeemed": {
            "type": "integer",
            "minimum": 0
          },
          "credit_balance_used": {
            "type": "integer"
          },
          "to_be_paid": {
            "type": "number",
            "format": "double"
          },
          "order_items_count": {
            "type": "integer"
          },
          "order_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderItem"
            }
          },
          "billing_address": {
            "$ref": "#/components/schemas/CustomerAddress"
          },
          "shipping_address": {
            "$ref": "#/components/schemas/CustomerAddress"
          },
          "currency": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "code": {
                "type": "string"
              },
              "symbol": {
                "type": "string"
              }
            }
          },
          "metadata": {
            "description": "Additional metadata associated with the order.",
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            }
          },
          "is_cancellation_allowed": {
            "description": "Whether the order is eligible for cancellation. Only show the cancel action in your UI when this is `true`.",
            "type": "boolean"
          },
          "cancellation_refund_details": {
            "description": "Breakdown of the refund the customer would receive upon cancellation. Only populated when `is_cancellation_allowed` is `true`.",
            "type": "object",
            "properties": {
              "loyalty_point": {
                "description": "loyalty point redeemed will be rollbacked and credited to user account.",
                "type": "integer"
              },
              "refundable_amount": {
                "description": "amount that will be refunded to customer.",
                "type": "number"
              },
              "cancellation_charges": {
                "description": "amount deducted from paid amount.",
                "type": "number"
              },
              "cancellation_charges_reason": {
                "description": "reason for cancellation charges.",
                "type": "string"
              },
              "payment_mode": {
                "description": "payment mode for refund.",
                "type": "string",
                "enum": [
                  "original-payment-mode",
                  "bank-transfer",
                  "nach-mandate"
                ]
              }
            }
          },
          "feedback": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "OrderAddress": {
        "title": "OrderAddress",
        "description": "Address snapshot captured at checkout for an order or invoice.",
        "type": "object",
        "required": [
          "first_name",
          "phone",
          "email",
          "address_line1",
          "pincode",
          "city",
          "state",
          "country"
        ],
        "properties": {
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "country_code": {
            "description": "Phone country calling code, e.g. +91.",
            "type": "string"
          },
          "phone": {
            "description": "10 digit phone number without country code.",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line1": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "gstin": {
            "description": "Use in shipping details only for third party.",
            "type": [
              "string",
              "null"
            ]
          },
          "business_name": {
            "description": "Use in shipping details only for third party.",
            "type": [
              "string",
              "null"
            ]
          },
          "is_phone_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_email_verified": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "x-tags": [
          "Orders"
        ]
      },
      "OrderDetail": {
        "title": "OrderDetail",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/OrderDetail",
          "description": "API reference for the OrderDetail schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/Order"
          },
          {
            "type": "object",
            "properties": {
              "payments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderPayment"
                }
              },
              "shipments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderShipment"
                }
              }
            }
          }
        ]
      },
      "OrderItem": {
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/OrderItem",
          "description": "API reference for the OrderItem schema"
        },
        "required": [
          "product_id",
          "product_name",
          "product_image_url",
          "product_type",
          "sku",
          "product_slug",
          "variant_slug",
          "variant_id",
          "variant_name",
          "backorder",
          "on_promotion",
          "on_subscription",
          "subscription_plan",
          "subscription_interval",
          "subscription_frequency",
          "quantity",
          "free_quantity",
          "is_free_item",
          "price_including_tax",
          "selling_price",
          "listing_price",
          "selling_price_excluding_tax",
          "promotion_discount_amount",
          "coupon_discount_amount",
          "tax_type",
          "tax_rate",
          "tax_amount",
          "handling_charge_excluding_tax",
          "handling_charge_tax_rate",
          "handling_charge_including_tax"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string"
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_type": {
            "enum": [
              "physical",
              "digital",
              "bundle"
            ]
          },
          "sku": {
            "type": "string"
          },
          "product_slug": {
            "type": "string"
          },
          "variant_slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "backorder": {
            "description": "backorder\n\nIndicates whether the item is being fulfilled as a backorder. When true, the item is not currently in stock and will ship later once inventory is available. This may result in the order being split into multiple shipments, with delays for the backordered portion.",
            "type": "boolean"
          },
          "on_promotion": {
            "type": "boolean"
          },
          "on_subscription": {
            "type": "boolean"
          },
          "subscription_plan": {
            "type": [
              "string",
              "null"
            ]
          },
          "subscription_interval": {
            "type": [
              "integer",
              "null"
            ]
          },
          "subscription_frequency": {
            "type": [
              "string",
              "null"
            ]
          },
          "quantity": {
            "type": "integer",
            "minimum": 0
          },
          "free_quantity": {
            "type": "integer",
            "minimum": 0
          },
          "is_free_item": {
            "type": "boolean"
          },
          "price_including_tax": {
            "type": "boolean"
          },
          "selling_price": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "listing_price": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "selling_price_excluding_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "promotion_discount_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "coupon_discount_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "tax_type": {
            "type": "string",
            "default": "GST",
            "const": "GST",
            "examples": [
              "GST"
            ]
          },
          "tax_rate": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "tax_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_excluding_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_tax_rate": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_including_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "associated_options": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AssociatedOption",
                "description": "Used when `variant_id` is not null."
              },
              {
                "type": "null",
                "description": "Null when `variant_id` is null."
              }
            ]
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAttribute"
            }
          },
          "seller_id": {
            "description": "Seller ID. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "type": [
              "string",
              "null"
            ]
          },
          "seller_detail": {
            "description": "Seller detail information. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/SellerInfo"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "OrderPayment": {
        "title": "OrderPayment",
        "description": "Order Payment",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/OrderPayment",
          "description": "API reference for the OrderPayment schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/CardPayment"
          },
          {
            "$ref": "#/components/schemas/NetbankingPayment"
          },
          {
            "$ref": "#/components/schemas/UpiPayment"
          },
          {
            "$ref": "#/components/schemas/WalletPayment"
          },
          {
            "$ref": "#/components/schemas/BankTransfer"
          },
          {
            "$ref": "#/components/schemas/NachPayment"
          }
        ]
      },
      "OrderRefund": {
        "title": "OrderRefund",
        "description": "Order refund model",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/OrderRefund",
          "description": "API reference for the OrderRefund schema"
        },
        "properties": {
          "request_number": {
            "type": "string"
          },
          "refund_amount": {
            "type": "number",
            "format": "double"
          },
          "refund_date": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "success",
              "failed"
            ]
          },
          "payment_mode": {
            "type": "string",
            "enum": [
              "original-payment-mode",
              "loyalty-point",
              "bank-transfer",
              "nach-mandate"
            ]
          },
          "payment_method": {
            "type": "string"
          },
          "payment_reference_number": {
            "type": "string"
          },
          "bank_account_number": {
            "type": "string"
          },
          "bank_name": {
            "type": "string"
          },
          "refund_remarks": {
            "type": "string"
          }
        }
      },
      "OrderShipment": {
        "title": "OrderShipment",
        "description": "Order shipment model",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/OrderShipment",
          "description": "API reference for the OrderShipment schema"
        },
        "properties": {
          "reference_number": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ShipmentStatus"
          },
          "total_weight": {
            "type": "number"
          },
          "total_boxes": {
            "type": "integer"
          },
          "shipment_items_count": {
            "type": "integer"
          },
          "shipment_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentItem"
            }
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount_including_tax": {
            "type": "number",
            "format": "double"
          },
          "courier_company_name": {
            "type": "string"
          },
          "shipping_label_url": {
            "type": "string"
          },
          "awb_no": {
            "type": "string"
          },
          "tracking_url": {
            "type": "string"
          },
          "eta_delivery": {
            "type": "string"
          },
          "shipped_date": {
            "type": "string",
            "format": "date-time"
          },
          "delivered_date": {
            "type": "string",
            "format": "date-time"
          },
          "is_return_allowed": {
            "type": "boolean",
            "default": false
          },
          "cancellation_reason": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "modified_at": {
            "type": "string",
            "format": "date-time"
          },
          "seller_id": {
            "description": "Seller ID. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "type": [
              "string",
              "null"
            ]
          },
          "seller_detail": {
            "description": "Seller detail information. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/SellerInfo"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "OrderStatus": {
        "enum": [
          "draft",
          "awaiting_approval",
          "confirmed",
          "schedule_requested",
          "partially_scheduled",
          "awaiting_shipment",
          "shipped",
          "partially_shipped",
          "undelivered",
          "partially_undelivered",
          "return_to_origin",
          "partially_return_to_origin",
          "complete",
          "partially_delivered",
          "cancelled",
          "pending",
          "lost",
          "sent_to_store",
          "store_rejected"
        ]
      },
      "OtherServiceProvider": {
        "title": "OtherServiceProvider",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "alias": {
            "type": "string",
            "readOnly": true
          },
          "logo": {
            "description": "Primary logo URL. Same as `logo_light` for most providers.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "service_sub_type": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "service_type": {
            "$ref": "#/components/schemas/ServiceProviderType",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "readOnly": true
          },
          "short_description": {
            "type": "string",
            "readOnly": true
          },
          "logo_dark": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "logo_light": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "website_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "api_doc_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "required_credentials_params": {
            "description": "json object in key & value pair.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input_field_name": {
                  "type": "string"
                },
                "input_field_label": {
                  "type": "string"
                },
                "input_field_type": {
                  "enum": [
                    "text",
                    "number",
                    "boolean",
                    "email",
                    "password"
                  ]
                }
              }
            },
            "readOnly": true
          },
          "is_connected": {
            "type": "boolean",
            "default": false,
            "readOnly": true
          },
          "is_connection_expired": {
            "type": "boolean",
            "default": true,
            "readOnly": true
          },
          "supports_test_connection": {
            "type": "boolean",
            "default": true,
            "readOnly": true
          },
          "api_credentials": {
            "description": "Connected credential values. Keys match `required_credentials_params[].input_field_name`. Returned as `null`, or as an empty array `[]`, when the provider has no stored credentials.",
            "type": [
              "object",
              "array",
              "null"
            ],
            "additionalProperties": true,
            "readOnly": true
          },
          "status": {
            "default": "active",
            "enum": [
              "active",
              "inactive",
              "error"
            ]
          },
          "features": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "is_supported": {
                  "type": "boolean"
                },
                "features": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "is_supported": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            },
            "readOnly": true
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "PartialCollectAndDelivery": {
        "title": "PartialCollectAndDelivery",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PartialCollectAndDelivery",
          "description": "API reference for the PartialCollectAndDelivery schema"
        },
        "required": [
          "fulfillment_type",
          "collect-in-store",
          "delivery"
        ],
        "properties": {
          "fulfillment_type": {
            "type": "string",
            "const": "partial-collect-and-delivery"
          },
          "preference_type": {
            "type": "string",
            "enum": [
              "user",
              "auto"
            ],
            "readOnly": true
          },
          "collect-in-store": {
            "type": "object",
            "properties": {
              "pickup_location_id": {
                "type": "string"
              },
              "pickup_location_name": {
                "type": "string",
                "readOnly": true
              },
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentItem"
                }
              }
            },
            "required": [
              "items",
              "pickup_location_id"
            ]
          },
          "delivery": {
            "type": "object",
            "properties": {
              "shipping_provider_id": {
                "type": "string"
              },
              "shipping_provider_name": {
                "type": [
                  "string",
                  "null"
                ],
                "readOnly": true
              },
              "courier_company_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "courier_company_name": {
                "type": [
                  "string",
                  "null"
                ],
                "readOnly": true
              },
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentItem"
                }
              }
            },
            "required": [
              "shipping_provider_id",
              "items"
            ]
          }
        }
      },
      "PaymentInfo": {
        "title": "PaymentInfo",
        "description": "Common fields in all types of payments.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PaymentInfo",
          "description": "API reference for the PaymentInfo schema"
        },
        "properties": {
          "transaction_type": {
            "type": "string",
            "enum": [
              "payment",
              "refund"
            ]
          },
          "request_number": {
            "type": "string"
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "payment_status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failed",
              "partially_paid",
              "refund_initiated"
            ]
          },
          "payment_date": {
            "type": "string",
            "format": "date-time"
          },
          "payment_reference_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "payment_method": {
            "type": [
              "string",
              "null"
            ]
          },
          "icon_url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PayoutConfig": {
        "title": "PayoutConfig",
        "type": "object",
        "required": [
          "payment_option",
          "payment_methods"
        ],
        "properties": {
          "payment_option": {
            "description": "Controls how seller payouts are disbursed.\n\n- `auto` - payout batches are settled through the connected payment providers listed in `payment_methods`.\n\n- `manual` - payouts are settled outside the platform, so no provider is linked and `payment_methods` is empty.",
            "enum": [
              "auto",
              "manual"
            ]
          },
          "payment_methods": {
            "description": "Payment providers used to settle payout batches. When writing, send only `slug` and `is_default` for each entry; the response returns each fully expanded `PayoutPaymentMethod`. Send an empty array when `payment_option` is `manual`.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PayoutPaymentMethod"
            }
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "PayoutPaymentMethod": {
        "title": "PayoutPaymentMethod",
        "type": "object",
        "required": [
          "slug"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "slug": {
            "description": "Slug of the payment provider to pay out through, for example `juspay` or `icici-cib`. The only identifier required when writing the payout configuration.",
            "type": "string"
          },
          "description": {
            "type": "string",
            "readOnly": true
          },
          "status": {
            "enum": [
              "active",
              "inactive"
            ],
            "readOnly": true
          },
          "type": {
            "description": "`auto` for connected payment service providers; `manual` for store-defined payment methods.",
            "enum": [
              "auto",
              "manual"
            ],
            "readOnly": true
          },
          "used_in_payout": {
            "description": "`true` when the provider is linked in the store payout configuration.",
            "type": "boolean",
            "readOnly": true
          },
          "is_default": {
            "description": "Marks the provider used to settle payout batches by default. Exactly one entry should be `true` when `payment_option` is `auto`.",
            "type": "boolean",
            "default": false
          },
          "logo_dark": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "logo_light": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "PercentageDiscountRule": {
        "title": "PercentageDiscountRule",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PercentageDiscountRule",
          "description": "API reference for the PercentageDiscountRule schema"
        },
        "required": [
          "discount_type",
          "discount_percent",
          "maximum_discount_amount",
          "products",
          "category_id"
        ],
        "properties": {
          "discount_type": {
            "type": "string",
            "const": "percentage"
          },
          "discount_percent": {
            "type": "number"
          },
          "maximum_discount_amount": {
            "type": [
              "number",
              "null"
            ]
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "minimum_quantity",
                "maximum_quantity",
                "minimum_value",
                "maximum_value"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "minimum_quantity": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "maximum_quantity": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "minimum_value": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "maximum_value": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "category_id": {
            "description": "Array of category ids",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ProductAttribute": {
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductAttribute",
          "description": "API reference for the ProductAttribute schema"
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "color": "#/components/schemas/ColorAttribute",
            "single-select": "#/components/schemas/SingleSelectAttribute",
            "multi-select": "#/components/schemas/MultiSelectAttribute",
            "text": "#/components/schemas/TextAttribute",
            "date": "#/components/schemas/DateAttribute",
            "number": "#/components/schemas/NumberAttribute",
            "boolean": "#/components/schemas/BooleanAttribute"
          }
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ColorAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/SingleSelectAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/MultiSelectAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/TextAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/DateAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/NumberAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/BooleanAttribute",
            "type": "object"
          }
        ]
      },
      "ProductImage": {
        "title": "ProductImage",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductImage",
          "description": "API reference for the ProductImage schema"
        },
        "required": [
          "id",
          "title",
          "alternate_text",
          "sort_order",
          "url_tiny",
          "url_thumbnail",
          "url_standard",
          "url_zoom"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "alternate_text": {
            "type": [
              "string",
              "null"
            ]
          },
          "sort_order": {
            "type": "integer"
          },
          "url_tiny": {
            "type": "string"
          },
          "url_thumbnail": {
            "type": "string"
          },
          "url_standard": {
            "type": "string"
          },
          "url_zoom": {
            "type": "string"
          }
        },
        "examples": []
      },
      "ProductInventory": {
        "title": "ProductInventory",
        "type": "object",
        "properties": {
          "variant_id": {
            "description": "required only if product has_variant = true. otherwise it can be excluded or pass null.\n",
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "description": "`null` for products without variants.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "product_id": {
            "type": "string",
            "readOnly": true
          },
          "product_name": {
            "type": "string",
            "readOnly": true
          },
          "update_other_variants": {
            "description": "Can be used for the product having variants. if true, same inventry details will be updated to other variants which are not mentioned in request body.",
            "type": "boolean",
            "writeOnly": true
          },
          "track_quantity": {
            "type": "boolean"
          },
          "track_lot_batch": {
            "type": "boolean"
          },
          "allow_backorder": {
            "type": "boolean"
          },
          "low_stock_threshold": {
            "type": "integer",
            "readOnly": true
          },
          "stock_available": {
            "type": "boolean",
            "readOnly": true
          },
          "stock": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "warehouse_id",
                "stock_quantity"
              ],
              "properties": {
                "sku": {
                  "type": "string",
                  "readOnly": true
                },
                "warehouse": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/WarehouseBasicDetail"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "opening_stock_date": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time"
                },
                "warehouse_id": {
                  "type": "string"
                },
                "warehouse_name": {
                  "type": "string",
                  "readOnly": true
                },
                "received_quantity": {
                  "type": "number",
                  "readOnly": true
                },
                "reserved_quantity": {
                  "type": "number",
                  "readOnly": true
                },
                "sold_quantity": {
                  "type": "number",
                  "readOnly": true
                },
                "adjusted_quantity": {
                  "type": "number",
                  "readOnly": true
                },
                "stock_quantity": {
                  "description": "Send `null` to clear the stock of a deactivated warehouse.",
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "lot_batch": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "mfg_date": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date"
                },
                "exp_date": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date"
                },
                "manufacturer": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "readOnly": true
                },
                "modified_at": {
                  "type": "string",
                  "format": "date-time",
                  "readOnly": true
                }
              }
            }
          }
        },
        "x-tags": [
          "Catalog"
        ]
      },
      "ProductPricing": {
        "title": "ProductPricing",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductPricing",
          "description": "API reference for the ProductPricing schema"
        },
        "required": [
          "currency",
          "tax_type",
          "tax_rate",
          "price_including_tax",
          "listing_price",
          "selling_price",
          "min_order_quantity",
          "max_order_quantity",
          "incremental_quantity",
          "selling_price_excluding_tax"
        ],
        "properties": {
          "currency": {
            "type": "string"
          },
          "tax_type": {
            "type": "string",
            "default": "GST",
            "const": "GST",
            "examples": [
              "GST"
            ]
          },
          "tax_rate": {
            "type": "number",
            "format": "double"
          },
          "price_including_tax": {
            "type": "boolean",
            "format": "double",
            "examples": [
              false
            ]
          },
          "listing_price": {
            "type": "number",
            "format": "double"
          },
          "selling_price": {
            "type": "number",
            "format": "double"
          },
          "min_order_quantity": {
            "type": "integer",
            "default": 1
          },
          "max_order_quantity": {
            "type": [
              "integer",
              "null"
            ]
          },
          "incremental_quantity": {
            "type": "integer",
            "default": 1
          },
          "selling_price_excluding_tax": {
            "type": "number",
            "format": "double"
          }
        },
        "examples": []
      },
      "ProductPromotion": {
        "title": "ProductPromotion",
        "description": "Active promotion on a product. `null` when `on_promotion` is `false`. The `details` field uses `promotion_type` as discriminator to determine the promotion structure.",
        "type": [
          "object",
          "null"
        ],
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductPromotion",
          "description": "API reference for the ProductPromotion schema"
        },
        "required": [
          "id",
          "starts_at",
          "expires_at",
          "details"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "starts_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "description": "When the promotion ends. `null` for promotions with no expiry.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "details": {
            "description": "Promotion rules and pricing. Use `promotion_type` to determine the structure: `discount` (percentage/flat off), `fixed-price` (override price), `volume-based` (buy X at Y price), or `free-goods` (buy X get Y free).",
            "discriminator": {
              "propertyName": "promotion_type",
              "mapping": {
                "discount": "#/components/schemas/DiscountBasedPromotion",
                "fixed-price": "#/components/schemas/FixedPricePromotion",
                "volume-based": "#/components/schemas/VolumeBasedPromotion",
                "free-goods": "#/components/schemas/FreeGoodsPromotion"
              }
            },
            "oneOf": [
              {
                "$ref": "#/components/schemas/DiscountBasedPromotion"
              },
              {
                "$ref": "#/components/schemas/FixedPricePromotion"
              },
              {
                "$ref": "#/components/schemas/VolumeBasedPromotion"
              },
              {
                "$ref": "#/components/schemas/FreeGoodsPromotion"
              }
            ]
          }
        }
      },
      "ProductShipping": {
        "title": "ProductShipping",
        "type": [
          "object",
          "null"
        ],
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductShipping",
          "description": "API reference for the ProductShipping schema"
        },
        "required": [
          "handling_charges_including_tax",
          "handling_charges_excluding_tax",
          "tax_type",
          "tax_rate"
        ],
        "properties": {
          "handling_charges_including_tax": {
            "type": "number"
          },
          "handling_charges_excluding_tax": {
            "type": "number"
          },
          "tax_type": {
            "type": "string"
          },
          "tax_rate": {
            "type": "number"
          }
        }
      },
      "ProductSubscription": {
        "title": "ProductSubscription",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductSubscription",
          "description": "API reference for the ProductSubscription schema"
        },
        "required": [
          "id",
          "subscription_plan",
          "subscription_price",
          "billing_interval",
          "billing_frequency",
          "billing_limit",
          "fulfill_separately",
          "order_interval",
          "order_frequency",
          "order_limit",
          "minimum_quantity",
          "billing_trial_days"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "subscription_plan": {
            "type": "string"
          },
          "subscription_price": {
            "type": "number",
            "format": "double"
          },
          "billing_interval": {
            "description": "Billing interval determines the frequency for which the customer is charged for the subscription itself.",
            "type": "integer"
          },
          "billing_frequency": {
            "type": "string",
            "enum": [
              "weekly",
              "monthly",
              "annually"
            ],
            "examples": [
              "monthly"
            ]
          },
          "billing_limit": {
            "description": "Optionally limit the number of times this subscription will invoice the customer.",
            "type": "integer"
          },
          "fulfill_separately": {
            "type": "boolean",
            "default": false
          },
          "order_interval": {
            "description": "order interval defines the frequency of when the subscription sends customers the product",
            "type": "integer"
          },
          "order_frequency": {
            "type": "string",
            "enum": [
              "weekly",
              "monthly",
              "annully"
            ],
            "examples": [
              "monthly"
            ]
          },
          "order_limit": {
            "description": "By default this is set to unlimited, meaning the subscription will fulfill indefinitely. Changing the Limit to 10 would force the subscription to end after the tenth interval had been fulfilled.",
            "type": "integer"
          },
          "minimum_quantity": {
            "description": "The quantity of the plan to which the customer should be subscribed",
            "type": "integer"
          },
          "billing_trial_days": {
            "description": "Use in digital product only for trial period",
            "type": "integer"
          }
        },
        "examples": []
      },
      "Promotion": {
        "title": "Promotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Promotion",
          "description": "API reference for the Promotion schema"
        },
        "allOf": [
          {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DiscountCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/FreeGoodCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/BuyXGetYCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/VolumeBasedCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/FreeShippingCouponPromotion"
              }
            ]
          },
          {
            "type": "object",
            "required": [
              "promotion_type",
              "can_be_used_with_other_promotion"
            ],
            "properties": {
              "promotion_type": {
                "enum": [
                  "discount",
                  "free-goods",
                  "free-shipping",
                  "buy-x-get-y",
                  "volume-based"
                ]
              },
              "can_be_used_with_other_promotion": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "Rounding": {
        "title": "Rounding",
        "description": "Define how to round the shipping cost",
        "type": "object",
        "required": [
          "unit",
          "method"
        ],
        "properties": {
          "unit": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "method": {
            "type": "string",
            "enum": [
              "nearest",
              "ceil",
              "floor"
            ]
          }
        },
        "additionalProperties": false
      },
      "SalesChannel": {
        "title": "SalesChannel",
        "type": "object",
        "required": [
          "id",
          "name",
          "active"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "kind": {
            "type": "string",
            "enum": [
              "storefront",
              "marketplace"
            ]
          },
          "active": {
            "type": "boolean",
            "readOnly": true
          },
          "sales_channel_type": {
            "description": "Observed values: `commercengine`, `web`, `pos`.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "sales_channel_slug": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          }
        }
      },
      "SellerAccountStatus": {
        "title": "SellerAccountStatus",
        "type": "string",
        "enum": [
          "pending_approval",
          "approved",
          "rejected"
        ]
      },
      "SellerBasicDetail": {
        "title": "SellerBasicDetail",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "trade_name": {
            "type": "string"
          },
          "legal_name": {
            "type": "string"
          },
          "business_type": {
            "$ref": "#/components/schemas/SellerBusinessType"
          },
          "tax_identification_number": {
            "type": "string"
          }
        }
      },
      "SellerBusinessType": {
        "title": "SellerBusinessType",
        "type": "string",
        "enum": [
          "sole_proprietorship",
          "private_limited",
          "public_listed",
          "public_limited",
          "state_owned",
          "charity",
          "individual"
        ]
      },
      "SellerInfo": {
        "title": "SellerInfo",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/SellerInfo",
          "description": "API reference for the SellerInfo schema"
        },
        "required": [
          "id",
          "trade_name",
          "legal_name",
          "business_type",
          "tax_identification_number"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "trade_name": {
            "type": "string"
          },
          "legal_name": {
            "type": "string"
          },
          "business_type": {
            "type": "string"
          },
          "tax_identification_number": {
            "type": "string"
          }
        },
        "examples": []
      },
      "SellerKycStatus": {
        "title": "SellerKycStatus",
        "type": "string",
        "enum": [
          "document_pending",
          "document_submitted",
          "approved",
          "rejected"
        ]
      },
      "ServiceProviderType": {
        "title": "ServiceProviderType",
        "description": "The type of third-party service integration.",
        "type": "string",
        "enum": [
          "shipping",
          "payment",
          "chat",
          "cms",
          "analytics"
        ]
      },
      "Shipment": {
        "title": "Shipment",
        "description": "Shipment on an order. Shape depends on store type: `ShipmentStandard` for B2B/B2C, `ShipmentMarketplace` when marketplace fields are present.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ShipmentStandard"
          },
          {
            "$ref": "#/components/schemas/ShipmentMarketplace"
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentBox": {
        "title": "ShipmentBox",
        "type": "object",
        "properties": {
          "box_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "max_weight": {
            "type": [
              "number",
              "null"
            ]
          },
          "used_space": {
            "type": [
              "number",
              "null"
            ]
          },
          "box_name": {
            "type": "string"
          },
          "box_length": {
            "type": "number"
          },
          "box_width": {
            "type": "number"
          },
          "box_height": {
            "type": "number"
          },
          "box_weight": {
            "type": "number"
          },
          "items_count": {
            "type": [
              "integer",
              "null"
            ]
          },
          "box_count": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentInfo": {
        "title": "ShipmentInfo",
        "type": "object",
        "required": [
          "order_number",
          "order_status",
          "shipment_number",
          "warehouse_id",
          "warehouse_name",
          "status",
          "total_weight",
          "total_boxes",
          "shipment_items_count",
          "shipping_estimated_cost",
          "shipping_discount_amount",
          "shipping_amount",
          "shipping_tax_rate",
          "shipping_tax_amount",
          "shipping_amount_including_tax",
          "shipping_provider_id",
          "shipping_provider_name",
          "courier_company_id",
          "courier_company_name",
          "courier_company_image_url",
          "awb_no",
          "shipping_label_url",
          "eta_delivery",
          "estimated_delivery_date",
          "promised_delivery_date",
          "shipped_date",
          "delivered_date",
          "returned_date",
          "fulfillment_type",
          "slo",
          "cancellation_reason",
          "customer_id",
          "customer_name",
          "shipping_address_line1",
          "shipping_address_line2",
          "shipping_landmark",
          "shipping_pincode",
          "shipping_city",
          "shipping_state",
          "created_at",
          "modified_at"
        ],
        "properties": {
          "order_number": {
            "type": "string"
          },
          "order_status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "shipment_number": {
            "type": "string"
          },
          "warehouse_id": {
            "type": "string"
          },
          "warehouse_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/AdminShipmentStatus"
          },
          "total_weight": {
            "type": "number"
          },
          "total_boxes": {
            "type": [
              "integer",
              "null"
            ]
          },
          "shipment_items_count": {
            "type": "integer"
          },
          "shipping_estimated_cost": {
            "type": "number",
            "format": "double"
          },
          "shipping_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_rate": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount_including_tax": {
            "type": "number",
            "format": "double"
          },
          "shipping_provider_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_provider_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "courier_company_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "courier_company_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "courier_company_image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "awb_no": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_label_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "eta_delivery": {
            "type": [
              "string",
              "null"
            ]
          },
          "estimated_delivery_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "promised_delivery_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "out_for_delivery_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipped_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "delivered_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "returned_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "fulfillment_type": {
            "enum": [
              "delivery",
              "collect-in-store"
            ]
          },
          "slo": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "expected_date": {
                "type": "string",
                "format": "datetime"
              },
              "actual_date": {
                "type": "string",
                "format": "datetime"
              },
              "difference": {
                "type": "number"
              },
              "slo_status": {
                "enum": [
                  "on-time",
                  "delay",
                  "early"
                ]
              }
            }
          },
          "cancellation_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "type": "string"
          },
          "customer_name": {
            "type": "string"
          },
          "billing_business_name": {
            "description": "Business name on the billing address. `null` for B2C orders placed without business details.",
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_address_line1": {
            "type": "string"
          },
          "shipping_address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_pincode": {
            "type": "string"
          },
          "shipping_city": {
            "type": "string"
          },
          "shipping_state": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "modified_at": {
            "type": "string"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentItem": {
        "title": "ShipmentItem",
        "description": "Shipment item model",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ShipmentItem",
          "description": "API reference for the ShipmentItem schema"
        },
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string"
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_id": {
            "type": "string"
          },
          "variant_name": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          },
          "quantity": {
            "type": "integer"
          },
          "free_quantity": {
            "type": "integer"
          },
          "is_free_item": {
            "type": "boolean"
          }
        }
      },
      "ShipmentItemStandard": {
        "title": "ShipmentItemStandard",
        "description": "Line item on a shipment for B2B/B2C stores (no marketplace seller metadata).",
        "type": "object",
        "required": [
          "product_id",
          "variant_id",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string",
            "readOnly": true
          },
          "variant_id": {
            "description": "`null` for products without variants.",
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "sku": {
            "type": "string",
            "readOnly": true
          },
          "quantity": {
            "type": "integer"
          },
          "is_free_item": {
            "type": "boolean"
          },
          "free_quantity": {
            "type": "integer"
          },
          "seller_detail": {
            "type": [
              "object",
              "null"
            ]
          },
          "selling_price": {
            "type": "number",
            "format": "double"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentMarketplace": {
        "title": "ShipmentMarketplace",
        "description": "Shipment payload for marketplace stores, including seller and order amount breakdown fields.",
        "allOf": [
          {
            "$ref": "#/components/schemas/ShipmentInfo"
          },
          {
            "type": "object",
            "properties": {
              "shipment_items": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AdminShipmentItem"
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/AdminShipmentItem"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "is_free_item": {
                              "type": "boolean",
                              "readOnly": true
                            },
                            "selling_price_excluding_tax": {
                              "type": "number",
                              "format": "double",
                              "readOnly": true
                            }
                          },
                          "required": [
                            "is_free_item"
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/ShipmentMarketplaceFields"
          },
          {
            "$ref": "#/components/schemas/ShipmentPackingAndProgression"
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentMarketplaceFields": {
        "title": "ShipmentMarketplaceFields",
        "description": "Shipment fields returned for marketplace stores only.",
        "type": "object",
        "properties": {
          "reference_number": {
            "type": "string"
          },
          "sub_total": {
            "type": "number",
            "format": "double"
          },
          "sub_total_including_tax": {
            "type": "number",
            "format": "double"
          },
          "grand_total": {
            "type": "number",
            "format": "double"
          },
          "coupon_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "promotion_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "loyalty_point_redeemed": {
            "type": "number",
            "format": "double"
          },
          "seller_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "seller_detail": {
            "type": [
              "object",
              "null"
            ]
          },
          "marketplace_listing": {
            "type": "array"
          },
          "sales_channel": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "type"
            ]
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentPackingAndProgression": {
        "title": "ShipmentPackingAndProgression",
        "type": "object",
        "properties": {
          "packing": {
            "description": "Per-box packing summary. Empty until packing is assigned.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentBox"
            }
          },
          "progression": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentProgression"
            }
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentProgression": {
        "title": "ShipmentProgression",
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/ShipmentProgressionStatus"
          },
          "is_current": {
            "type": "boolean",
            "readOnly": true
          },
          "is_completed": {
            "type": "boolean",
            "readOnly": true
          },
          "completion_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentProgressionStatus": {
        "title": "ShipmentProgressionStatus",
        "description": "Milestone on a shipment's fixed four-step progression ladder. Display labels, not `ShipmentStatus` values: every shipment carries all four in this order, and `is_completed` / `is_current` say where it has reached.",
        "type": "string",
        "enum": [
          "Created",
          "Packed",
          "Shipped",
          "Delivered"
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentStandard": {
        "title": "ShipmentStandard",
        "description": "Shipment payload for B2B/B2C stores without marketplace-only fields.",
        "allOf": [
          {
            "$ref": "#/components/schemas/ShipmentInfo"
          },
          {
            "type": "object",
            "properties": {
              "shipment_items": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ShipmentItemStandard"
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ShipmentItemStandard"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "is_free_item": {
                              "type": "boolean",
                              "readOnly": true
                            },
                            "selling_price_excluding_tax": {
                              "type": "number",
                              "format": "double",
                              "readOnly": true
                            }
                          },
                          "required": [
                            "is_free_item"
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/ShipmentPackingAndProgression"
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentStatus": {
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ShipmentStatus",
          "description": "API reference for the ShipmentStatus schema"
        },
        "enum": [
          "unscheduled",
          "schedule_requested",
          "scheduled",
          "packed",
          "shipped",
          "in_transit",
          "out_for_delivery",
          "delivery_attempted",
          "undelivered",
          "return_to_origin",
          "delivered",
          "cancelled",
          "lost"
        ]
      },
      "ShippingConfig": {
        "title": "ShippingConfig",
        "type": "object",
        "properties": {
          "packaging_optimisation_logic": {
            "description": "- cost - the lowest cost of shipment\n- bins_utilization - max. utilization inside packing spaces\n- bins_number - the smallest possible number of packing spaces",
            "enum": [
              "cost",
              "bins_utilization",
              "bins_number"
            ]
          },
          "location_priority": {
            "enum": [
              "manual",
              "distance",
              "inventory"
            ]
          },
          "warehouse_id": {
            "description": "optional. required only if location_priority = manual. Value should be array of warehouses ids.",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "approval_option": {
            "default": "auto",
            "enum": [
              "auto",
              "manual"
            ]
          },
          "shipping_option": {
            "description": "Omitted when shipping is not configured for the store.",
            "enum": [
              "auto",
              "manual"
            ]
          },
          "default_weight": {
            "description": "Specifies the default weight (in kilograms) used to calculate shipping costs when product packing details are missing. This value ensures that shipping estimates can still be generated in the absence of product packing information.",
            "type": "number"
          }
        },
        "additionalProperties": true,
        "x-tags": [
          "Store"
        ]
      },
      "ShippingCostAction": {
        "title": "ShippingCostAction",
        "oneOf": [
          {
            "$ref": "#/components/schemas/FreeAction"
          },
          {
            "$ref": "#/components/schemas/FixedChargeAction"
          },
          {
            "$ref": "#/components/schemas/DiscountAction"
          },
          {
            "$ref": "#/components/schemas/DynamicAction"
          }
        ]
      },
      "ShippingCostCondition": {
        "title": "ShippingCostCondition",
        "type": "object",
        "oneOf": [
          {
            "additionalProperties": false,
            "title": "Order Total",
            "required": [
              "order_total"
            ],
            "properties": {
              "order_total": {
                "$ref": "#/components/schemas/Comparison"
              }
            }
          },
          {
            "additionalProperties": false,
            "title": "Shipping Mode",
            "required": [
              "shipping_mode"
            ],
            "properties": {
              "shipping_mode": {
                "description": "e.g. [\"air\",\"surface\"]",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "additionalProperties": false,
            "title": "Shipping Providers",
            "required": [
              "providers"
            ],
            "properties": {
              "providers": {
                "description": "e.g. [\"dhl\",\"fedex\"]",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ]
      },
      "ShippingCostPolicy": {
        "title": "ShippingCostPolicy",
        "type": "object",
        "required": [
          "rules",
          "default_action"
        ],
        "properties": {
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShippingRule"
            }
          },
          "default_action": {
            "$ref": "#/components/schemas/ShippingCostAction"
          }
        },
        "additionalProperties": false
      },
      "ShippingOption": {
        "title": "ShippingOption",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_connected": {
            "type": "boolean"
          },
          "is_forward_shipping": {
            "type": "boolean"
          },
          "is_return_shipping": {
            "type": "boolean"
          },
          "logo_dark": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "logo_light": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "logo": {
            "description": "Primary logo URL for display. Same as `logo_light` for most providers.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "fulfillment_type": {
            "enum": [
              "delivery",
              "collect-in-store"
            ],
            "readOnly": true
          },
          "sort_order": {
            "type": "integer",
            "readOnly": true
          },
          "type": {
            "enum": [
              "auto",
              "manual"
            ]
          },
          "status": {
            "enum": [
              "active",
              "inactive"
            ]
          }
        }
      },
      "ShippingRateBasedOnItemWeight": {
        "title": "ShippingRateBasedOnItemWeight",
        "description": "",
        "anyOf": [
          {
            "$ref": "#/components/schemas/ShippingRateBasedOnWeightSlabs"
          },
          {
            "$ref": "#/components/schemas/ShippingRatePerKgFixedPrice"
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "ShippingRateBasedOnOrderValue": {
        "title": "ShippingRateBasedOnOrderValue",
        "type": [
          "object",
          "null"
        ],
        "required": [
          "rate_based_on",
          "slabs"
        ],
        "properties": {
          "rate_based_on": {
            "enum": [
              "order-value"
            ]
          },
          "slabs": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "order_value",
                "shipping_rate",
                "condition"
              ],
              "properties": {
                "order_value": {
                  "type": "number"
                },
                "shipping_rate": {
                  "type": "number"
                },
                "condition": {
                  "enum": [
                    "less-or-equal",
                    "greater"
                  ]
                }
              }
            }
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShippingRateBasedOnWeightSlabs": {
        "title": "ShippingRateBasedOnWeightSlabs",
        "type": [
          "object",
          "null"
        ],
        "required": [
          "rate_based_on",
          "rate_type",
          "slabs"
        ],
        "properties": {
          "rate_based_on": {
            "enum": [
              "item-weight"
            ]
          },
          "rate_type": {
            "enum": [
              "weight-slabs"
            ]
          },
          "slabs": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "weight",
                "shipping_rate",
                "condition"
              ],
              "properties": {
                "weight": {
                  "type": "number"
                },
                "shipping_rate": {
                  "type": "number"
                },
                "condition": {
                  "enum": [
                    "less-or-equal",
                    "greater"
                  ]
                }
              }
            }
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShippingRatePerKgFixedPrice": {
        "title": "ShippingRatePerKgFixedPrice",
        "type": [
          "object",
          "null"
        ],
        "required": [
          "rate_based_on",
          "rate_type",
          "shipping_rate_per_kg"
        ],
        "properties": {
          "rate_based_on": {
            "enum": [
              "item-weight"
            ]
          },
          "rate_type": {
            "enum": [
              "fixed-price-per-kg"
            ]
          },
          "shipping_rate_per_kg": {
            "type": "number"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShippingRule": {
        "title": "ShippingRule",
        "type": "object",
        "required": [
          "condition",
          "action"
        ],
        "properties": {
          "condition": {
            "$ref": "#/components/schemas/ShippingCostCondition"
          },
          "action": {
            "$ref": "#/components/schemas/ShippingCostAction"
          }
        },
        "additionalProperties": false
      },
      "ShippingZoneDetail": {
        "title": "ShippingZoneDetail",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "countries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Country"
            }
          },
          "active": {
            "type": "boolean",
            "default": true
          },
          "is_default": {
            "type": "boolean"
          },
          "available_shipping_options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShippingOption"
            },
            "readOnly": true
          },
          "shipping_providers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShippingOption"
            },
            "readOnly": true
          },
          "manual_methods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShippingOption"
            },
            "readOnly": true
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "SingleSelectAttribute": {
        "title": "SingleSelectAttribute",
        "description": "Attribute for single-select values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/SingleSelectAttribute",
          "description": "API reference for the SingleSelectAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "single-select"
          },
          "value": {
            "description": "For single-select attributes",
            "type": "string"
          }
        }
      },
      "SingleSelectOption": {
        "title": "SingleSelectOption",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/SingleSelectOption",
          "description": "API reference for the SingleSelectOption schema"
        },
        "required": [
          "name",
          "type",
          "value"
        ],
        "properties": {
          "name": {
            "description": "The name of the associated option.",
            "type": "string"
          },
          "type": {
            "description": "The type of the associated option.",
            "const": "single-select"
          },
          "value": {
            "description": "The value of the associated option",
            "type": "string"
          }
        }
      },
      "StoreConfig": {
        "title": "StoreConfig",
        "type": "object",
        "properties": {
          "is_kyc_enabled": {
            "type": "boolean",
            "default": false
          },
          "is_customer_group_enabled": {
            "type": "boolean",
            "default": false
          },
          "is_loyalty_program_enabled": {
            "type": "boolean",
            "default": false
          },
          "tax": {
            "$ref": "#/components/schemas/TaxConfig"
          },
          "shipping": {
            "$ref": "#/components/schemas/ShippingConfig"
          },
          "customer_groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminCustomerGroup"
            },
            "readOnly": true
          },
          "kyc_documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminKycDocumentConfig"
            },
            "readOnly": true
          },
          "brand": {
            "$ref": "#/components/schemas/Brand"
          },
          "subscription": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SubscriptionSetting"
              },
              {
                "type": "null"
              }
            ]
          },
          "general": {
            "$ref": "#/components/schemas/StoreGeneralConfig"
          },
          "currency": {
            "$ref": "#/components/schemas/AdminCurrency",
            "readOnly": true
          },
          "credit_line": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreditLineConfig"
              },
              {
                "type": "null"
              }
            ]
          },
          "payout": {
            "$ref": "#/components/schemas/PayoutConfig"
          },
          "warehouses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoreConfigWarehouse"
            },
            "readOnly": true
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoreConfigTemplate"
            },
            "readOnly": true
          },
          "service_providers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoreConfigServiceProvider"
            },
            "readOnly": true
          },
          "shipping_zones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoreConfigShippingZone"
            },
            "readOnly": true
          },
          "manual_payment_methods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManualPaymentMethod"
            },
            "readOnly": true
          },
          "shipping_cost_policy": {
            "$ref": "#/components/schemas/ShippingCostPolicy"
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "StoreConfigSalesChannel": {
        "title": "StoreConfigSalesChannel",
        "description": "Sales channel summary embedded in `StoreConfig` warehouse listings.",
        "type": "object",
        "required": [
          "id",
          "name",
          "active"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "kind": {
            "type": "string",
            "enum": [
              "storefront",
              "marketplace"
            ]
          },
          "active": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "StoreConfigServiceProvider": {
        "title": "StoreConfigServiceProvider",
        "allOf": [
          {
            "$ref": "#/components/schemas/OtherServiceProvider"
          },
          {
            "type": "object",
            "properties": {
              "api_credentials": {
                "description": "Connected credential values. Keys match `required_credentials_params[].input_field_name`. Returned as `null`, or as an empty array `[]`, when the provider has no stored credentials.",
                "type": [
                  "object",
                  "array",
                  "null"
                ],
                "additionalProperties": true,
                "readOnly": true
              },
              "alias": {
                "type": "string"
              },
              "logo": {
                "description": "Primary logo URL. Same as `logo_light` for `auto` providers; `null` for `manual` methods.",
                "type": [
                  "string",
                  "null"
                ],
                "readOnly": true
              },
              "service_sub_type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "used_in_credit_line": {
                "description": "`true` when the option is linked in the store credit-line payment method configuration.",
                "type": "boolean",
                "readOnly": true
              },
              "used_in_payout": {
                "description": "`true` when the option is linked in the store `payout` configuration.",
                "type": "boolean",
                "readOnly": true
              },
              "warehouses": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  }
                },
                "readOnly": true
              },
              "shipping_zone": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  }
                },
                "readOnly": true
              },
              "fulfillment_type": {
                "description": "Present on shipping providers.",
                "type": "string",
                "enum": [
                  "delivery"
                ],
                "readOnly": true
              },
              "type": {
                "description": "Present on shipping providers (`auto` fulfillment integrations).",
                "type": "string",
                "enum": [
                  "auto"
                ],
                "readOnly": true
              },
              "is_forward_shipping": {
                "type": "boolean",
                "default": false,
                "readOnly": true
              },
              "is_return_shipping": {
                "type": "boolean",
                "default": false,
                "readOnly": true
              }
            }
          }
        ],
        "x-tags": [
          "Store"
        ]
      },
      "StoreConfigShippingZone": {
        "title": "StoreConfigShippingZone",
        "allOf": [
          {
            "$ref": "#/components/schemas/ShippingZoneDetail"
          }
        ],
        "x-tags": [
          "Store"
        ]
      },
      "StoreConfigTemplate": {
        "title": "StoreConfigTemplate",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "template_type": {
            "enum": [
              "terms-of-service",
              "refund-policy",
              "email",
              "invoice",
              "web-layer",
              "whatsapp",
              "chat",
              "push-notification",
              "webhook"
            ]
          },
          "name": {
            "type": "string"
          },
          "activity": {
            "description": "example - signup, order-confirmation, order-cancelled, order-refunded, cart-abandoned, etc.",
            "type": [
              "string",
              "null"
            ]
          },
          "content_type": {
            "enum": [
              "html",
              "markdown",
              "plaintext"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "content_title": {
            "description": "to be used in email subject or notification heading if provided.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "StoreConfigWarehouse": {
        "title": "StoreConfigWarehouse",
        "allOf": [
          {
            "$ref": "#/components/schemas/WarehouseDetail"
          },
          {
            "type": "object",
            "properties": {
              "seller_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "marketplace_listing": {
                "type": "array"
              },
              "manual_methods": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StoreConfigWarehouseManualMethod"
                },
                "readOnly": true
              },
              "channels": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StoreConfigWarehouseSalesChannel"
                },
                "readOnly": true
              }
            }
          }
        ],
        "x-tags": [
          "Store"
        ]
      },
      "StoreConfigWarehouseManualMethod": {
        "title": "StoreConfigWarehouseManualMethod",
        "description": "Manual shipping method on a warehouse as returned in `StoreConfig`.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_connected": {
            "type": "boolean"
          },
          "is_forward_shipping": {
            "type": "boolean"
          },
          "is_return_shipping": {
            "type": "boolean"
          },
          "logo_dark": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "logo_light": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "logo": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "fulfillment_type": {
            "enum": [
              "delivery",
              "collect-in-store"
            ],
            "readOnly": true
          },
          "sort_order": {
            "type": "integer",
            "readOnly": true
          },
          "status": {
            "enum": [
              "active",
              "inactive"
            ]
          },
          "shipping_method_type": {
            "enum": [
              "manual",
              "local-pickup"
            ]
          },
          "shipping_rate_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_rate_fixed_price": {
            "description": "`null` when `shipping_rate_condition` is set.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_rate_condition": {
            "description": "`null` when `shipping_rate_fixed_price` is set.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/ManualShippingRateCondition"
              },
              {
                "type": "null"
              }
            ]
          },
          "maximum_weight": {
            "description": "`null` when there is no weight limit.",
            "type": [
              "number",
              "null"
            ]
          },
          "delivery_leadtime_minimum": {
            "description": "In days.",
            "type": "integer"
          },
          "delivery_leadtime_maximum": {
            "description": "In days.",
            "type": "integer"
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "StoreConfigWarehouseSalesChannel": {
        "title": "StoreConfigWarehouseSalesChannel",
        "description": "Sales channel on a warehouse as returned in `StoreConfig`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/StoreConfigSalesChannel"
          },
          {
            "type": "object",
            "properties": {
              "channel_type": {
                "description": "Observed values: `web`, `pos`, `internal`.",
                "type": "string"
              },
              "is_default": {
                "type": "boolean"
              },
              "domain": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "app_platform": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "external_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "pos_vendor": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "store_id": {
                "type": "string"
              },
              "store_name": {
                "type": "string"
              },
              "marketplace_id": {
                "description": "Set only when `kind` is `marketplace`.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "marketplace": {
                "description": "`null` unless `kind` is `marketplace`.",
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "slug": {
                        "type": "string"
                      },
                      "marketplace_type": {
                        "type": "string"
                      },
                      "store_id": {
                        "description": "The marketplace operator's store.",
                        "type": "string"
                      },
                      "sync_products": {
                        "type": "boolean"
                      },
                      "sync_inventory": {
                        "type": "boolean"
                      },
                      "sync_orders": {
                        "type": "boolean"
                      },
                      "required_credentials_params": {
                        "type": [
                          "object",
                          "null"
                        ]
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "modified_at": {
                        "type": "string",
                        "format": "date-time"
                      }
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "seller_account": {
                "description": "This store's seller account on the marketplace. `null` unless `kind` is `marketplace`.",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/StoreConfigWarehouseSellerAccount"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        ],
        "x-tags": [
          "Store"
        ]
      },
      "StoreConfigWarehouseSellerAccount": {
        "title": "StoreConfigWarehouseSellerAccount",
        "description": "Seller account linked to a marketplace channel on a warehouse in `StoreConfig`.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "trade_name": {
            "type": "string"
          },
          "legal_name": {
            "type": "string"
          },
          "business_type": {
            "$ref": "#/components/schemas/SellerBusinessType"
          },
          "tax_identification_number": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/SellerAccountStatus"
          },
          "kyc_status": {
            "$ref": "#/components/schemas/SellerKycStatus"
          },
          "logo": {
            "type": [
              "string",
              "null"
            ]
          },
          "marketplace_id": {
            "type": "string"
          },
          "marketplace_name": {
            "type": "string"
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "StoreGeneralConfig": {
        "title": "StoreGeneralConfig",
        "type": "object",
        "properties": {
          "order_number_prefix": {
            "description": "Prefix prepended to generated order numbers for identification or branding.",
            "type": "string",
            "maxLength": 4,
            "minLength": 2
          },
          "currency_code": {
            "description": "ISO 4217 currency code used for store prices and payments (e.g. INR, USD).",
            "type": "string",
            "maxLength": 3,
            "minLength": 3
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "StoreShippingBox": {
        "title": "ShippingBox",
        "description": "",
        "type": "object",
        "required": [
          "name",
          "length",
          "width",
          "height",
          "empty_box_weight",
          "max_weight_box_can_carry",
          "empty_box_price"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "length": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          },
          "empty_box_weight": {
            "type": "number"
          },
          "max_weight_box_can_carry": {
            "type": "number"
          },
          "empty_box_price": {
            "type": "number"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        }
      },
      "StoreTemplate": {
        "title": "StoreTemplate",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/StoreTemplate",
          "description": "API reference for the StoreTemplate schema"
        },
        "required": [
          "id",
          "name",
          "content_title",
          "content_type",
          "content"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "content_title": {
            "description": "to be used in email subject or notification heading if provided.",
            "type": [
              "string",
              "null"
            ]
          },
          "content_type": {
            "enum": [
              "html",
              "markdown",
              "plaintext"
            ]
          },
          "content": {
            "type": "string"
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "SubscriptionSetting": {
        "title": "SubscriptionSetting",
        "type": "object",
        "required": [
          "charge_automatically",
          "retry_and_dunning",
          "pause_during_trial",
          "pause_when_past_due",
          "pause_indefinitely",
          "skip_next_interval"
        ],
        "properties": {
          "charge_automatically": {
            "type": "boolean"
          },
          "retry_and_dunning": {
            "type": "boolean"
          },
          "retry_and_dunning_rules": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "object",
              "required": [
                "days",
                "retry_payment",
                "send_notification"
              ],
              "properties": {
                "days": {
                  "description": "days after first payment failure",
                  "type": "integer"
                },
                "retry_payment": {
                  "type": "boolean"
                },
                "send_notification": {
                  "type": "boolean"
                }
              }
            }
          },
          "retry_final_step_action": {
            "description": "send null value for no action.",
            "enum": [
              "mark-as-unpaid",
              "cancel-subscription"
            ]
          },
          "pause_during_trial": {
            "type": "boolean"
          },
          "pause_when_past_due": {
            "type": "boolean"
          },
          "pause_indefinitely": {
            "type": "boolean"
          },
          "skip_next_interval": {
            "type": "boolean"
          },
          "skip_next_interval_threshold": {
            "description": "days before next shipment. required if skip_next_interval = true",
            "type": "integer",
            "default": 0
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "TaxConfig": {
        "title": "TaxConfig",
        "type": "object",
        "properties": {
          "tax_type": {
            "enum": [
              "GST"
            ]
          },
          "taxable_location": {
            "enum": [
              "shipping-address",
              "billing-address"
            ]
          },
          "is_product_price_include_tax": {
            "description": "This field indicates whether the product prices, handling charges already include applicable taxes.\n\n- If set to true, the product prices are inclusive of tax, meaning no additional tax will be added during checkout.\n\n- If set to false, taxes are excluded from the listed prices and will be calculated and added separately at checkout.",
            "type": "boolean"
          },
          "is_shipping_price_include_tax": {
            "description": "This field indicates whether the shipping prices already include applicable taxes.\n\n- If set to true, the shipping prices are inclusive of tax, meaning no additional tax will be added during checkout.\n\n- If set to false, taxes are excluded from the listed prices and will be calculated and added separately at checkout.",
            "type": "boolean"
          },
          "is_tax_apply_after_discount": {
            "type": "boolean"
          },
          "is_discount_apply_after_tax": {
            "type": "boolean"
          },
          "shipping_tax_rate": {
            "type": "number"
          },
          "handling_charge_tax_rate": {
            "description": "This represents the tax rate percentage applied specifically to handling charge in shipping. A handling charge is an additional fee applied to cover the costs associated with preparing, packaging, and processing an order for shipment or delivery.",
            "type": "number"
          }
        },
        "x-tags": [
          "Store"
        ]
      },
      "TextAttribute": {
        "title": "TextAttribute",
        "description": "Attribute for text values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/TextAttribute",
          "description": "API reference for the TextAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "text"
          },
          "value": {
            "description": "For text attributes",
            "type": "string"
          }
        }
      },
      "UpiPayment": {
        "title": "UpiPayment",
        "description": "UPI Payment",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/UpiPayment",
          "description": "API reference for the UpiPayment schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "upi_id": {
                "type": "string"
              }
            }
          }
        ]
      },
      "VolumeBasedCouponPromotion": {
        "title": "VolumeBasedCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/VolumeBasedCouponPromotion",
          "description": "API reference for the VolumeBasedCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/VolumeBasedRule"
              },
              "applies_to_product": {
                "enum": [
                  "product"
                ]
              }
            }
          }
        ]
      },
      "VolumeBasedPromotion": {
        "title": "VolumeBasedPromotion",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/VolumeBasedPromotion",
          "description": "API reference for the VolumeBasedPromotion schema"
        },
        "required": [
          "promotion_type",
          "slabs"
        ],
        "properties": {
          "promotion_type": {
            "type": "string",
            "enum": [
              "discount",
              "volume-based",
              "fixed-price",
              "free-goods"
            ],
            "const": "volume-based",
            "readOnly": true
          },
          "slabs": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "quantity",
                "quantity_condition",
                "discount_percent"
              ],
              "properties": {
                "quantity": {
                  "type": "integer"
                },
                "quantity_condition": {
                  "description": "This key defines how the system will evaluate the quantity to determine if the promotion should be applied, based on the specified slab.",
                  "enum": [
                    "less",
                    "less-or-equal",
                    "greater",
                    "greater-or-equal"
                  ]
                },
                "discount_percent": {
                  "type": "number"
                }
              }
            }
          }
        }
      },
      "VolumeBasedRule": {
        "title": "VolumeBasedRule",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/VolumeBasedRule",
          "description": "API reference for the VolumeBasedRule schema"
        },
        "required": [
          "products",
          "maximum_discount_amount"
        ],
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "slabs"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "slabs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "quantity",
                      "condition",
                      "discount_percent"
                    ],
                    "properties": {
                      "quantity": {
                        "type": "integer"
                      },
                      "condition": {
                        "enum": [
                          "less-or-equal",
                          "greater"
                        ]
                      },
                      "discount_percent": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          },
          "maximum_discount_amount": {
            "type": [
              "number",
              "null"
            ]
          }
        }
      },
      "WalletPayment": {
        "title": "WalletPayment",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/WalletPayment",
          "description": "API reference for the WalletPayment schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "wallet_name": {
                "type": "string"
              }
            }
          }
        ]
      },
      "Warehouse": {
        "title": "Warehouse",
        "description": "Validations:\n\n1) Either 'can_receive_stock' or 'accepts_returns' must be set to true.\n2) 'can_receive_stock' cannot be set to false while the warehouse has existing inventory.\n3) 'is_checkout_point' must be true when the warehouse type is 'retail-store'.\n4) If 'can_receive_stock' is false then 'can_ship_parcel' and 'can_collect' fields should be false.",
        "type": "object",
        "required": [
          "name",
          "warehouse_type",
          "city",
          "address_line1",
          "pincode",
          "state",
          "country",
          "contact_phone",
          "contact_email",
          "can_receive_stock",
          "can_ship_parcel",
          "can_collect",
          "is_checkout_point",
          "accepts_returns"
        ],
        "properties": {
          "id": {
            "description": "warehouse id",
            "type": "string",
            "readOnly": true
          },
          "name": {
            "description": "legal name",
            "type": "string"
          },
          "warehouse_type": {
            "enum": [
              "retail-store",
              "distribution-center"
            ]
          },
          "active": {
            "type": "boolean",
            "default": true
          },
          "gstin": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line1": {
            "type": "string"
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": "string"
          },
          "country_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "contact_phone": {
            "description": "10 digit number without country code.",
            "type": [
              "string",
              "null"
            ]
          },
          "contact_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_default": {
            "type": "boolean"
          },
          "image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "seller_warehouse_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "can_receive_stock": {
            "type": "boolean"
          },
          "can_ship_parcel": {
            "type": "boolean"
          },
          "can_collect": {
            "type": "boolean"
          },
          "is_checkout_point": {
            "description": "this field will be always true for warehouse_type = retail-store.",
            "type": "boolean"
          },
          "accepts_returns": {
            "type": "boolean"
          },
          "opening_hours": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OpeningHours"
              },
              {
                "type": "null"
              }
            ]
          },
          "channels": {
            "description": "channels associated with the warehouse",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarehouseSalesChannel"
            },
            "readOnly": true
          }
        }
      },
      "WarehouseBasicDetail": {
        "title": "WarehouseBasicDetail",
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line1": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "gstin": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "contact_phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "contact_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_default": {
            "type": "boolean"
          }
        },
        "x-tags": [
          "Catalog"
        ]
      },
      "WarehouseDetail": {
        "title": "WarehouseDetail",
        "allOf": [
          {
            "$ref": "#/components/schemas/Warehouse"
          },
          {
            "type": "object",
            "properties": {
              "seller_id": {
                "description": "Relevant for marketplace type stores only. `null` for b2b and b2c type stores.",
                "type": [
                  "string",
                  "null"
                ],
                "readOnly": true
              },
              "marketplace_listing": {
                "description": "Marketplaces this warehouse is listed on.",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "marketplace_id": {
                      "type": "string"
                    }
                  }
                },
                "readOnly": true
              },
              "shipping_boxes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StoreShippingBox"
                },
                "readOnly": true
              },
              "shipping_providers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShippingOption"
                },
                "readOnly": true
              },
              "manual_methods": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WarehouseManualMethod"
                },
                "readOnly": true
              },
              "available_shipping_options": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WarehouseShippingOption"
                },
                "readOnly": true
              }
            }
          }
        ],
        "x-tags": [
          "Store"
        ]
      },
      "WarehouseManualMethod": {
        "title": "WarehouseManualMethod",
        "allOf": [
          {
            "$ref": "#/components/schemas/WarehouseShippingOption"
          },
          {
            "type": "object",
            "properties": {
              "shipping_method_type": {
                "enum": [
                  "manual",
                  "local-pickup"
                ]
              },
              "shipping_rate_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "shipping_rate_fixed_price": {
                "description": "`null` when `shipping_rate_condition` is set.",
                "type": [
                  "number",
                  "null"
                ]
              },
              "shipping_rate_condition": {
                "description": "`null` when `shipping_rate_fixed_price` is set.",
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/ManualShippingRateCondition"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "maximum_weight": {
                "description": "`null` when there is no weight limit.",
                "type": [
                  "number",
                  "null"
                ]
              },
              "delivery_leadtime_minimum": {
                "description": "In days.",
                "type": "integer"
              },
              "delivery_leadtime_maximum": {
                "description": "In days.",
                "type": "integer"
              }
            }
          }
        ],
        "x-tags": [
          "Store"
        ]
      },
      "WarehouseSalesChannel": {
        "title": "WarehouseSalesChannel",
        "allOf": [
          {
            "$ref": "#/components/schemas/SalesChannel"
          },
          {
            "type": "object",
            "properties": {
              "channel_type": {
                "description": "Observed values: `web`, `pos`, `internal`.",
                "type": "string"
              },
              "is_default": {
                "type": "boolean"
              },
              "domain": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "app_platform": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "external_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "pos_vendor": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "store_id": {
                "type": "string"
              },
              "store_name": {
                "type": "string"
              },
              "marketplace_id": {
                "description": "Set only when `kind` is `marketplace`.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "marketplace": {
                "description": "`null` unless `kind` is `marketplace`.",
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "slug": {
                        "type": "string"
                      },
                      "marketplace_type": {
                        "type": "string"
                      },
                      "store_id": {
                        "description": "The marketplace operator's store.",
                        "type": "string"
                      },
                      "sync_products": {
                        "type": "boolean"
                      },
                      "sync_inventory": {
                        "type": "boolean"
                      },
                      "sync_orders": {
                        "type": "boolean"
                      },
                      "required_credentials_params": {
                        "type": [
                          "object",
                          "null"
                        ]
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "modified_at": {
                        "type": "string",
                        "format": "date-time"
                      }
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "seller_account": {
                "description": "This store's seller account on the marketplace. `null` unless `kind` is `marketplace`.",
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/AdminSellerInfo"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "marketplace_id": {
                            "type": "string"
                          },
                          "marketplace_name": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        ],
        "x-tags": [
          "Store"
        ]
      },
      "WarehouseShippingOption": {
        "title": "WarehouseShippingOption",
        "allOf": [
          {
            "$ref": "#/components/schemas/ShippingOption"
          },
          {
            "type": "object",
            "properties": {
              "logo": {
                "type": [
                  "string",
                  "null"
                ],
                "readOnly": true
              },
              "fulfillment_type": {
                "enum": [
                  "delivery",
                  "collect-in-store"
                ]
              },
              "sort_order": {
                "type": "integer"
              }
            }
          }
        ],
        "x-tags": [
          "Store"
        ]
      },
      "WebhookEnvelope": {
        "title": "WebhookEnvelope",
        "description": "Body of every webhook request. The HMAC-SHA256 signature in `X-CE-Signature` is computed over the raw request body with the webhook secret. Use `event_id` as the idempotency key: retries of the same event reuse it while `delivery_id` changes per attempt.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/WebhookEnvelope",
          "description": "API reference for the WebhookEnvelope schema"
        },
        "required": [
          "event",
          "event_id",
          "delivery_id",
          "timestamp",
          "payload",
          "is_test"
        ],
        "properties": {
          "event": {
            "description": "Event name, e.g. `order.created`. Also sent as the `X-CE-Event` header.",
            "type": "string"
          },
          "event_id": {
            "description": "ULID shared by every delivery attempt of the same event. Also sent as `X-CE-Event-ID`.",
            "type": "string"
          },
          "delivery_id": {
            "description": "ULID unique to this delivery attempt. Also sent as `X-CE-Delivery-ID`.",
            "type": "string"
          },
          "timestamp": {
            "description": "Time this delivery attempt was made.",
            "type": "string",
            "format": "date-time"
          },
          "is_test": {
            "description": "`true` when sent from the admin *Send test webhook* action.",
            "type": "boolean"
          },
          "payload": {
            "$ref": "#/components/schemas/WebhookPayload"
          }
        }
      },
      "WebhookPayload": {
        "title": "WebhookPayload",
        "description": "The inner event record. `properties` carries the event-specific model documented on each webhook; every other key is common to all events.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/WebhookPayload",
          "description": "API reference for the WebhookPayload schema"
        },
        "required": [
          "event",
          "event_id",
          "store_id",
          "properties"
        ],
        "properties": {
          "event": {
            "description": "Event name, identical to the envelope `event` and the `X-CE-Event` header.",
            "type": "string"
          },
          "event_id": {
            "description": "ULID of the event. Identical to the envelope `event_id`.",
            "type": "string"
          },
          "store_id": {
            "description": "Store the event belongs to. For `seller.*` events this is the marketplace store; the seller store is in `seller_id`.",
            "type": "string"
          },
          "store_type": {
            "description": "Type of the originating store: `b2c`, `b2b`, `marketplace`, or `seller` (seller-side copies of marketplace records). May be `null` when the producer had no store context.",
            "type": [
              "string",
              "null"
            ]
          },
          "user_id": {
            "description": "Storefront user that caused the event, when applicable.",
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "description": "Customer the event relates to. Present on customer, KYC, loyalty and invoice events.",
            "type": [
              "string",
              "null"
            ]
          },
          "admin_user_id": {
            "description": "Admin user that caused the event, when triggered from the admin API.",
            "type": [
              "string",
              "null"
            ]
          },
          "tenant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "seller_id": {
            "description": "Seller store the event is addressed to. Present on `seller.*` events only.",
            "type": [
              "string",
              "null"
            ]
          },
          "timestamp": {
            "description": "Time the event was produced by the originating service (ISO 8601, UTC). Absent on a few events; prefer the envelope `timestamp` for ordering.",
            "type": "string"
          },
          "is_test": {
            "description": "`true` for payloads generated by the admin *Send test webhook* action.",
            "type": "boolean"
          },
          "properties": {
            "description": "Event-specific model. See the individual webhook for the concrete schema.",
            "type": "object"
          }
        },
        "additionalProperties": true
      }
    },
    "parameters": {
      "WebhookDeliveryIdHeader": {
        "name": "X-CE-Delivery-ID",
        "in": "header",
        "required": true,
        "description": "Equals the body `delivery_id`. Unique per delivery attempt.",
        "schema": {
          "type": "string"
        }
      },
      "WebhookEventHeader": {
        "name": "X-CE-Event",
        "in": "header",
        "required": true,
        "description": "Event name; equals the body `event`.",
        "schema": {
          "type": "string"
        }
      },
      "WebhookEventIdHeader": {
        "name": "X-CE-Event-ID",
        "in": "header",
        "required": true,
        "description": "Equals the body `event_id`. Stable across retries — use as the idempotency key.",
        "schema": {
          "type": "string"
        }
      },
      "WebhookSignatureHeader": {
        "name": "X-CE-Signature",
        "in": "header",
        "required": true,
        "description": "`sha256=` followed by the hex HMAC-SHA256 of the raw request body, keyed with the webhook secret. Verify with a constant-time comparison before processing.",
        "schema": {
          "type": "string",
          "pattern": "^sha256=[0-9a-f]{64}$"
        }
      }
    },
    "responses": {
      "BadRequest": {
        "description": "Bad request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "message",
                "success",
                "code"
              ],
              "properties": {
                "message": {
                  "type": "string",
                  "x-speakeasy-error-message": true
                },
                "success": {
                  "type": "boolean"
                },
                "code": {
                  "type": "string"
                },
                "errors": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Not authorized for given operation on the Resource",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "message",
                "success",
                "code"
              ],
              "properties": {
                "message": {
                  "type": "string",
                  "examples": [
                    "Not authorized for given operation on the Resource."
                  ],
                  "x-speakeasy-error-message": true
                },
                "success": {
                  "type": "boolean",
                  "default": false
                },
                "code": {
                  "type": "string",
                  "examples": [
                    "unauthorized"
                  ]
                }
              }
            }
          }
        }
      },
      "WebhookAccepted": {
        "description": "Payload accepted"
      },
      "WebhookGone": {
        "description": "Endpoint permanently removed"
      },
      "WebhookServerError": {
        "description": "Temporary server error — we will retry"
      }
    }
  }
}