{
  "openapi": "3.0.0",
  "paths": {
    "/api-keys": {
      "get": {
        "description": "Returns a paginated list of API keys for the current store. Raw key values are never returned.",
        "operationId": "List API Keys",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "API keys retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List API Keys",
        "tags": [
          "API Keys"
        ]
      },
      "post": {
        "description": "Creates a new API key. The raw key is returned only once and cannot be retrieved again.",
        "operationId": "Create API Key",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateApiKeyInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "API key created. Raw key returned once.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyCreatedResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create API Key",
        "tags": [
          "API Keys"
        ]
      }
    },
    "/api-keys/{id}": {
      "patch": {
        "description": "Updates name, scopes, active state or expiry. The token itself is immutable.",
        "operationId": "Update API Key",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "API Key ID",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateApiKeyInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "API key updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyUpdatedResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "API key not found."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update API Key",
        "tags": [
          "API Keys"
        ]
      },
      "delete": {
        "description": "Permanently revokes an API key. All requests using this key will immediately fail.",
        "operationId": "Delete API Key",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "API key revoked.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyDeletedResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Revoke API Key",
        "tags": [
          "API Keys"
        ]
      }
    },
    "/app/developer": {
      "get": {
        "description": "Returns all apps owned by the authenticated user, regardless of status.",
        "operationId": "AppDeveloperController_findAll",
        "parameters": [
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of owned apps.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppExtensionListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List My Apps",
        "tags": [
          "App Developer"
        ]
      },
      "post": {
        "description": "Creates a new app in draft status.",
        "operationId": "AppDeveloperController_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAppInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "App created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppExtensionItemDTO"
                }
              }
            }
          },
          "409": {
            "description": "Slug already taken."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create App",
        "tags": [
          "App Developer"
        ]
      }
    },
    "/app/developer/{id}": {
      "get": {
        "description": "Returns a single app owned by the authenticated user.",
        "operationId": "AppDeveloperController_findOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "App ID",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "App found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppExtensionItemDTO"
                }
              }
            }
          },
          "404": {
            "description": "App not found."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get My App",
        "tags": [
          "App Developer"
        ]
      },
      "put": {
        "description": "Updates an app. Only allowed when status is draft or rejected.",
        "operationId": "AppDeveloperController_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "App ID",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAppInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "App updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppExtensionItemDTO"
                }
              }
            }
          },
          "403": {
            "description": "App is not in draft or rejected status."
          },
          "404": {
            "description": "App not found or not owned by user."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update App",
        "tags": [
          "App Developer"
        ]
      },
      "delete": {
        "description": "Deletes an app. Not allowed if status is published.",
        "operationId": "AppDeveloperController_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "App ID",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "App deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppExtensionDeletedResponseDTO"
                }
              }
            }
          },
          "403": {
            "description": "Cannot delete a published app."
          },
          "404": {
            "description": "App not found or not owned by user."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete App",
        "tags": [
          "App Developer"
        ]
      }
    },
    "/app/developer/{id}/submit": {
      "post": {
        "description": "Transitions the app from draft or rejected to pending, triggering admin review.",
        "operationId": "AppDeveloperController_submit",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "App ID",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "App submitted for review.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppExtensionItemDTO"
                }
              }
            }
          },
          "403": {
            "description": "App is not in draft or rejected status."
          },
          "404": {
            "description": "App not found or not owned by user."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Submit for Review",
        "tags": [
          "App Developer"
        ]
      }
    },
    "/app/customer": {
      "get": {
        "description": "Returns all published apps available in the marketplace.",
        "operationId": "AppCustomerController_findAll",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of published apps.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppCustomerListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Browse App Catalog",
        "tags": [
          "App Customer"
        ]
      }
    },
    "/app/customer/bookmarks": {
      "get": {
        "description": "Returns all apps bookmarked by the current store.",
        "operationId": "AppCustomerController_findBookmarks",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of bookmarked apps.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppBookmarkListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Bookmarked Apps",
        "tags": [
          "App Customer"
        ]
      }
    },
    "/app/customer/{id}/launch": {
      "get": {
        "description": "Returns a signed launch URL for the app. If the bookmark has a secret, the URL includes an HMAC signature and timestamp for the app to verify the request origin.",
        "operationId": "AppCustomerController_launch",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "App ID",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Signed launch URL.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppLaunchUrlResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "App not bookmarked."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get App Launch URL",
        "tags": [
          "App Customer"
        ]
      }
    },
    "/app/customer/private": {
      "post": {
        "description": "Creates a private draft app and immediately bookmarks it for this store. Does not appear in the public marketplace.",
        "operationId": "AppCustomerController_createPrivate",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePrivateAppInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Private app created and bookmarked.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppPrivateCreatedResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Private App",
        "tags": [
          "App Customer"
        ]
      }
    },
    "/app/customer/{id}/bookmark": {
      "post": {
        "description": "Adds an app to the store backoffice. Idempotent.",
        "operationId": "AppCustomerController_addBookmark",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "App ID",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "App bookmarked.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppBookmarkResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "App not found or not published."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bookmark App",
        "tags": [
          "App Customer"
        ]
      },
      "delete": {
        "description": "Removes an app from the store backoffice.",
        "operationId": "AppCustomerController_removeBookmark",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "App ID",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Bookmark removed."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Remove Bookmark",
        "tags": [
          "App Customer"
        ]
      }
    },
    "/assets": {
      "get": {
        "description": "Returns a paginated list of all assets for the current store.",
        "operationId": "List Assets",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "searchText",
            "in": "query",
            "schema": {
              "minLength": 2,
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List All Assets",
        "tags": [
          "Assets"
        ]
      },
      "post": {
        "description": "Creates a single asset entry. Use Core APIs for binary upload.",
        "operationId": "Create Asset",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAssetInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Asset created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Register New Asset",
        "tags": [
          "Assets"
        ]
      }
    },
    "/assets/{id}": {
      "get": {
        "description": "Retrieves metadata for a specific asset using its UUID.",
        "operationId": "Get Asset",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Asset found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetItemDTO"
                }
              }
            }
          },
          "404": {
            "description": "Asset not found."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Asset Details",
        "tags": [
          "Assets"
        ]
      },
      "patch": {
        "operationId": "Update Asset",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAssetInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Asset updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Asset Metadata",
        "tags": [
          "Assets"
        ]
      },
      "delete": {
        "operationId": "Delete Asset",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Asset removed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssetDeletedResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Asset",
        "tags": [
          "Assets"
        ]
      }
    },
    "/assets/create-many": {
      "post": {
        "description": "Registers multiple assets in one request. Subject to store data limits.",
        "operationId": "Create Many Assets",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyAssetsInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Assets created in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AssetItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch Create Assets",
        "tags": [
          "Assets"
        ]
      }
    },
    "/assets/delete-many": {
      "post": {
        "operationId": "Delete Many Assets",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyAssetsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Assets removed in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AssetDeletedResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch Delete Assets",
        "tags": [
          "Assets"
        ]
      }
    },
    "/assets/update-many": {
      "patch": {
        "description": "Updates multiple assets at once.",
        "operationId": "Update Many Assets",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyAssetsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Assets updated in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AssetItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch Update Assets",
        "tags": [
          "Assets"
        ]
      }
    },
    "/attributes": {
      "get": {
        "description": "Retrieves a paginated list of product attributes for the current store.",
        "operationId": "List Attributes",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "searchText",
            "in": "query",
            "schema": {
              "minLength": 2,
              "maxLength": 255,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttributeListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List All Attributes",
        "tags": [
          "Attributes"
        ]
      },
      "post": {
        "description": "Creates a new product attribute configuration.",
        "operationId": "Create Attribute",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAttributeInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Attribute created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttributeItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Attribute",
        "tags": [
          "Attributes"
        ]
      }
    },
    "/attributes/{id}": {
      "get": {
        "description": "Retrieves full details of a specific attribute, including translations if a language code is provided.",
        "operationId": "Get Attribute",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique attribute identifier",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "lang",
            "required": false,
            "in": "query",
            "description": "ISO language code for localized content.",
            "schema": {
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Attribute details retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttributeItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Attribute Details",
        "tags": [
          "Attributes"
        ]
      },
      "patch": {
        "description": "Updates the settings or metadata of an existing attribute.",
        "operationId": "Update Attribute",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAttributeInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Attribute updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttributeItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Attribute",
        "tags": [
          "Attributes"
        ]
      },
      "delete": {
        "description": "Permanently removes an attribute. Caution: This may affect products using this attribute.",
        "operationId": "Delete Attribute",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Attribute deleted successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttributeItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Attribute",
        "tags": [
          "Attributes"
        ]
      }
    },
    "/attributes/batch": {
      "post": {
        "description": "Creates multiple attributes in a single request. Subject to plan data limits.",
        "operationId": "Create Many Attributes",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyAttributesInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Attributes successfully created in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch Create Attributes",
        "tags": [
          "Attributes"
        ]
      },
      "patch": {
        "description": "Updates multiple attribute configurations simultaneously.",
        "operationId": "Update Many Attributes",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyAttributesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Attributes successfully updated in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch Update Attributes",
        "tags": [
          "Attributes"
        ]
      }
    },
    "/attributes/delete-many": {
      "post": {
        "description": "Removes a list of attributes by their IDs.",
        "operationId": "Delete Many Attributes",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyAttributesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Selected attributes deleted successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AttributeItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch Delete Attributes",
        "tags": [
          "Attributes"
        ]
      }
    },
    "/cart": {
      "get": {
        "description": "Fetches all items in the authenticated customer's cart. Localization is applied via langCode.",
        "operationId": "Get Cart Items",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "langCode",
            "in": "query",
            "schema": {
              "default": "default",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CartResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Retrieve Cart Items",
        "tags": [
          "Cart"
        ]
      },
      "post": {
        "operationId": "Add to Cart",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerCartItemInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CartItemActionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Add Item to Cart",
        "tags": [
          "Cart"
        ]
      }
    },
    "/cart/total": {
      "post": {
        "description": "Computes prices, taxes, and discounts for a list of items without requiring authentication.",
        "operationId": "Calculate Cart Totals",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergeCustomerCartInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CartResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Calculate Real-time Totals",
        "tags": [
          "Cart"
        ]
      }
    },
    "/cart/{id}": {
      "patch": {
        "operationId": "Update Cart Item Quantity",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The Cart Item ID",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomerCartItemInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CartItemActionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Update Cart Item Quantity",
        "tags": [
          "Cart"
        ]
      },
      "delete": {
        "operationId": "Delete Cart Item",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CartItemActionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Remove Cart Item",
        "tags": [
          "Cart"
        ]
      }
    },
    "/cart/merge": {
      "post": {
        "description": "Transfers items from a local browser session to the logged-in customer profile.",
        "operationId": "Merge Guest Cart",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergeCustomerCartInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CartMergeResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Merge Local Session",
        "tags": [
          "Cart"
        ]
      }
    },
    "/cart/promotion": {
      "post": {
        "description": "Validates one or more promotion codes against the current cart. If a Store Customer JWT is not provided, it will be impossible to validate customer-specific codes.",
        "operationId": "Verify Promo",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromotionVerifyInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CartVerifyCodesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Verify Coupon/Promo",
        "tags": [
          "Cart"
        ]
      }
    },
    "/cart-analytics": {
      "get": {
        "description": "Returns KPIs, cart list, top products, device and country breakdown for the store.",
        "operationId": "Get Cart Analytics",
        "parameters": [
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "fromDate",
            "in": "query",
            "schema": {
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "toDate",
            "in": "query",
            "schema": {
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "status",
            "in": "query",
            "schema": {
              "nullable": true,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "active",
                  "converted",
                  "abandoned"
                ]
              }
            }
          },
          {
            "required": false,
            "name": "isAuthenticated",
            "in": "query",
            "schema": {
              "nullable": true,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "true",
                  "false"
                ]
              }
            }
          },
          {
            "required": false,
            "name": "deviceType",
            "in": "query",
            "schema": {
              "nullable": true,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "mobile",
                  "tablet",
                  "desktop",
                  "unknown"
                ]
              }
            }
          },
          {
            "required": false,
            "name": "countryCodes",
            "in": "query",
            "schema": {
              "nullable": true,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "AF",
                  "AX",
                  "AL",
                  "DZ",
                  "AS",
                  "AD",
                  "AO",
                  "AI",
                  "AQ",
                  "AG",
                  "AR",
                  "AM",
                  "AW",
                  "AU",
                  "AT",
                  "AZ",
                  "BS",
                  "BH",
                  "BD",
                  "BB",
                  "BY",
                  "BE",
                  "BZ",
                  "BJ",
                  "BM",
                  "BT",
                  "BO",
                  "BQ",
                  "BA",
                  "BW",
                  "BV",
                  "BR",
                  "IO",
                  "BN",
                  "BG",
                  "BF",
                  "BI",
                  "CV",
                  "KH",
                  "CM",
                  "CA",
                  "KY",
                  "CF",
                  "TD",
                  "CL",
                  "CN",
                  "CX",
                  "CC",
                  "CO",
                  "KM",
                  "CG",
                  "CD",
                  "CK",
                  "CR",
                  "CI",
                  "HR",
                  "CU",
                  "CW",
                  "CY",
                  "CZ",
                  "DK",
                  "DJ",
                  "DM",
                  "DO",
                  "EC",
                  "EG",
                  "SV",
                  "GQ",
                  "ER",
                  "EE",
                  "ET",
                  "FK",
                  "FO",
                  "FJ",
                  "FI",
                  "FR",
                  "GF",
                  "PF",
                  "TF",
                  "GA",
                  "GM",
                  "GE",
                  "DE",
                  "GH",
                  "GI",
                  "GR",
                  "GL",
                  "GD",
                  "GP",
                  "GU",
                  "GT",
                  "GG",
                  "GN",
                  "GW",
                  "GY",
                  "HT",
                  "HM",
                  "VA",
                  "HN",
                  "HK",
                  "HU",
                  "IS",
                  "IN",
                  "ID",
                  "IR",
                  "IQ",
                  "IE",
                  "IM",
                  "IL",
                  "IT",
                  "JM",
                  "JP",
                  "JE",
                  "JO",
                  "KZ",
                  "KE",
                  "KI",
                  "KP",
                  "KR",
                  "KW",
                  "KG",
                  "LA",
                  "LV",
                  "LB",
                  "LS",
                  "LR",
                  "LY",
                  "LI",
                  "LT",
                  "LU",
                  "MO",
                  "MK",
                  "MG",
                  "MW",
                  "MY",
                  "MV",
                  "ML",
                  "MT",
                  "MH",
                  "MQ",
                  "MR",
                  "MU",
                  "YT",
                  "MX",
                  "FM",
                  "MD",
                  "MC",
                  "MN",
                  "ME",
                  "MS",
                  "MA",
                  "MZ",
                  "MM",
                  "NA",
                  "NR",
                  "NP",
                  "NL",
                  "NC",
                  "NZ",
                  "NI",
                  "NE",
                  "NG",
                  "NU",
                  "NF",
                  "MP",
                  "NO",
                  "OM",
                  "PK",
                  "PW",
                  "PS",
                  "PA",
                  "PG",
                  "PY",
                  "PE",
                  "PH",
                  "PN",
                  "PL",
                  "PT",
                  "PR",
                  "QA",
                  "RE",
                  "RO",
                  "RU",
                  "RW",
                  "BL",
                  "SH",
                  "KN",
                  "LC",
                  "MF",
                  "PM",
                  "VC",
                  "WS",
                  "SM",
                  "ST",
                  "SA",
                  "SN",
                  "RS",
                  "SC",
                  "SL",
                  "SG",
                  "SX",
                  "SK",
                  "SI",
                  "SB",
                  "SO",
                  "ZA",
                  "GS",
                  "SS",
                  "ES",
                  "LK",
                  "SD",
                  "SR",
                  "SJ",
                  "SZ",
                  "SE",
                  "CH",
                  "SY",
                  "TW",
                  "TJ",
                  "TZ",
                  "TH",
                  "TL",
                  "TG",
                  "TK",
                  "TO",
                  "TT",
                  "TN",
                  "TR",
                  "TM",
                  "TC",
                  "TV",
                  "UG",
                  "UA",
                  "AE",
                  "GB",
                  "US",
                  "UM",
                  "UY",
                  "UZ",
                  "VU",
                  "VE",
                  "VN",
                  "VG",
                  "VI",
                  "WF",
                  "EH",
                  "YE",
                  "ZM",
                  "ZW"
                ]
              }
            }
          },
          {
            "required": false,
            "name": "searchText",
            "in": "query",
            "schema": {
              "minLength": 2,
              "maxLength": 255,
              "nullable": true,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 500,
              "default": 50,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "default": "EUR",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CartAnalyticsResultDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Cart Analytics Dashboard",
        "tags": [
          "Cart Analytics"
        ]
      }
    },
    "/checkout-hook": {
      "get": {
        "description": "Returns the checkout hook configured for this store, if any.",
        "operationId": "Get Checkout Hook",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Checkout hook retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutHookListResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "No checkout hook configured."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Checkout Hook",
        "tags": [
          "Checkout Hook"
        ]
      },
      "post": {
        "description": "Creates the checkout hook for this store. Only one hook per store is allowed. The secret is shown one-time only.",
        "operationId": "Create Checkout Hook",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCheckoutHookInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Hook created. Secret shown one-time.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutHookCreatedDTO"
                }
              }
            }
          },
          "409": {
            "description": "A checkout hook already exists for this store."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Checkout Hook",
        "tags": [
          "Checkout Hook"
        ]
      }
    },
    "/checkout-hook/{id}": {
      "patch": {
        "description": "Updates url, timeout, onError or active state. Secret is not rotatable via this endpoint.",
        "operationId": "Update Checkout Hook",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCheckoutHookInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Hook updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutHookItemDTO"
                }
              }
            }
          },
          "404": {
            "description": "No checkout hook configured."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Checkout Hook",
        "tags": [
          "Checkout Hook"
        ]
      },
      "delete": {
        "description": "Permanently deletes the checkout hook and its secret.",
        "operationId": "Delete Checkout Hook",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Hook deleted."
          },
          "404": {
            "description": "No checkout hook configured."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Checkout Hook",
        "tags": [
          "Checkout Hook"
        ]
      }
    },
    "/checkout-hook/logs": {
      "get": {
        "description": "Paginated audit log of all checkout hook invocations for this store.",
        "operationId": "Get Checkout Hook Logs",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Logs retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutHookLogResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Checkout Hook Logs",
        "tags": [
          "Checkout Hook"
        ]
      }
    },
    "/collaborators/invite": {
      "post": {
        "description": "Sends an invitation email to a new collaborator. Subject to store data limits.",
        "operationId": "Invite Collaborator",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteCollaboratorInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Invitation sent successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollaboratorInviteResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Invite Collaborator",
        "tags": [
          "Collaborators"
        ]
      }
    },
    "/collaborators/accept": {
      "get": {
        "description": "Validates the invitation token and joins the store.",
        "operationId": "Accept Invite",
        "parameters": [
          {
            "required": true,
            "name": "token",
            "in": "query",
            "schema": {
              "minLength": 10,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Collaborator successfully joined.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollaboratorAcceptInviteResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Accept Invitation",
        "tags": [
          "Collaborators"
        ]
      }
    },
    "/collaborators": {
      "get": {
        "description": "Retrieves a paginated list of all collaborators for the current store.",
        "operationId": "List Collaborators",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Collaborator list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollaboratorPaginationResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Collaborators",
        "tags": [
          "Collaborators"
        ]
      }
    },
    "/collaborators/{collaboratorId}": {
      "delete": {
        "description": "Removes a collaborator from a store.",
        "operationId": "Remove Collaborator",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "collaboratorId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Collaborator removed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollaboratorRemovedResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Remove Collaborator",
        "tags": [
          "Collaborators"
        ]
      }
    },
    "/collaborators/{collaboratorId}/roles": {
      "get": {
        "operationId": "Get Roles",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "collaboratorId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of assigned roles.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollaboratorRolesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Collaborator Roles",
        "tags": [
          "Collaborators"
        ]
      },
      "patch": {
        "description": "Replaces current roles with the newly provided list.",
        "operationId": "Assign Roles",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "collaboratorId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignRolesToCollaboratorInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Roles updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollaboratorRolesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Collaborator Roles",
        "tags": [
          "Collaborators"
        ]
      }
    },
    "/collections": {
      "get": {
        "description": "Returns a paginated list of categories/collections. Supports filtering by parentId for hierarchical navigation.",
        "operationId": "List Collections",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parentId",
            "required": false,
            "in": "query",
            "description": "Filter by parent collection UUID (use \"null\" for root level)",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated collection list.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Collections",
        "tags": [
          "Collections"
        ]
      },
      "post": {
        "operationId": "Create Collection",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCollectionInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Collection created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Collection",
        "tags": [
          "Collections"
        ]
      }
    },
    "/collections/{id}": {
      "get": {
        "operationId": "Get Collection",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "lang",
            "required": false,
            "in": "query",
            "description": "ISO code for localized content",
            "schema": {
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Collection details with translations.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Collection Details",
        "tags": [
          "Collections"
        ]
      },
      "patch": {
        "operationId": "Update Collection",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCollectionInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Collection updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Collection",
        "tags": [
          "Collections"
        ]
      },
      "delete": {
        "operationId": "Delete Collection",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Collection removed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionDeletedDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Collection",
        "tags": [
          "Collections"
        ]
      }
    },
    "/collections/create-many": {
      "post": {
        "operationId": "Create Many Collections",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyCollectionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Collections created in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CollectionItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Create Collections",
        "tags": [
          "Collections"
        ]
      }
    },
    "/collections/delete-many": {
      "post": {
        "operationId": "Delete Many Collections",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyCollectionInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Collections removed in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionDeletedManyDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Delete Collections",
        "tags": [
          "Collections"
        ]
      }
    },
    "/collections/update-many": {
      "patch": {
        "operationId": "Update Many Collections",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyCollectionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Collections updated in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CollectionItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Update Collections",
        "tags": [
          "Collections"
        ]
      }
    },
    "/collections/{id}/filters": {
      "get": {
        "operationId": "CollectionController_getFilters",
        "parameters": [],
        "responses": {
          "200": {
            "description": "All the filters associated to the collection"
          }
        },
        "tags": [
          "Collections"
        ]
      },
      "patch": {
        "operationId": "Replace Collection Filters",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceCollectionFiltersInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Filters updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionFilterLinksResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Link Filters to Collection",
        "tags": [
          "Collections"
        ]
      }
    },
    "/conditions": {
      "get": {
        "description": "Returns all product conditions defined for the current store.",
        "operationId": "List Conditions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of conditions retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConditionListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Conditions",
        "tags": [
          "Conditions"
        ]
      },
      "post": {
        "operationId": "Create Condition",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateConditionInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Condition created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConditionItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Condition",
        "tags": [
          "Conditions"
        ]
      }
    },
    "/conditions/{id}": {
      "get": {
        "operationId": "Get Condition",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Condition found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConditionItemDTO"
                }
              }
            }
          },
          "404": {
            "description": "Condition not found."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Condition",
        "tags": [
          "Conditions"
        ]
      },
      "patch": {
        "operationId": "Update Condition",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateConditionInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Condition updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConditionItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Condition",
        "tags": [
          "Conditions"
        ]
      },
      "delete": {
        "operationId": "Delete Condition",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Condition removed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConditionItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Condition",
        "tags": [
          "Conditions"
        ]
      }
    },
    "/conditions/batch": {
      "post": {
        "operationId": "Create Many Conditions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyConditionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Conditions created.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConditionItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Create Conditions",
        "tags": [
          "Conditions"
        ]
      },
      "patch": {
        "operationId": "Update Many Conditions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyConditionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Conditions updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConditionItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Update Conditions",
        "tags": [
          "Conditions"
        ]
      }
    },
    "/conditions/delete-many": {
      "post": {
        "operationId": "Delete Many Conditions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyConditionInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Conditions removed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConditionItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Delete Conditions",
        "tags": [
          "Conditions"
        ]
      }
    },
    "/feeds": {
      "get": {
        "operationId": "List Feeds",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Feeds retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeedListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Feeds",
        "tags": [
          "Feeds"
        ]
      },
      "post": {
        "operationId": "Create Feed",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFeedInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Feed created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeedItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Feed",
        "tags": [
          "Feeds"
        ]
      }
    },
    "/feeds/{id}": {
      "get": {
        "operationId": "Get Feed",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Feed found."
          },
          "404": {
            "description": "Feed not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeedItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Feed",
        "tags": [
          "Feeds"
        ]
      },
      "patch": {
        "operationId": "Update Feed",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFeedInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Feed updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeedItemDTO"
                }
              }
            }
          },
          "404": {
            "description": "Feed not found."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Feed",
        "tags": [
          "Feeds"
        ]
      },
      "delete": {
        "operationId": "Delete Feed",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Feed deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeedDeletedDTO"
                }
              }
            }
          },
          "404": {
            "description": "Feed not found."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Feed",
        "tags": [
          "Feeds"
        ]
      }
    },
    "/feeds/{id}/generate": {
      "post": {
        "description": "Generates the feed file on-demand and returns it as a downloadable attachment.",
        "operationId": "Generate Feed",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Feed file generated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeedGenerateResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "Feed not found."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Generate Feed",
        "tags": [
          "Feeds"
        ]
      }
    },
    "/filters": {
      "get": {
        "description": "Retrieves all product filters (condition groups) for the store.",
        "operationId": "List Filters",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Filters retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilterListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Filters",
        "tags": [
          "Filters"
        ]
      },
      "post": {
        "operationId": "Create Filter",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFilterInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Filter created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilterItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Filter",
        "tags": [
          "Filters"
        ]
      }
    },
    "/filters/{id}": {
      "get": {
        "operationId": "Get Filter",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "lang",
            "required": false,
            "in": "query",
            "schema": {
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Filter found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilterItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Filter Details",
        "tags": [
          "Filters"
        ]
      },
      "patch": {
        "operationId": "Update Filter",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFilterInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Filter updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilterItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Filter",
        "tags": [
          "Filters"
        ]
      },
      "delete": {
        "operationId": "Delete Filter",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Filter removed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilterDeletedDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Filter",
        "tags": [
          "Filters"
        ]
      }
    },
    "/filters/batch": {
      "post": {
        "operationId": "Create Many Filters",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyFiltersInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Filters created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FilterItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Create Filters",
        "tags": [
          "Filters"
        ]
      },
      "patch": {
        "operationId": "Update Many Filters",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyFiltersInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Filters updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FilterItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Update Filters",
        "tags": [
          "Filters"
        ]
      }
    },
    "/filters/delete-many": {
      "post": {
        "operationId": "Delete Many Filters",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyFilterInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Filters removed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FilterDeletedDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Delete Filters",
        "tags": [
          "Filters"
        ]
      }
    },
    "/filters/{id}/conditions": {
      "get": {
        "operationId": "Get Filter Conditions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of associated conditions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilterConditionsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Filter Conditions",
        "tags": [
          "Filters"
        ]
      },
      "patch": {
        "operationId": "Replace Conditions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceFilterConditionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Pivot table updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilterConditionsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Filter Conditions",
        "tags": [
          "Filters"
        ]
      }
    },
    "/stores/dashboard": {
      "get": {
        "description": "Retrieves key metrics for the store. Defaults to the last 7 days if dates are not provided.",
        "operationId": "Get Store Dashboard Data",
        "parameters": [
          {
            "required": false,
            "name": "fromDate",
            "in": "query",
            "schema": {
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "toDate",
            "in": "query",
            "schema": {
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "langCode",
            "in": "query",
            "schema": {
              "nullable": true,
              "default": "default",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "nullable": true,
              "default": "EUR",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Dashboard metrics retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DashboardResponseDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing JWT"
          },
          "403": {
            "description": "Forbidden - Insufficient permissions for this store"
          },
          "429": {
            "description": "Too Many Requests - Rate limit exceeded"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Get Store Dashboard Data",
        "tags": [
          "Stores"
        ]
      }
    },
    "/stores/sitemap": {
      "get": {
        "description": "Generates and downloads a ZIP file containing the Google-compliant sitemaps for the store products. Requires a paid plan.",
        "operationId": "Get Store Sitemap",
        "parameters": [
          {
            "required": false,
            "name": "domain",
            "in": "query",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ZIP file containing sitemaps.",
            "content": {
              "application/zip": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - Store is on a free plan or insufficient permissions."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Download Store Sitemap",
        "tags": [
          "Stores"
        ]
      }
    },
    "/stores/owner/{ownerId}": {
      "get": {
        "description": "Retrieves all stores associated with a specific owner UUID. While regular users are restricted to their own ID, administrative roles (Admin, Dev, Agent) can use this to audit any user's stores.",
        "operationId": "List Owner Stores",
        "parameters": [
          {
            "name": "ownerId",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the store owner",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A list of store objects associated with the provided owner.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoresListResponseDTO"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - Access denied to other users' data."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "List Stores By Owner",
        "tags": [
          "Stores"
        ]
      }
    },
    "/stores/{id}": {
      "patch": {
        "description": "Updates the metadata and settings of an active store. This operation is guarded by StoreActiveGuard; inactive or suspended stores cannot be modified.",
        "operationId": "Update Store",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the store",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "description": "Store configuration fields to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Store updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreResponseDTO"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - Store is inactive or insufficient permissions."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Update Store Configuration",
        "tags": [
          "Stores"
        ]
      },
      "delete": {
        "description": "Marks the store for logical deletion. The store is immediately hidden from public view, but data is retained for a grace period to allow for potential restoration.",
        "operationId": "Delete Store",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the store to delete",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Store successfully marked for deletion.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreDeletedResponseDTO"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - Only the original draft owner can delete this store."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Delete Store",
        "tags": [
          "Stores"
        ]
      }
    },
    "/stores/{id}/restore": {
      "post": {
        "description": "Reverses a previous deletion request, bringing the store back to an active and visible state. This is only possible if the data has not been permanently purged.",
        "operationId": "Restore Store",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The unique identifier of the store to restore",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Store successfully restored and reactivated."
          },
          "404": {
            "description": "Not Found - The store does not exist or has been permanently purged."
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "summary": "Restore Deleted Store",
        "tags": [
          "Stores"
        ]
      }
    },
    "/options": {
      "get": {
        "description": "Retrieves a paginated list of all product options available in the store.",
        "operationId": "List Options",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Options retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptionListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Options",
        "tags": [
          "Options"
        ]
      },
      "post": {
        "operationId": "Create Option",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOptionInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Option created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptionItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Option",
        "tags": [
          "Options"
        ]
      }
    },
    "/options/{id}": {
      "get": {
        "operationId": "Get Option",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "lang",
            "required": false,
            "in": "query",
            "schema": {
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Option details with translations.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptionItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Option Details",
        "tags": [
          "Options"
        ]
      },
      "patch": {
        "operationId": "Update Option",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOptionInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Option updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptionItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Option",
        "tags": [
          "Options"
        ]
      },
      "delete": {
        "operationId": "Delete Option",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Option removed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OptionDeletedDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Option",
        "tags": [
          "Options"
        ]
      }
    },
    "/options/create-many": {
      "post": {
        "operationId": "Batch Create Options",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyOptionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Options created in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OptionItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Create Options",
        "tags": [
          "Options"
        ]
      }
    },
    "/options/delete-many": {
      "post": {
        "operationId": "Batch Delete Options",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyOptionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Options removed in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OptionDeletedDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Delete Options",
        "tags": [
          "Options"
        ]
      }
    },
    "/options/update-many": {
      "patch": {
        "operationId": "Batch Update Options",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyOptionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Options updated in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OptionItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Update Options",
        "tags": [
          "Options"
        ]
      }
    },
    "/orders": {
      "get": {
        "description": "Returns a paginated list of all orders for the current store.",
        "operationId": "List Orders",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "searchText",
            "in": "query",
            "schema": {
              "minLength": 2,
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "hasPromotion",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "required": false,
            "name": "requestsInvoice",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "required": false,
            "name": "customerEmail",
            "in": "query",
            "schema": {
              "format": "email",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "paymentStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "created",
                  "pending",
                  "failed",
                  "canceled",
                  "partially_funded",
                  "authorized",
                  "paid"
                ]
              }
            }
          },
          {
            "required": false,
            "name": "shippingStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "unassigned",
                  "preparing",
                  "shipped",
                  "received"
                ]
              }
            }
          },
          {
            "required": false,
            "name": "reference",
            "in": "query",
            "schema": {
              "minimum": 0,
              "exclusiveMinimum": true,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated orders retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List All Orders",
        "tags": [
          "Orders"
        ]
      },
      "post": {
        "description": "Allows administrators to manually create a new order in the system.",
        "operationId": "Create Order",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrderInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Order created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Manual Order",
        "tags": [
          "Orders"
        ]
      }
    },
    "/orders/export": {
      "post": {
        "description": "Returns orders with their items as HTML for printing. Same filters as list, max 100 results.",
        "operationId": "Export Orders",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": true,
            "name": "orderIds",
            "in": "query",
            "schema": {
              "minItems": 1,
              "maxItems": 100,
              "type": "array",
              "items": {
                "type": "array"
              }
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "default": "default",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "HTML export generated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderExportResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Export Orders",
        "tags": [
          "Orders"
        ]
      }
    },
    "/orders/{id}/checkout-link": {
      "post": {
        "description": "Returns a Stripe Checkout URL for the specific order.",
        "operationId": "Create Checkout Link",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "daysUntilDue",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 365,
              "default": 30,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Stripe Checkout URL generated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderCheckoutLinkResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Checkout Link",
        "tags": [
          "Orders"
        ]
      }
    },
    "/orders/{id}": {
      "get": {
        "description": "Retrieves detailed information for a specific order by UUID.",
        "operationId": "Get Order",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Order details found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Order Details",
        "tags": [
          "Orders"
        ]
      },
      "patch": {
        "description": "Updates metadata, status, or shipping information for an existing order.",
        "operationId": "Update Order",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrderInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Order updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Order",
        "tags": [
          "Orders"
        ]
      },
      "delete": {
        "description": "Permanently removes an order from the store database.",
        "operationId": "Delete Order",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Order removed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDeletedDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Order",
        "tags": [
          "Orders"
        ]
      }
    },
    "/orders/by-customer/{customerId}": {
      "get": {
        "description": "Retrieves all orders associated with a specific customer ID.",
        "operationId": "Get Orders By Customer",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Customer order history.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Customer Orders",
        "tags": [
          "Orders"
        ]
      }
    },
    "/orders/from-cart": {
      "post": {
        "description": "Allows administrators to manually create a new order in the system through a cart.",
        "operationId": "Create Order From Cart",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrderFromCartDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Order created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Manual Order From Cart",
        "tags": [
          "Orders"
        ]
      }
    },
    "/orders/create-many": {
      "post": {
        "description": "Creates multiple orders in a single batch operation.",
        "operationId": "Create Many Orders",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyOrdersInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Orders created in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Create Orders",
        "tags": [
          "Orders"
        ]
      }
    },
    "/orders/delete-many": {
      "post": {
        "description": "Deletes a list of orders by their UUIDs in a single request.",
        "operationId": "Delete Many Orders",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyOrdersInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Orders removed in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderDeletedDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Delete Orders",
        "tags": [
          "Orders"
        ]
      }
    },
    "/orders/update-many": {
      "patch": {
        "description": "Updates multiple orders simultaneously (e.g., mass status change).",
        "operationId": "Update Many Orders",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyOrdersInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Orders updated in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Update Orders",
        "tags": [
          "Orders"
        ]
      }
    },
    "/orders/{orderId}/items": {
      "get": {
        "description": "Retrieves all products and quantities associated with a specific order.",
        "operationId": "Get Items",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "lang",
            "required": false,
            "in": "query",
            "schema": {
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of items in the order.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderItemsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Order Items",
        "tags": [
          "Orders"
        ]
      }
    },
    "/orders/{orderId}/promotion-usages": {
      "get": {
        "description": "Returns the promotion usages recorded for a specific order.",
        "operationId": "Get Order Promotion Usages",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Promotion usages retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionUsagesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Order Promotion Usages",
        "tags": [
          "Orders"
        ]
      },
      "patch": {
        "description": "Records that one or more promotions were used on a specific order.",
        "operationId": "Sync Order Promotion Usages",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceOrderPromotionUsagesInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Promotion usages recorded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionUsagesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Order Promotion Usages",
        "tags": [
          "Orders"
        ]
      }
    },
    "/order-items/batch": {
      "post": {
        "description": "Adds multiple product items to an order in a single request.",
        "operationId": "Create Many Order Items",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyOrderItemsInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Items added successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderItemResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Add Items",
        "tags": [
          "OrderItems"
        ]
      },
      "patch": {
        "description": "Updates multiple order items within the same store context.",
        "operationId": "Update Many Order Items",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyOrderItemsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Items updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderItemResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Update Items",
        "tags": [
          "OrderItems"
        ]
      }
    },
    "/order-items/delete-many": {
      "post": {
        "description": "Removes a batch of items from their respective orders using UUIDs.",
        "operationId": "Delete Many Order Items",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyOrderItemsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Items removed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderItemDeletedDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Remove Items",
        "tags": [
          "OrderItems"
        ]
      }
    },
    "/order-items": {
      "post": {
        "description": "Adds a specific product variant to an order with quantity and unit price.",
        "operationId": "Create Order Item",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrderItemInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Item added successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderItemResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Add Item to Order",
        "tags": [
          "OrderItems"
        ]
      }
    },
    "/order-items/{id}": {
      "patch": {
        "description": "Modifies an existing order item details like quantity or discount.",
        "operationId": "Update Order Item",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrderItemInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Item updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderItemResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Item",
        "tags": [
          "OrderItems"
        ]
      },
      "delete": {
        "description": "Permanently removes a specific item from its associated order.",
        "operationId": "Delete Order Item",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Item removed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderItemDeletedDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Remove Order Item",
        "tags": [
          "OrderItems"
        ]
      }
    },
    "/products": {
      "get": {
        "description": "Retrieves a paginated and searchable list of all products for the current store.",
        "operationId": "List Products",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "searchText",
            "in": "query",
            "schema": {
              "minLength": 2,
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "collectionId",
            "in": "query",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated list of filter IDs. Supports optional range syntax: uuid, uuid[min;max], uuid[min;], uuid[;max]. Example: \"uuid1,uuid2[10;500],uuid3[;100]\"",
            "required": false,
            "name": "filterIds",
            "in": "query",
            "schema": {
              "example": "a1b2c3d4-...,e5f6...[10;500]",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "tagValueIds",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "currencyCode",
            "in": "query",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "cadence",
            "in": "query",
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lowAvailability",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "required": false,
            "name": "visible",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Product list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List All Products",
        "tags": [
          "Products"
        ]
      },
      "post": {
        "description": "Initializes a new product with basic metadata and configuration.",
        "operationId": "Create Product",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Product created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Product",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{id}": {
      "get": {
        "description": "Retrieves detailed information for a single product including its translations.",
        "operationId": "Get Product",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "lang",
            "required": false,
            "in": "query",
            "schema": {
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Product details found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Product Details",
        "tags": [
          "Products"
        ]
      },
      "patch": {
        "description": "Updates core product information for a specific UUID.",
        "operationId": "Update Product",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Product updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Product",
        "tags": [
          "Products"
        ]
      },
      "delete": {
        "description": "Permanently removes a product and all its local relations.",
        "operationId": "Delete Product",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Product removed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductDeletedDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Product",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{id}/variants": {
      "get": {
        "description": "Returns a paginated list of all variants associated with a specific product.",
        "operationId": "Get Product Variants",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Variants retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductVariantListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Product Variants",
        "tags": [
          "Products"
        ]
      },
      "post": {
        "description": "Automatically creates variant Variants based on product option combinations.",
        "operationId": "Generate Variants",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateVariantsInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Variants generated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Generate Missing Variants",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/create-many": {
      "post": {
        "description": "Creates multiple products in a single batch operation.",
        "operationId": "Create Many Products",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyProductsInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Products created in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Create Products",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/delete-many": {
      "post": {
        "description": "Removes a list of products by their UUIDs in batch.",
        "operationId": "Delete Many Products",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyProductInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Products removed in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductDeletedDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Delete Products",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{id}/duplicate": {
      "post": {
        "description": "Creates a full copy of an existing product and its configurations.",
        "operationId": "Duplicate Product",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Product duplicated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Duplicate Product",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/update-many": {
      "patch": {
        "description": "Updates multiple products simultaneously.",
        "operationId": "Update Many Products",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyProductsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Products updated in batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Update Products",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{id}/assets": {
      "get": {
        "description": "Retrieves all images, videos, and documents linked to the product.",
        "operationId": "Get Assets",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Assets retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductAssetsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Product Assets",
        "tags": [
          "Products"
        ]
      },
      "patch": {
        "description": "Replaces all assets associated with the product.",
        "operationId": "Replace Assets",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductAssetsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Assets updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductAssetsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Product Assets",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{id}/tag-values": {
      "get": {
        "description": "Returns all tag values currently assigned to the product.",
        "operationId": "Get Tag Values",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tags retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductTagValuesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Product Tags",
        "tags": [
          "Products"
        ]
      },
      "patch": {
        "description": "Replaces all tag value associations.",
        "operationId": "Replace Tag Values",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductTagValuesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tags updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductTagValuesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Product Tags",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{id}/option-values": {
      "get": {
        "description": "Lists all variant option values (size, color, etc.) associated with the product.",
        "operationId": "Get Option Values",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Options retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductOptionValuesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Product Options",
        "tags": [
          "Products"
        ]
      },
      "patch": {
        "description": "Replaces product variant option associations.",
        "operationId": "Replace Option Values",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductOptionValueInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Options updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductOptionValuesResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Options",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{id}/attributes": {
      "get": {
        "description": "Retrieves all custom attributes and specifications for the product.",
        "operationId": "Get Attribute Values",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Attributes retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductAttributeValuesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Product Attributes",
        "tags": [
          "Products"
        ]
      },
      "patch": {
        "description": "Replaces all product custom attributes.",
        "operationId": "Replace Attribute Values",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductAttributeValuesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Attributes updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductAttributeValuesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Product Attributes",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{id}/shipping-methods": {
      "get": {
        "description": "Returns the allowed shipping methods for this specific product.",
        "operationId": "Get Shipping Methods",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shipping methods retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductShippingMethodsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Product Shipping Methods",
        "tags": [
          "Products"
        ]
      },
      "patch": {
        "description": "Updates allowed shipping methods for this product.",
        "operationId": "Replace Shipping Methods",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductShippingMethodsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Shipping methods updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductShippingMethodsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Product Shipping Methods",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{id}/shipping-zones": {
      "get": {
        "description": "Lists all geographical zones where this product can be shipped.",
        "operationId": "Get Shipping Zones",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shipping zones retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductShippingZonesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Product Shipping Zones",
        "tags": [
          "Products"
        ]
      },
      "patch": {
        "description": "Updates regional shipping availability.",
        "operationId": "Replace Shipping Zones",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductShippingZonesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Shipping zones updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductShippingZonesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Product Shipping Zones",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{id}/tax-zones": {
      "get": {
        "description": "Retrieves tax configuration zones applied to the product.",
        "operationId": "Get Tax Zones",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tax zones retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductTaxZonesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Product Tax Zones",
        "tags": [
          "Products"
        ]
      },
      "patch": {
        "description": "Updates tax configuration zones.",
        "operationId": "Replace Tax Zones",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductTaxZonesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tax zones updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductTaxZonesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Product Tax Zones",
        "tags": [
          "Products"
        ]
      }
    },
    "/product-variants": {
      "get": {
        "description": "Retrieves a paginated list of all product variants in the store.",
        "operationId": "List Product Variants",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantsListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Variants",
        "tags": [
          "Product Variants"
        ]
      },
      "post": {
        "description": "Creates a new product variant.",
        "operationId": "Create Product Variant",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductVariantInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Variant created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Variant",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}": {
      "get": {
        "description": "Retrieves full details for a variant, including inherited translations.",
        "operationId": "Get Product Variant",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "lang",
            "required": false,
            "in": "query",
            "schema": {
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Variant found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Variant Details",
        "tags": [
          "Product Variants"
        ]
      },
      "patch": {
        "description": "Updates specific variant metadata.",
        "operationId": "Update Product Variant",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductVariantInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Variant updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Variant",
        "tags": [
          "Product Variants"
        ]
      },
      "delete": {
        "description": "Removes a variant and its local overrides.",
        "operationId": "Delete Product Variant",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Variant deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantItemDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Variant",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/create-many": {
      "post": {
        "description": "Creates multiple variants in a single request.",
        "operationId": "Batch Create Variants",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyProductVariantsInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Variants created.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VariantItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Create Variants",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/delete-many": {
      "post": {
        "description": "Removes a list of variants.",
        "operationId": "Batch Delete Variants",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyProductVariantsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Variants deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VariantItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Delete Variants",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/update-many": {
      "patch": {
        "description": "Updates multiple variants in one operation.",
        "operationId": "Batch Update Variants",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyProductVariantsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Variants updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VariantItemDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Update Variants",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/assets": {
      "get": {
        "description": "Retrieves assets for this variant, including inherited ones from master product.",
        "operationId": "Get Variant Assets",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Assets retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantAssetsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Variant Assets",
        "tags": [
          "Product Variants"
        ]
      },
      "patch": {
        "description": "Replaces variant-level assets.",
        "operationId": "Replace Variant Assets",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductVariantAssetsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Assets updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantAssetsReplaceResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Variant Assets",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/tag-values": {
      "get": {
        "description": "Retrieves tags for this variant with inheritance support.",
        "operationId": "Get Variant Tags",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tags retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantTagValuesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Variant Tags",
        "tags": [
          "Product Variants"
        ]
      },
      "patch": {
        "description": "Replaces variant-level tags.",
        "operationId": "Replace Variant Tag Values",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductVariantTagValuesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tags updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantTagValuesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Variant Tags",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/attributes": {
      "get": {
        "description": "Retrieves custom attributes with inheritance support.",
        "operationId": "Get Variant Attributes",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Attributes retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantAttributesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Variant Attributes",
        "tags": [
          "Product Variants"
        ]
      },
      "patch": {
        "description": "Replaces variant-level attributes.",
        "operationId": "Replace Variant Attribute Values",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductVariantAttributeValuesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Attributes updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantAttributesReplaceResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Variant Attributes",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/shipping-methods": {
      "get": {
        "description": "Retrieves specific shipping overrides.",
        "operationId": "Get Variant Shipping Methods",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shipping methods retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantShippingMethodResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Variant Shipping Methods",
        "tags": [
          "Product Variants"
        ]
      },
      "patch": {
        "description": "Replaces variant-level shipping methods.",
        "operationId": "Replace Variant Shipping Methods",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductVariantShippingMethodsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Shipping methods updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantShippingMethodReplaceResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Variant Shipping Methods",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/shipping-zones": {
      "get": {
        "description": "Retrieves specific shipping zone overrides.",
        "operationId": "Get Variant Shipping Zones",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shipping zones retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantShippingZonesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Variant Shipping Zones",
        "tags": [
          "Product Variants"
        ]
      },
      "patch": {
        "description": "Replaces variant-level shipping zones.",
        "operationId": "Replace Variant Shipping Zones",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductVariantShippingZonesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Shipping zones updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantShippingZonesReplaceResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Variant Shipping Zones",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/tax-zones": {
      "get": {
        "description": "Retrieves specific tax zone overrides.",
        "operationId": "Get Variant Tax Zones",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tax zones retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantTaxZonesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Variant Tax Zones",
        "tags": [
          "Product Variants"
        ]
      },
      "patch": {
        "description": "Replaces variant-level tax zones.",
        "operationId": "Replace Variant Tax Zones",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductVariantTaxZonesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tax zones updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantTaxZonesReplaceResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Variant Tax Zones",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/promotion-exclusions": {
      "get": {
        "description": "Lists promotions disabled for this variant.",
        "operationId": "Get Variant Promotion Exclusions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Exclusions retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantPromotionExclusionsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Promotion Exclusions",
        "tags": [
          "Product Variants"
        ]
      },
      "patch": {
        "description": "Replaces active promotion exclusions.",
        "operationId": "Replace Variant Promotion Exclusions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductVariantPromotionExclusionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Promotion exclusions updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantPromotionExclusionsReplaceResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Promotion Exclusions",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/option-values": {
      "get": {
        "description": "Lists the option values that identify this variant.",
        "operationId": "Get Variant Option Values",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Option values retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantOptionValuesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Option Values",
        "tags": [
          "Product Variants"
        ]
      },
      "patch": {
        "description": "Replaces the set of option values used to identify the variant.",
        "operationId": "Replace Variant Option Values",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductVariantOptionValuesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Option values updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantOptionValuesReplaceResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Option Values",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/prices": {
      "get": {
        "description": "Lists all prices tied to the variant.",
        "operationId": "Get Variant Linked Prices",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Linked prices retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantPricesResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Linked Prices",
        "tags": [
          "Product Variants"
        ]
      },
      "patch": {
        "description": "Replaces the set of prices for this variant.",
        "operationId": "Replace Variant Prices",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceProductVariantPricesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Prices updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantPricesReplaceResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Prices",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/stock": {
      "get": {
        "description": "Lists all the variant stock quantities.",
        "operationId": "Get Variant Stock",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Stock retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VariantStockResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Stock",
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/product-variants/{id}/stock/quick": {
      "patch": {
        "operationId": "ProductVariantController_quickUpdateStock",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Product Variants"
        ]
      }
    },
    "/reviews/by-customer": {
      "get": {
        "description": "Retrieves all reviews written by the authenticated customer.",
        "operationId": "Get Customer Reviews",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "ID del customer di cui recuperare le recensioni",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "Lista recensioni del customer"
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Get My Reviews",
        "tags": [
          "Reviews"
        ]
      }
    },
    "/reviews/product-variants/{id}": {
      "get": {
        "description": "Retrieves paginated public reviews for a specific product variant.",
        "operationId": "Get Variant Reviews",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Lista recensioni della variante"
          }
        },
        "summary": "Get Variant Reviews",
        "tags": [
          "Reviews"
        ]
      },
      "post": {
        "description": "Submits a new review for a product variant. One review per customer per variant.",
        "operationId": "Create Review",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Recensione creata correttamente"
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Create Review",
        "tags": [
          "Reviews"
        ]
      }
    },
    "/reviews/{id}": {
      "patch": {
        "description": "Updates an existing review owned by the authenticated customer.",
        "operationId": "Update Review",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Recensione aggiornata correttamente"
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Update Review",
        "tags": [
          "Reviews"
        ]
      },
      "delete": {
        "description": "Permanently removes a review owned by the authenticated customer.",
        "operationId": "Delete Review",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Recensione eliminata correttamente"
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Delete Review",
        "tags": [
          "Reviews"
        ]
      }
    },
    "/promotions": {
      "get": {
        "description": "Retrieves all active and inactive promotions for the store.",
        "operationId": "Get Promotions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Promotion list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionsListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Promotions",
        "tags": [
          "Promotions"
        ]
      },
      "post": {
        "description": "Initializes a new promotion with its rules and reward types.",
        "operationId": "Create Promotion",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePromotionInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Promotion created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Promotion",
        "tags": [
          "Promotions"
        ]
      }
    },
    "/promotions/{id}": {
      "get": {
        "description": "Returns details of a specific promotion including its current status.",
        "operationId": "Get Promotion By ID",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Promotion found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Promotion",
        "tags": [
          "Promotions"
        ]
      },
      "patch": {
        "description": "Modifies an existing promotion configuration.",
        "operationId": "Update Promotion",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePromotionInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Promotion updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Promotion",
        "tags": [
          "Promotions"
        ]
      },
      "delete": {
        "description": "Permanently removes a promotion from the system.",
        "operationId": "Delete Promotion",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Promotion deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Promotion",
        "tags": [
          "Promotions"
        ]
      }
    },
    "/promotions/create-many": {
      "post": {
        "description": "Enables batch creation of promotional campaigns.",
        "operationId": "Create Many Promotions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyPromotionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Promotions created.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PromotionResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Create Promotions",
        "tags": [
          "Promotions"
        ]
      }
    },
    "/promotions/update-many": {
      "patch": {
        "description": "Updates multiple promotions in a single request.",
        "operationId": "Update Many Promotions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyPromotionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Promotions updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PromotionResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Update Promotions",
        "tags": [
          "Promotions"
        ]
      }
    },
    "/promotions/delete-many": {
      "post": {
        "description": "Removes a list of promotions by ID.",
        "operationId": "Delete Many Promotions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyPromotionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Promotions deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PromotionResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Delete Promotions",
        "tags": [
          "Promotions"
        ]
      }
    },
    "/promotions/{id}/filters": {
      "get": {
        "description": "Returns all filter IDs associated with this promotion (Targeting rules).",
        "operationId": "Get Promotion Filters",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Filters retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionFiltersResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Filters",
        "tags": [
          "Promotions"
        ]
      },
      "patch": {
        "description": "Synchronizes the target rules (filters) for the promotion.",
        "operationId": "Replace Promotion Filters",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplacePromotionFiltersInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Filters updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionFiltersReplaceResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Filters",
        "tags": [
          "Promotions"
        ]
      }
    },
    "/promotions/{id}/apply": {
      "post": {
        "description": "Triggers the calculation/application logic for the promotion. If you linked some filters, they will be used to change your catalog according to the promotion discount.",
        "operationId": "Apply Promotion",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Promotion applied.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionActionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Apply Promotion",
        "tags": [
          "Promotions"
        ]
      }
    },
    "/promotions/{id}/reset": {
      "post": {
        "description": "Reverts the catalog data to restore the initial state present before the promotion.",
        "operationId": "Reset Promotion",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Promotion reset.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromotionActionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Reset Promotion",
        "tags": [
          "Promotions"
        ]
      }
    },
    "/return-requests": {
      "get": {
        "description": "Paginated list of return requests for the current store.",
        "operationId": "List Return Requests Admin",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Return requests retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestPaginatedResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Return Requests (Admin)",
        "tags": [
          "Return Requests"
        ]
      },
      "post": {
        "description": "Creates a return request on behalf of a customer.",
        "operationId": "Create Return Request Admin",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateReturnRequestAdminDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Return request created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Return Request (Admin)",
        "tags": [
          "Return Requests"
        ]
      }
    },
    "/return-requests/{id}": {
      "get": {
        "description": "Retrieves a single return request by ID.",
        "operationId": "Get Return Request Admin",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Return request found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not found."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Return Request (Admin)",
        "tags": [
          "Return Requests"
        ]
      },
      "patch": {
        "description": "Updates status, items, reason or merchant note.",
        "operationId": "Update Return Request Admin",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateReturnRequestAdminDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Return request updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not found."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Return Request (Admin)",
        "tags": [
          "Return Requests"
        ]
      },
      "delete": {
        "description": "Permanently removes a return request.",
        "operationId": "Delete Return Request Admin",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Return request deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not found."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Return Request (Admin)",
        "tags": [
          "Return Requests"
        ]
      }
    },
    "/store-customer-return-requests": {
      "get": {
        "description": "Paginated list of return requests for the authenticated customer.",
        "operationId": "List Customer Return Requests",
        "parameters": [
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Return requests retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestPaginatedResponseDTO"
                }
              }
            }
          }
        },
        "summary": "List Return Requests (Customer)",
        "tags": [
          "Store Customer Return Requests"
        ]
      },
      "post": {
        "description": "Creates a return request for the authenticated customer.",
        "operationId": "Create Customer Return Request",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateReturnRequestAuthDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Return request created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Create Return Request (Customer)",
        "tags": [
          "Store Customer Return Requests"
        ]
      }
    },
    "/store-customer-return-requests/{id}": {
      "get": {
        "description": "Retrieves a single return request by ID.",
        "operationId": "Get Customer Return Request",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Return request found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not found."
          }
        },
        "summary": "Get Return Request (Customer)",
        "tags": [
          "Store Customer Return Requests"
        ]
      },
      "delete": {
        "description": "Cancels and removes a pending return request.",
        "operationId": "Delete Customer Return Request",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Return request deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not found."
          }
        },
        "summary": "Delete Return Request (Customer)",
        "tags": [
          "Store Customer Return Requests"
        ]
      }
    },
    "/store-customer-return-requests/guest/verify": {
      "post": {
        "description": "Verifies email + orderId/reference and sends a magic link to the customer email.",
        "operationId": "Verify Guest Return Request",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyReturnRequestGuestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Email sent if combination is correct."
          },
          "400": {
            "description": "Order linked to authenticated account."
          }
        },
        "summary": "Verify Guest Identity",
        "tags": [
          "Store Customer Return Requests"
        ]
      }
    },
    "/store-customer-return-requests/guest/session": {
      "get": {
        "description": "Validates the guest JWT and returns order details for the return request form.",
        "operationId": "Guest Return Request Session",
        "parameters": [
          {
            "name": "token",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Order details retrieved."
          },
          "401": {
            "description": "Invalid or expired token."
          }
        },
        "summary": "Get Guest Session",
        "tags": [
          "Store Customer Return Requests"
        ]
      }
    },
    "/store-customer-return-requests/guest": {
      "post": {
        "description": "Creates a return request for a guest using the magic link token.",
        "operationId": "Create Guest Return Request",
        "parameters": [
          {
            "name": "token",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateReturnRequestGuestDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Return request created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Create Return Request (Guest)",
        "tags": [
          "Store Customer Return Requests"
        ]
      }
    },
    "/store-customer-return-requests/guest/{id}": {
      "delete": {
        "description": "Cancels and removes a pending return request for a guest using the magic link token.",
        "operationId": "Delete Guest Return Request",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "token",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Return request deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnRequestResponseDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not found."
          }
        },
        "summary": "Delete Return Request (Guest)",
        "tags": [
          "Store Customer Return Requests"
        ]
      }
    },
    "/roles": {
      "get": {
        "description": "Retrieves a paginated list of all roles defined within the store context.",
        "operationId": "Get Store Roles",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Roles list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RolesListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Roles",
        "tags": [
          "Roles"
        ]
      },
      "post": {
        "description": "Creates a new custom role for the store.",
        "operationId": "Create Role",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRoleInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Role created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Role",
        "tags": [
          "Roles"
        ]
      }
    },
    "/roles/{roleId}": {
      "get": {
        "description": "Returns details of a specific role.",
        "operationId": "Get Role By ID",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "roleId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Role found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Role",
        "tags": [
          "Roles"
        ]
      },
      "patch": {
        "description": "Updates an existing role metadata.",
        "operationId": "Update Role",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "roleId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRoleInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Role updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Role",
        "tags": [
          "Roles"
        ]
      },
      "delete": {
        "description": "Removes a role. Warning: check for assigned users before deletion.",
        "operationId": "Delete Role",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "roleId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Role deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Role",
        "tags": [
          "Roles"
        ]
      }
    },
    "/roles/{roleId}/permissions": {
      "get": {
        "description": "Retrieves the list of permissions currently granted to this role.",
        "operationId": "Get Role Permissions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "roleId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Permissions retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RolePermissionsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Role Permissions",
        "tags": [
          "Roles"
        ]
      },
      "patch": {
        "description": "Replaces the entire set of permissions for a role.",
        "operationId": "Replace Role Permissions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "roleId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignPermissionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Permissions synchronized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RolePermissionsAssignmentResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Role Permissions",
        "tags": [
          "Roles"
        ]
      }
    },
    "/shipping-methods": {
      "get": {
        "description": "Retrieves a paginated list of all shipping methods configured for the store.",
        "operationId": "Get Shipping Methods",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shipping methods list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Shipping Methods",
        "tags": [
          "Shipping Methods"
        ]
      },
      "post": {
        "description": "Creates a new shipping option for the customers.",
        "operationId": "Create Shipping Method",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateShippingMethodDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Shipping method created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Shipping Method",
        "tags": [
          "Shipping Methods"
        ]
      }
    },
    "/shipping-methods/{id}": {
      "get": {
        "description": "Returns details of a specific shipping method, supporting localized content.",
        "operationId": "Get Shipping Method By ID",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "lang",
            "required": false,
            "in": "query",
            "schema": {
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shipping method found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Shipping Method",
        "tags": [
          "Shipping Methods"
        ]
      },
      "patch": {
        "description": "Modifies an existing shipping method configuration.",
        "operationId": "Update Shipping Method",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateShippingMethodDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Shipping method updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Shipping Method",
        "tags": [
          "Shipping Methods"
        ]
      },
      "delete": {
        "description": "Removes a shipping method from the store. Note: This might affect existing orders or zone configurations.",
        "operationId": "Delete Shipping Method",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shipping method deleted successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Shipping Method",
        "tags": [
          "Shipping Methods"
        ]
      }
    },
    "/shipping-zones": {
      "get": {
        "description": "Retrieves a paginated list of all geographical shipping zones defined in the store.",
        "operationId": "Get Shipping Zones",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shipping zones list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingZonesListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Shipping Zones",
        "tags": [
          "Shipping Zones"
        ]
      },
      "post": {
        "description": "Registers a new shipping zone for the store.",
        "operationId": "Create Shipping Zone",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateShippingZoneDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Shipping zone created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingZoneResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Shipping Zone",
        "tags": [
          "Shipping Zones"
        ]
      }
    },
    "/shipping-zones/{id}": {
      "get": {
        "description": "Returns the configuration of a specific shipping zone.",
        "operationId": "Get Shipping Zone By ID",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shipping zone found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingZoneResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Shipping Zone",
        "tags": [
          "Shipping Zones"
        ]
      },
      "patch": {
        "description": "Modifies the settings of an existing shipping zone.",
        "operationId": "Update Shipping Zone",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateShippingZoneDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Shipping zone updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingZoneResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Shipping Zone",
        "tags": [
          "Shipping Zones"
        ]
      },
      "delete": {
        "description": "Deletes a shipping zone. Caution: methods linked to this zone might become unreachable.",
        "operationId": "Delete Shipping Zone",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shipping zone deleted successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingZoneResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Shipping Zone",
        "tags": [
          "Shipping Zones"
        ]
      }
    },
    "/store-customers/auth/signup-password": {
      "post": {
        "description": "Registers a new customer. Requires Store ID.",
        "operationId": "StoreCustomerAuthController_signupWithPassword",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignupWithPasswordDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "User registered.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthSessionResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Signup with Password",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/login-password": {
      "post": {
        "description": "Authenticates customer. Returns Access Token and sets Refresh Cookie.",
        "operationId": "StoreCustomerAuthController_loginWithPassword",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginWithPasswordDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Login successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthSessionResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Login with Password",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/verify-email": {
      "get": {
        "description": "Activates account via email token.",
        "operationId": "StoreCustomerAuthController_verifyEmail",
        "parameters": [
          {
            "name": "token",
            "required": true,
            "in": "query",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "Email verified."
          }
        },
        "summary": "Verify Email",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/resend-verification": {
      "post": {
        "description": "Sends a new link to the logged-in customer.",
        "operationId": "StoreCustomerAuthController_resendVerificationEmail",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Email sent."
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Resend Verification Email",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/refresh-token": {
      "post": {
        "description": "Uses refresh cookie and CSRF header to get a new access token.",
        "operationId": "StoreCustomerAuthController_refreshAccessToken",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x-wr-csrf",
            "in": "header",
            "description": "CSRF token from login/signup",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshTokenDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Token refreshed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthSessionResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Refresh Access Token",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/logout": {
      "post": {
        "description": "Invalidates session and clears auth cookies.",
        "operationId": "StoreCustomerAuthController_logout",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LogoutDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Logged out."
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Logout",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/request-reset": {
      "post": {
        "description": "Initiates recovery flow.",
        "operationId": "StoreCustomerAuthController_requestResetPassword",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestResetDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Reset email sent."
          }
        },
        "summary": "Request Password Reset",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/reset-password-form": {
      "get": {
        "description": "Returns HTML page for password reset. Use this path to allow user password reset",
        "operationId": "StoreCustomerAuthController_serveResetPasswordForm",
        "parameters": [
          {
            "name": "token",
            "required": true,
            "in": "query",
            "schema": {}
          },
          {
            "name": "twoFactorEnabled",
            "required": true,
            "in": "query",
            "schema": {}
          },
          {
            "name": "encodedEmail",
            "required": true,
            "in": "query",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "HTML form served."
          }
        },
        "summary": "Serve Reset Form",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/verify-reset-challenge": {
      "post": {
        "description": "Validates TOTP during reset flow.",
        "operationId": "StoreCustomerAuthController_verifyResetChallenge",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyChallengeDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Challenge passed."
          }
        },
        "summary": "Verify Reset 2FA",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/reset-password": {
      "post": {
        "description": "Finalizes password change.",
        "operationId": "StoreCustomerAuthController_resetPassword",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Password changed."
          }
        },
        "summary": "Reset Password",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/totp/setup": {
      "post": {
        "description": "Generates new 2FA secret.",
        "operationId": "StoreCustomerAuthController_totpSetup",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TotpSetupDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "TOTP Setup",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/totp/confirm": {
      "post": {
        "description": "Activates 2FA after setup.",
        "operationId": "StoreCustomerAuthController_totpConfirm",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TotpConfirmDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "2FA activated."
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Confirm TOTP",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/totp/login-verify": {
      "post": {
        "description": "2FA step during login.",
        "operationId": "StoreCustomerAuthController_totpVerify",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TotpVerifyDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "2FA Login successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthSessionResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Verify TOTP Login",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/request-delete": {
      "delete": {
        "description": "Starts deletion flow.",
        "operationId": "StoreCustomerAuthController_requestDeleteAccount",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestDeleteAccountDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Email sent."
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Request Account Deletion",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/verify-delete-challenge": {
      "post": {
        "description": "Validates TOTP before deletion.",
        "operationId": "StoreCustomerAuthController_verifyDeleteChallenge",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyChallengeDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Challenge passed."
          }
        },
        "summary": "Verify Delete 2FA",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/delete-account-form": {
      "get": {
        "description": "Returns HTML page for account deletion.",
        "operationId": "StoreCustomerAuthController_serveDeleteAccountForm",
        "parameters": [
          {
            "name": "token",
            "required": true,
            "in": "query",
            "schema": {}
          },
          {
            "name": "twoFactorEnabled",
            "required": true,
            "in": "query",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "HTML form served."
          }
        },
        "summary": "Serve Delete Form",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/delete-account": {
      "post": {
        "description": "Permanently removes account.",
        "operationId": "StoreCustomerAuthController_deleteAccount",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteAccountDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Account deleted."
          }
        },
        "summary": "Finalize Deletion",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/newsletter/subscribe": {
      "post": {
        "description": "Subscribes a customer to the store newsletter. If authenticated with verified email, activates immediately. Otherwise sends a confirmation email. Idempotent: already subscribed returns 204.",
        "operationId": "StoreCustomerAuthController_newsletterSubscribe",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsletterSubscribeDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Subscribed or confirmation email sent.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewsletterResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Subscribe to Newsletter",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/newsletter/verify": {
      "get": {
        "description": "Confirms newsletter subscription via signed JWT link from email. Returns HTML page. Also verifies email for authenticated customers who had unverified email.",
        "operationId": "StoreCustomerAuthController_newsletterVerify",
        "parameters": [
          {
            "name": "token",
            "required": true,
            "in": "query",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": "HTML confirmation page.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NewsletterResponseDTO"
                }
              }
            }
          }
        },
        "summary": "Verify Newsletter Subscription",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers/auth/newsletter/unsubscribe": {
      "post": {
        "description": "Unsubscribes a customer from the store newsletter. If authenticated with verified email, deactivates immediately. Otherwise sends a confirmation email. Idempotent: already unsubscribed returns 200.",
        "operationId": "StoreCustomerAuthController_newsletterUnsubscribe",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewsletterUnsubscribeDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Unsubscribed or confirmation email sent."
          }
        },
        "summary": "Unsubscribe from Newsletter",
        "tags": [
          "Store Customer Auth"
        ]
      }
    },
    "/store-customers": {
      "get": {
        "description": "Retrieves a filtered, paginated list of customers.",
        "operationId": "Get Store Customers",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Text used to search",
            "required": false,
            "name": "searchText",
            "in": "query",
            "schema": {
              "example": "user@example.com",
              "type": "string"
            }
          },
          {
            "description": "Includes only soft-deleted user in the result",
            "required": false,
            "name": "includeDeleted",
            "in": "query",
            "schema": {
              "example": true,
              "type": "boolean"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Customer list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCustomerListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Customers",
        "tags": [
          "Store Customers"
        ]
      },
      "post": {
        "description": "Manually creates a new customer profile.",
        "operationId": "Create Store Customer",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStoreCustomerInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Customer created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCustomerDetailDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create Customer",
        "tags": [
          "Store Customers"
        ]
      }
    },
    "/store-customers/{id}": {
      "get": {
        "description": "Returns full profile of a customer.",
        "operationId": "Get Customer By ID",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Customer found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCustomerDetailDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Customer",
        "tags": [
          "Store Customers"
        ]
      },
      "patch": {
        "description": "Updates specific customer profile data.",
        "operationId": "Update Store Customer",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreCustomerInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Customer updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCustomerDetailDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Customer",
        "tags": [
          "Store Customers"
        ]
      },
      "delete": {
        "description": "Deletes a customer profile and associated local data.",
        "operationId": "Delete Store Customer",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Customer deleted."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete Customer",
        "tags": [
          "Store Customers"
        ]
      }
    },
    "/store-customers/{id}/reset-password": {
      "post": {
        "description": "Sends a password recovery email to the customer.",
        "operationId": "Customer Reset Password",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendResetPasswordInputDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Email sent."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Send Reset Password",
        "tags": [
          "Store Customers"
        ]
      }
    },
    "/store-customers/{id}/verify-email": {
      "post": {
        "description": "Sends an email verification link to the customer.",
        "operationId": "Customer Verify Email",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendVerifyEmailInputDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Email sent."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Send Verification Email",
        "tags": [
          "Store Customers"
        ]
      }
    },
    "/store-customers/create-many": {
      "post": {
        "operationId": "Batch Create Customers",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyStoreCustomersInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Batch created.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoreCustomerDetailDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Create Customers",
        "tags": [
          "Store Customers"
        ]
      }
    },
    "/store-customers/delete-many": {
      "post": {
        "operationId": "Batch Delete Customers",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyStoreCustomersInputDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Batch deleted."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Delete Customers",
        "tags": [
          "Store Customers"
        ]
      }
    },
    "/store-customers/update-many": {
      "patch": {
        "operationId": "Batch Update Customers",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyStoreCustomersInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Batch updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoreCustomerDetailDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Bulk Update Customers",
        "tags": [
          "Store Customers"
        ]
      }
    },
    "/store-customers/{id}/merge": {
      "post": {
        "description": "Merges all guest customer records with the same email into the target customer. Orders, addresses and lifetime value are transferred. Guest records are deleted.",
        "operationId": "Merge Guest Duplicates",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Merge completed."
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Merge Guest Duplicates",
        "tags": [
          "Store Customers"
        ]
      }
    },
    "/store-customers/{id}/promotions": {
      "get": {
        "description": "Lists all promotions specifically assigned to this customer.",
        "operationId": "Get Customer Promotions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Promotions retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPromotionsResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get Customer Promotions",
        "tags": [
          "Store Customers"
        ]
      },
      "patch": {
        "description": "Synchronizes the list of assigned promotions for the customer.",
        "operationId": "Replace Customer Promotions",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplaceCustomerPromotionsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Promotions synchronized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPromotionsReplaceResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Sync Customer Promotions",
        "tags": [
          "Store Customers"
        ]
      }
    },
    "/store-customers-addresses": {
      "get": {
        "description": "Retrieves all saved addresses for the authenticated customer.",
        "operationId": "Get Addresses",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Address list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerAddressListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "List Customer Addresses",
        "tags": [
          "Store Customer Address"
        ]
      },
      "post": {
        "description": "Adds a new entry to the customer address book.",
        "operationId": "Create Address",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerAddressDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Address created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerAddressDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Add New Address",
        "tags": [
          "Store Customer Address"
        ]
      }
    },
    "/store-customers-addresses/{addressId}": {
      "patch": {
        "description": "Modifies an existing address in the customer record.",
        "operationId": "Update Address",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "addressId",
            "required": true,
            "in": "path",
            "description": "The ID of the address to update",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomerAddressDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Address updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerAddressDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Update Address",
        "tags": [
          "Store Customer Address"
        ]
      },
      "delete": {
        "description": "Permanently deletes an address from the customer book.",
        "operationId": "Delete Address",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "addressId",
            "required": true,
            "in": "path",
            "description": "The ID of the address to remove",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Address deleted."
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Remove Address",
        "tags": [
          "Store Customer Address"
        ]
      }
    },
    "/store-customer-wishlists": {
      "get": {
        "description": "Returns the list of all product variants saved in the customer wishlist.",
        "operationId": "Get Customer Wishlist",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Wishlist items retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WishlistListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Get Wishlist",
        "tags": [
          "Store Customer Wishlist"
        ]
      },
      "post": {
        "description": "Adds a variant if not present, or removes it if it already exists.",
        "operationId": "Toggle Wishlist",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleWishlistDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Wishlist updated.",
            "schema": {
              "example": {
                "success": true,
                "wasAdded": true
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WishlistToggleResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Toggle Wishlist Item",
        "tags": [
          "Store Customer Wishlist"
        ]
      }
    },
    "/store-customer-orders": {
      "get": {
        "description": "Retrieves a paginated list of all orders placed by the customer.",
        "operationId": "StoreCustomerOrderController_getAllOrdersPaginated",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated order list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerOrderListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Get Customer Orders",
        "tags": [
          "Store Customer Order"
        ]
      }
    },
    "/store-customer-orders/subscriptions": {
      "get": {
        "description": "Retrieves a paginated list of subscriptions for the customer.",
        "operationId": "StoreCustomerOrderController_getAllSubscriptionsPaginated",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated subscription list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerSubscriptionListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Get Customer Subscriptions",
        "tags": [
          "Store Customer Order"
        ]
      }
    },
    "/store-customer-orders/subscriptions/{id}": {
      "get": {
        "description": "Retrieves a single subscription by ID with its associated order.",
        "operationId": "StoreCustomerOrderController_getSubscriptionById",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerSubscriptionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Get Customer Subscription By ID",
        "tags": [
          "Store Customer Order"
        ]
      }
    },
    "/store-customer-orders/{id}": {
      "get": {
        "description": "Retrieves a signle order by id.",
        "operationId": "StoreCustomerOrderController_getById",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Specific order retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerOrderResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-customer-auth": []
          }
        ],
        "summary": "Get Customer Order By id",
        "tags": [
          "Store Customer Order"
        ]
      }
    },
    "/subscriptions": {
      "get": {
        "description": "Returns a paginated list of all subscriptions for the current store.",
        "operationId": "SubscriptionController_findAll",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "searchText",
            "in": "query",
            "schema": {
              "minLength": 2,
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "autoRenewDisabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "required": false,
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "incomplete",
                  "incomplete_expired",
                  "trialing",
                  "active",
                  "past_due",
                  "canceled",
                  "unpaid",
                  "paused"
                ]
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get all subscriptions",
        "tags": [
          "Subscriptions"
        ]
      }
    },
    "/subscriptions/{id}": {
      "get": {
        "description": "Retrieves specific subscription details using its UUID.",
        "operationId": "SubscriptionController_findOne",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The subscription unique identifier",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription details found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get single subscription",
        "tags": [
          "Subscriptions"
        ]
      }
    },
    "/subscriptions/by-customer/{customerId}": {
      "get": {
        "description": "Retrieves all subscriptions associated with a specific customer ID.",
        "operationId": "SubscriptionController_findAllByCustomer",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerId",
            "required": true,
            "in": "path",
            "description": "The customer unique identifier",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Customer subscription list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get customer subscriptions",
        "tags": [
          "Subscriptions"
        ]
      }
    },
    "/tags": {
      "get": {
        "description": "Retrieves a paginated list of tags for the store.",
        "operationId": "TagController_findAll",
        "parameters": [
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "searchText",
            "in": "query",
            "schema": {
              "minLength": 2,
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of tags retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get all tags",
        "tags": [
          "Tags"
        ]
      },
      "post": {
        "description": "Creates a new tag for products.",
        "operationId": "TagController_create",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTagInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Tag created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create tag",
        "tags": [
          "Tags"
        ]
      }
    },
    "/tags/{id}": {
      "get": {
        "description": "Retrieves a tag by ID with optional language translation.",
        "operationId": "TagController_findOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "lang",
            "required": false,
            "in": "query",
            "schema": {
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ],
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tag found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get single tag",
        "tags": [
          "Tags"
        ]
      },
      "patch": {
        "description": "Updates an existing tag by ID.",
        "operationId": "TagController_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTagInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tag updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update tag",
        "tags": [
          "Tags"
        ]
      },
      "delete": {
        "description": "Permanently removes a tag by ID.",
        "operationId": "TagController_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tag deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete tag",
        "tags": [
          "Tags"
        ]
      }
    },
    "/tags/batch": {
      "post": {
        "description": "Creates multiple tags in a single request.",
        "operationId": "TagController_createMany",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyTagsInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Tags created.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TagResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch create tags",
        "tags": [
          "Tags"
        ]
      },
      "patch": {
        "description": "Updates multiple tags in a single request.",
        "operationId": "TagController_updateMany",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyTagsInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tags updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TagResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch update tags",
        "tags": [
          "Tags"
        ]
      }
    },
    "/tags/delete-many": {
      "post": {
        "description": "Deletes multiple tags by their IDs.",
        "operationId": "TagController_deleteMany",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyTagInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tags deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TagResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch delete tags",
        "tags": [
          "Tags"
        ]
      }
    },
    "/tag-values": {
      "get": {
        "description": "Retrieves a paginated list of all tag values for the store.",
        "operationId": "TagValueController_findAll",
        "parameters": [
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of tag values retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValueListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get all tag values",
        "tags": [
          "TagValues"
        ]
      },
      "post": {
        "description": "Adds a new value entry to a tag.",
        "operationId": "TagValueController_create",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTagValueInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Tag value created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValueResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create tag value",
        "tags": [
          "TagValues"
        ]
      }
    },
    "/tag-values/{id}": {
      "get": {
        "description": "Retrieves a specific tag value by ID with optional translation.",
        "operationId": "TagValueController_findOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "lang",
            "required": false,
            "in": "query",
            "schema": {
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ],
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tag value details found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValueResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get single tag value",
        "tags": [
          "TagValues"
        ]
      },
      "patch": {
        "description": "Updates an existing tag value record.",
        "operationId": "TagValueController_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTagValueInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tag value updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValueResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update tag value",
        "tags": [
          "TagValues"
        ]
      },
      "delete": {
        "description": "Permanently removes a tag value.",
        "operationId": "TagValueController_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tag value deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValueResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete tag value",
        "tags": [
          "TagValues"
        ]
      }
    },
    "/tag-values/by-tag/{tagId}": {
      "get": {
        "description": "Retrieves a paginated list of values belonging to a specific tag.",
        "operationId": "TagValueController_findByTagId",
        "parameters": [
          {
            "name": "tagId",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "searchText",
            "in": "query",
            "schema": {
              "minLength": 2,
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tag values for the specified tag retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValueListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get values by tag ID",
        "tags": [
          "TagValues"
        ]
      }
    },
    "/tag-values/batch": {
      "post": {
        "description": "Creates multiple tag values in one operation.",
        "operationId": "TagValueController_createMany",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyTagValuesInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Tag values created.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TagValueResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch create tag values",
        "tags": [
          "TagValues"
        ]
      },
      "patch": {
        "description": "Updates multiple tag values at once.",
        "operationId": "TagValueController_updateMany",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyTagValuesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tag values updated.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TagValueResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch update tag values",
        "tags": [
          "TagValues"
        ]
      }
    },
    "/tag-values/delete-many": {
      "post": {
        "description": "Removes multiple tag values by ID.",
        "operationId": "TagValueController_deleteMany",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyTagValueInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tag values deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TagValueResponseDTO"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch delete tag values",
        "tags": [
          "TagValues"
        ]
      }
    },
    "/tax-zones": {
      "get": {
        "description": "Retrieves a paginated list of tax zones for the current store.",
        "operationId": "TaxZoneController_findAll",
        "parameters": [
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tax zones list retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxZoneListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get all tax zones",
        "tags": [
          "TaxZones"
        ]
      },
      "post": {
        "description": "Creates a new tax zone entry.",
        "operationId": "TaxZoneController_create",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTaxZoneInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Tax zone created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxZoneResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create tax zone",
        "tags": [
          "TaxZones"
        ]
      }
    },
    "/tax-zones/{id}": {
      "get": {
        "description": "Retrieves specific details for a tax zone using its ID.",
        "operationId": "TaxZoneController_findOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tax zone found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxZoneResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get single tax zone",
        "tags": [
          "TaxZones"
        ]
      },
      "patch": {
        "description": "Updates an existing tax zone record.",
        "operationId": "TaxZoneController_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTaxZoneInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tax zone updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxZoneResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update tax zone",
        "tags": [
          "TaxZones"
        ]
      },
      "delete": {
        "description": "Permanently removes a tax zone.",
        "operationId": "TaxZoneController_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tax zone deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxZoneResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete tax zone",
        "tags": [
          "TaxZones"
        ]
      }
    },
    "/tax-zones/batch": {
      "post": {
        "description": "Creates multiple tax zones in a single request.",
        "operationId": "TaxZoneController_createMany",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManyTaxZonesInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Tax zones created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxZoneBulkResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch create tax zones",
        "tags": [
          "TaxZones"
        ]
      },
      "patch": {
        "description": "Updates multiple tax zones in bulk.",
        "operationId": "TaxZoneController_updateMany",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManyTaxZonesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tax zones updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxZoneBulkResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch update tax zones",
        "tags": [
          "TaxZones"
        ]
      }
    },
    "/tax-zones/delete-many": {
      "post": {
        "description": "Removes multiple tax zones by ID list.",
        "operationId": "TaxZoneController_deleteMany",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyTaxZonesInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Tax zones deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaxZoneBulkResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Batch delete tax zones",
        "tags": [
          "TaxZones"
        ]
      }
    },
    "/warehouses": {
      "get": {
        "description": "Retrieves a paginated list of all warehouses associated with the store.",
        "operationId": "WarehouseController_getWarehouses",
        "parameters": [
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of warehouses retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehouseListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List all warehouses",
        "tags": [
          "Warehouses"
        ]
      },
      "post": {
        "description": "Adds a new physical or virtual warehouse to the store.",
        "operationId": "WarehouseController_create",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWarehouseInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Warehouse created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehouseResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create warehouse",
        "tags": [
          "Warehouses"
        ]
      }
    },
    "/warehouses/{id}": {
      "get": {
        "description": "Finds a specific warehouse by ID.",
        "operationId": "WarehouseController_findOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Warehouse details found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehouseResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get warehouse details",
        "tags": [
          "Warehouses"
        ]
      },
      "patch": {
        "description": "Updates warehouse configuration and metadata.",
        "operationId": "WarehouseController_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWarehouseInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Warehouse updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehouseResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update warehouse",
        "tags": [
          "Warehouses"
        ]
      },
      "delete": {
        "description": "Removes a warehouse entry from the store.",
        "operationId": "WarehouseController_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Warehouse deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehouseResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete warehouse",
        "tags": [
          "Warehouses"
        ]
      }
    },
    "/warehouses/stock": {
      "patch": {
        "description": "Updates the inventory count for a specific varinat in a warehouse.",
        "operationId": "WarehouseController_updateVariantStock",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaVariantStockInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Inventory stock level updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehouseStockUpdateResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update Variant Stock",
        "tags": [
          "Warehouses"
        ]
      }
    },
    "/warehouses/{id}/stock": {
      "get": {
        "description": "Retrieves all product Variants and their stock levels for a specific warehouse.",
        "operationId": "WarehouseController_getVariantsInWarehouse",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "Warehouse ID",
            "schema": {
              "format": "uuid"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "createdAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user-id",
            "in": "header",
            "description": "The unique Firebase UID for the user/admin. Note: This is a Firebase string identifier, not a standard UUIDv4.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of Variants in warehouse retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehouseVariantListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "List Variants in warehouse",
        "tags": [
          "Warehouses"
        ]
      }
    },
    "/webhooks": {
      "get": {
        "description": "Returns the list of all configured webhooks for the store.",
        "operationId": "WebhookController_getWebhooks",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Webhook configurations retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookConfigListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get all webhooks",
        "tags": [
          "Webhook"
        ]
      },
      "post": {
        "description": "Registers a new webhook endpoint to listen for store events.",
        "operationId": "WebhookController_create",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebhookInputDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Webhook created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSecretResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Create webhook",
        "tags": [
          "Webhook"
        ]
      }
    },
    "/webhooks/events": {
      "get": {
        "description": "Retrieves a paginated list of all webhook events and delivery attempts.",
        "operationId": "WebhookController_getWebhookEvents",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "page",
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "limit",
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 100,
              "default": 25,
              "type": "integer"
            }
          },
          {
            "required": false,
            "name": "sortBy",
            "in": "query",
            "schema": {
              "default": "processedAt",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "default": "desc",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "lang",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "searchText",
            "in": "query",
            "schema": {
              "minLength": 2,
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "eventType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "array"
              }
            }
          },
          {
            "required": false,
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "delivered",
                  "failed",
                  "retry_scheduled",
                  "skipped"
                ]
              }
            }
          },
          {
            "required": false,
            "name": "httpStatusCode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "array"
              }
            }
          },
          {
            "required": false,
            "name": "initiatedBy",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "array"
              }
            }
          },
          {
            "required": false,
            "name": "subscriberId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "array"
              }
            }
          },
          {
            "required": false,
            "name": "fromDate",
            "in": "query",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "required": false,
            "name": "toDate",
            "in": "query",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated events retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookConfigListResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Get webhook events",
        "tags": [
          "Webhook"
        ]
      }
    },
    "/webhooks/events/{id}/replay": {
      "post": {
        "description": "Manually triggers a retry for a specific webhook event delivery.",
        "operationId": "WebhookController_replayEvent",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "description": "The event delivery ID",
            "schema": {}
          }
        ],
        "responses": {
          "201": {
            "description": "Replay initiated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSuccessResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Replay webhook event",
        "tags": [
          "Webhook"
        ]
      }
    },
    "/webhooks/{id}": {
      "patch": {
        "description": "Updates an existing webhook configuration (URL, events, active status).",
        "operationId": "WebhookController_update",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebhookInputDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSuccessResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Update webhook",
        "tags": [
          "Webhook"
        ]
      },
      "delete": {
        "description": "Permanently removes a webhook configuration.",
        "operationId": "WebhookController_delete",
        "parameters": [
          {
            "name": "store-id",
            "in": "header",
            "description": "The unique store identifier (UUIDv4) used for scoping the request context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Webhook deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSuccessResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "store-auth": []
          }
        ],
        "summary": "Delete webhook",
        "tags": [
          "Webhook"
        ]
      }
    }
  },
  "info": {
    "title": "Webround Commerce Core APIs",
    "description": "The Commerce Core API documentation for Webround software",
    "version": "1.0",
    "contact": {}
  },
  "tags": [],
  "servers": [
    {
      "url": "https://commerce-api.webround.com",
      "description": "Production Server"
    }
  ],
  "components": {
    "securitySchemes": {
      "store-auth": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "type": "http"
      },
      "store-customer-auth": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "type": "http"
      }
    },
    "schemas": {
      "ApiKeyListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "prefix": {
                  "type": "string"
                },
                "scopes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "active": {
                  "type": "boolean"
                },
                "lastUsedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "name",
                "prefix",
                "scopes",
                "active",
                "expiresAt",
                "createdAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "API Key List Response",
        "description": "Return type for API keys list."
      },
      "CreateApiKeyInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "scopes"
        ],
        "additionalProperties": false,
        "title": "Create API Key",
        "description": "Creates a new API key for machine-to-machine authentication. The raw key is returned only once."
      },
      "ApiKeyCreatedResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "prefix": {
            "type": "string"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "active": {
            "type": "boolean"
          },
          "lastUsedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "prefix",
          "scopes",
          "active",
          "expiresAt",
          "createdAt",
          "token"
        ],
        "title": "API Key Creation Response",
        "description": "Return type for API key creation."
      },
      "UpdateApiKeyInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "active": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "title": "Update API Key Input",
        "description": "Partial update for an existing API key. At least one field must be provided."
      },
      "ApiKeyUpdatedResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "active": {
            "type": "boolean"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "name",
          "scopes",
          "active",
          "expiresAt",
          "updatedAt"
        ],
        "title": "Updated API Key",
        "description": "Fields returned after a successful API key update."
      },
      "ApiKeyDeletedResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "id"
        ],
        "title": "API Key Deletion Response",
        "description": "Return type for API key deletion."
      },
      "AppExtensionListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "iconUrl": {
                  "type": "string",
                  "format": "uri",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "draft",
                    "pending",
                    "published",
                    "rejected"
                  ]
                },
                "rejectionReason": {
                  "type": "string",
                  "nullable": true
                },
                "userId": {
                  "type": "string",
                  "format": "uuid"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "name",
                "slug",
                "description",
                "iconUrl",
                "status",
                "rejectionReason",
                "userId",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "App Extension List Response",
        "description": "Paginated list of apps."
      },
      "AppExtensionItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "iconUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "pending",
              "published",
              "rejected"
            ]
          },
          "rejectionReason": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "description",
          "iconUrl",
          "status",
          "rejectionReason",
          "userId",
          "createdAt",
          "updatedAt"
        ],
        "title": "App Extension Item",
        "description": "The full app extension object."
      },
      "CreateAppInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 80
          },
          "slug": {
            "type": "string",
            "minLength": 3,
            "maxLength": 80,
            "pattern": "^[a-z0-9-]+$"
          },
          "iconUrl": {
            "type": "string",
            "format": "uri"
          },
          "appUrl": {
            "type": "string",
            "format": "uri"
          },
          "description": {
            "type": "string",
            "minLength": 20,
            "maxLength": 2000
          },
          "needsSecret": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "slug",
          "iconUrl",
          "appUrl",
          "description"
        ],
        "additionalProperties": false,
        "title": "Create App Input",
        "description": "Payload to register a new app in the Webround marketplace."
      },
      "UpdateAppInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 80
          },
          "slug": {
            "type": "string",
            "minLength": 3,
            "maxLength": 80,
            "pattern": "^[a-z0-9-]+$"
          },
          "iconUrl": {
            "type": "string",
            "format": "uri"
          },
          "appUrl": {
            "type": "string",
            "format": "uri"
          },
          "description": {
            "type": "string",
            "minLength": 20,
            "maxLength": 2000
          },
          "needsSecret": {
            "default": false,
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "title": "Update App Input",
        "description": "Partial update of an app. Only allowed when status is draft or rejected."
      },
      "AppExtensionDeletedResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "id"
        ],
        "title": "App Extension Deletion Response",
        "description": "Response containing the ID of the deleted app."
      },
      "AppCustomerListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                },
                "iconUrl": {
                  "type": "string",
                  "format": "uri",
                  "nullable": true
                },
                "appUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "needsSecret": {
                  "type": "boolean"
                },
                "publishedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "name",
                "slug",
                "iconUrl",
                "appUrl",
                "description",
                "needsSecret",
                "publishedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Marketplace App List Response",
        "description": "Paginated list of published apps available in the marketplace."
      },
      "AppBookmarkListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                },
                "iconUrl": {
                  "type": "string",
                  "format": "uri",
                  "nullable": true
                },
                "appUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "needsSecret": {
                  "type": "boolean"
                },
                "hasSecret": {
                  "type": "boolean"
                },
                "bookmarkedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "name",
                "slug",
                "iconUrl",
                "appUrl",
                "description",
                "needsSecret",
                "hasSecret",
                "bookmarkedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Bookmarked Apps Response",
        "description": "List of apps currently installed or bookmarked by the store."
      },
      "AppLaunchUrlResponseDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "url"
        ],
        "title": "Launch URL Response",
        "description": "The signed URL used to open the app extension safely."
      },
      "CreatePrivateAppInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 80
          },
          "iconUrl": {
            "type": "string",
            "format": "uri"
          },
          "appUrl": {
            "type": "string",
            "format": "uri"
          },
          "needsSecret": {
            "default": false,
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "minLength": 10,
            "maxLength": 2000
          }
        },
        "required": [
          "name",
          "iconUrl",
          "appUrl",
          "description"
        ],
        "additionalProperties": false,
        "title": "Create Private App Input",
        "description": "Payload to create a private app bookmark directly for this store, without going through the public marketplace."
      },
      "AppPrivateCreatedResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "secret": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "secret"
        ],
        "title": "Private App Created Response",
        "description": "Contains the ID and the generated secret for the private app."
      },
      "AppBookmarkResponseDTO": {
        "type": "object",
        "properties": {
          "secret": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "secret"
        ],
        "title": "Bookmark Action Response",
        "description": "Response containing the generated secret if required by the app."
      },
      "AssetListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "image",
                    "document",
                    "video"
                  ]
                },
                "alt": {
                  "type": "string",
                  "nullable": true
                },
                "fileName": {
                  "type": "string"
                },
                "size": {
                  "type": "number",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "url",
                "type",
                "alt",
                "fileName",
                "size",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Asset List Response",
        "description": "Paginated list of assets."
      },
      "AssetItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "type": {
            "type": "string",
            "enum": [
              "image",
              "document",
              "video"
            ]
          },
          "alt": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string"
          },
          "size": {
            "type": "number",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "storeId",
          "url",
          "type",
          "alt",
          "fileName",
          "size",
          "createdAt",
          "updatedAt"
        ],
        "title": "Asset Item",
        "description": "The full asset object."
      },
      "CreateManyAssetsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "image",
                    "video",
                    "document"
                  ]
                },
                "alt": {
                  "type": "string",
                  "maxLength": 1000
                },
                "fileName": {
                  "type": "string",
                  "maxLength": 1000
                },
                "size": {
                  "type": "integer",
                  "minimum": 0
                },
                "thumbnail": {
                  "type": "string",
                  "format": "uri"
                },
                "externalId": {
                  "type": "string",
                  "maxLength": 255
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "alt": {
                        "type": "string",
                        "maxLength": 1000
                      }
                    }
                  }
                }
              },
              "required": [
                "url",
                "type",
                "fileName"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Create Many Assets Input",
        "description": "Bulk registration of multiple assets. Highly efficient for mass library initialization. Use Core APIs if you want to upload file binaries"
      },
      "DeleteManyAssetsInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "title": "Delete Many Assets Input",
        "description": "Bulk deletion request. Accepts an array of asset UUIDs for permanent removal."
      },
      "AssetDeletedResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "type": {
            "type": "string",
            "enum": [
              "image",
              "document",
              "video"
            ]
          },
          "alt": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string"
          },
          "size": {
            "type": "number",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "storeId",
          "url",
          "type",
          "alt",
          "fileName",
          "size",
          "createdAt",
          "updatedAt"
        ],
        "title": "Asset Deleted Response",
        "description": "The deleted asset object."
      },
      "CreateAssetInputDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "type": {
            "type": "string",
            "enum": [
              "image",
              "video",
              "document"
            ]
          },
          "alt": {
            "type": "string",
            "maxLength": 1000
          },
          "fileName": {
            "type": "string",
            "maxLength": 1000
          },
          "size": {
            "type": "integer",
            "minimum": 0
          },
          "thumbnail": {
            "type": "string",
            "format": "uri"
          },
          "externalId": {
            "type": "string",
            "maxLength": 255
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "alt": {
                  "type": "string",
                  "maxLength": 1000
                }
              }
            }
          }
        },
        "required": [
          "url",
          "type",
          "fileName"
        ],
        "additionalProperties": false,
        "description": "Metadata for new asset registration. Use Core APIs if you want to upload file binaries"
      },
      "UpdateManyAssetsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "alt": {
                  "type": "string",
                  "maxLength": 1000
                },
                "thumbnail": {
                  "type": "string",
                  "format": "uri"
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Update Many Assets Input",
        "description": "Bulk update operation. Allows modifying metadata for multiple assets in a single atomic transaction."
      },
      "UpdateAssetInputDTO": {
        "type": "object",
        "properties": {
          "alt": {
            "type": "string",
            "maxLength": 1000
          },
          "thumbnail": {
            "type": "string",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "Asset metadata to be updated"
      },
      "AttributeListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "label": {
                  "type": "string",
                  "nullable": true
                },
                "icon": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "string",
                    "number",
                    "date"
                  ]
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "year",
                    "month-year",
                    "date",
                    "datetime",
                    "datetime+tz"
                  ],
                  "nullable": true
                },
                "position": {
                  "type": "number"
                },
                "visible": {
                  "type": "boolean"
                },
                "relevant": {
                  "type": "boolean"
                },
                "sortable": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "label": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "name",
                      "label"
                    ]
                  }
                }
              },
              "required": [
                "id",
                "storeId",
                "name",
                "label",
                "icon",
                "type",
                "position",
                "visible",
                "relevant",
                "sortable",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Attribute List Response",
        "description": "Paginated list of attributes."
      },
      "AttributeItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "icon": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "string",
              "number",
              "date"
            ]
          },
          "format": {
            "type": "string",
            "enum": [
              "year",
              "month-year",
              "date",
              "datetime",
              "datetime+tz"
            ],
            "nullable": true
          },
          "position": {
            "type": "number"
          },
          "visible": {
            "type": "boolean"
          },
          "relevant": {
            "type": "boolean"
          },
          "sortable": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "label": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "name",
                "label"
              ]
            }
          }
        },
        "required": [
          "id",
          "storeId",
          "name",
          "label",
          "icon",
          "type",
          "position",
          "visible",
          "relevant",
          "sortable",
          "createdAt",
          "updatedAt"
        ],
        "title": "Attribute Item",
        "description": "Full attribute object including default translations."
      },
      "CreateManyAttributesInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                },
                "label": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100
                },
                "position": {
                  "default": 0,
                  "type": "number"
                },
                "visible": {
                  "default": true,
                  "type": "boolean"
                },
                "sortable": {
                  "default": false,
                  "type": "boolean"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "string",
                    "number",
                    "date"
                  ]
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "year",
                    "month-year",
                    "date",
                    "datetime",
                    "datetime+tz"
                  ]
                },
                "relevant": {
                  "default": false,
                  "type": "boolean"
                },
                "icon": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "label": {
                        "type": "string",
                        "minLength": 0,
                        "maxLength": 100
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                }
              },
              "required": [
                "name",
                "type"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Create Many Attributes Input",
        "description": "Bulk registration of product attributes."
      },
      "DeleteManyAttributesInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Delete Many Attributes Input",
        "description": "IDs of the attributes to be removed in bulk."
      },
      "CreateAttributeInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "label": {
            "type": "string",
            "minLength": 0,
            "maxLength": 100
          },
          "position": {
            "default": 0,
            "type": "number"
          },
          "visible": {
            "default": true,
            "type": "boolean"
          },
          "sortable": {
            "default": false,
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "string",
              "number",
              "date"
            ]
          },
          "format": {
            "type": "string",
            "enum": [
              "year",
              "month-year",
              "date",
              "datetime",
              "datetime+tz"
            ]
          },
          "relevant": {
            "default": false,
            "type": "boolean"
          },
          "icon": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                },
                "label": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "required": [
          "name",
          "type"
        ],
        "additionalProperties": false,
        "title": "Create Attribute Input",
        "description": "Data for a single product attribute (e.g., Color, Size)."
      },
      "UpdateManyAttributesInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                },
                "label": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100
                },
                "position": {
                  "default": 0,
                  "type": "number"
                },
                "visible": {
                  "default": true,
                  "type": "boolean"
                },
                "sortable": {
                  "default": false,
                  "type": "boolean"
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "year",
                    "month-year",
                    "date",
                    "datetime",
                    "datetime+tz"
                  ]
                },
                "relevant": {
                  "default": false,
                  "type": "boolean"
                },
                "icon": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "label": {
                        "type": "string",
                        "minLength": 0,
                        "maxLength": 100
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Update Many Attributes Input",
        "description": "Bulk update of multiple attribute configurations."
      },
      "UpdateAttributeInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "label": {
            "type": "string",
            "minLength": 0,
            "maxLength": 100
          },
          "position": {
            "default": 0,
            "type": "number"
          },
          "visible": {
            "default": true,
            "type": "boolean"
          },
          "sortable": {
            "default": false,
            "type": "boolean"
          },
          "format": {
            "type": "string",
            "enum": [
              "year",
              "month-year",
              "date",
              "datetime",
              "datetime+tz"
            ]
          },
          "relevant": {
            "default": false,
            "type": "boolean"
          },
          "icon": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                },
                "label": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "additionalProperties": false,
        "title": "Update Attribute Input",
        "description": "Data for updating an existing attribute configuration."
      },
      "CartResponseDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "priceId": {
                  "type": "string",
                  "format": "uuid"
                },
                "productId": {
                  "type": "string",
                  "format": "uuid"
                },
                "variantName": {
                  "type": "string",
                  "nullable": true
                },
                "productName": {
                  "type": "string",
                  "nullable": true
                },
                "variantSlug": {
                  "type": "string"
                },
                "skuCode": {
                  "type": "string",
                  "nullable": true
                },
                "coverUrl": {
                  "type": "string",
                  "nullable": true
                },
                "quantity": {
                  "type": "integer"
                },
                "originalPrice": {
                  "type": "number"
                },
                "comparePrice": {
                  "type": "number"
                },
                "netAmount": {
                  "type": "number"
                },
                "totalAmount": {
                  "type": "number"
                },
                "grossAmount": {
                  "type": "number"
                },
                "totalGrossAmount": {
                  "type": "number"
                },
                "taxRate": {
                  "type": "number"
                },
                "defaultTaxRate": {
                  "type": "number"
                },
                "currencyCode": {
                  "type": "string"
                },
                "cadence": {
                  "type": "string",
                  "nullable": true
                },
                "isAvailable": {
                  "type": "boolean"
                },
                "available": {
                  "type": "number"
                },
                "options": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "optionName": {
                        "type": "string"
                      },
                      "tagValue": {
                        "type": "string"
                      },
                      "tagValueAlias": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "optionName",
                      "tagValue",
                      "tagValueAlias"
                    ]
                  }
                },
                "shippingZones": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "label": {
                        "type": "string"
                      },
                      "countryCode": {
                        "type": "string"
                      },
                      "surchargePricing": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "base": {
                              "type": "number",
                              "minimum": 0,
                              "multipleOf": 0.01
                            },
                            "percentage": {
                              "type": "number",
                              "minimum": 0,
                              "multipleOf": 0.01
                            }
                          },
                          "required": [
                            "base",
                            "percentage"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "taxRate": {
                        "type": "number"
                      },
                      "stripeTaxRateId": {
                        "type": "string",
                        "nullable": true
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "countryCode",
                      "surchargePricing",
                      "taxRate",
                      "stripeTaxRateId",
                      "createdAt",
                      "updatedAt"
                    ]
                  }
                },
                "shippingMethods": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "label": {
                        "type": "string"
                      },
                      "provider": {
                        "type": "string",
                        "nullable": true
                      },
                      "availableCountries": {
                        "type": "string",
                        "enum": [
                          "AF",
                          "AX",
                          "AL",
                          "DZ",
                          "AS",
                          "AD",
                          "AO",
                          "AI",
                          "AQ",
                          "AG",
                          "AR",
                          "AM",
                          "AW",
                          "AU",
                          "AT",
                          "AZ",
                          "BS",
                          "BH",
                          "BD",
                          "BB",
                          "BY",
                          "BE",
                          "BZ",
                          "BJ",
                          "BM",
                          "BT",
                          "BO",
                          "BQ",
                          "BA",
                          "BW",
                          "BV",
                          "BR",
                          "IO",
                          "BN",
                          "BG",
                          "BF",
                          "BI",
                          "CV",
                          "KH",
                          "CM",
                          "CA",
                          "KY",
                          "CF",
                          "TD",
                          "CL",
                          "CN",
                          "CX",
                          "CC",
                          "CO",
                          "KM",
                          "CG",
                          "CD",
                          "CK",
                          "CR",
                          "CI",
                          "HR",
                          "CU",
                          "CW",
                          "CY",
                          "CZ",
                          "DK",
                          "DJ",
                          "DM",
                          "DO",
                          "EC",
                          "EG",
                          "SV",
                          "GQ",
                          "ER",
                          "EE",
                          "ET",
                          "FK",
                          "FO",
                          "FJ",
                          "FI",
                          "FR",
                          "GF",
                          "PF",
                          "TF",
                          "GA",
                          "GM",
                          "GE",
                          "DE",
                          "GH",
                          "GI",
                          "GR",
                          "GL",
                          "GD",
                          "GP",
                          "GU",
                          "GT",
                          "GG",
                          "GN",
                          "GW",
                          "GY",
                          "HT",
                          "HM",
                          "VA",
                          "HN",
                          "HK",
                          "HU",
                          "IS",
                          "IN",
                          "ID",
                          "IR",
                          "IQ",
                          "IE",
                          "IM",
                          "IL",
                          "IT",
                          "JM",
                          "JP",
                          "JE",
                          "JO",
                          "KZ",
                          "KE",
                          "KI",
                          "KP",
                          "KR",
                          "KW",
                          "KG",
                          "LA",
                          "LV",
                          "LB",
                          "LS",
                          "LR",
                          "LY",
                          "LI",
                          "LT",
                          "LU",
                          "MO",
                          "MK",
                          "MG",
                          "MW",
                          "MY",
                          "MV",
                          "ML",
                          "MT",
                          "MH",
                          "MQ",
                          "MR",
                          "MU",
                          "YT",
                          "MX",
                          "FM",
                          "MD",
                          "MC",
                          "MN",
                          "ME",
                          "MS",
                          "MA",
                          "MZ",
                          "MM",
                          "NA",
                          "NR",
                          "NP",
                          "NL",
                          "NC",
                          "NZ",
                          "NI",
                          "NE",
                          "NG",
                          "NU",
                          "NF",
                          "MP",
                          "NO",
                          "OM",
                          "PK",
                          "PW",
                          "PS",
                          "PA",
                          "PG",
                          "PY",
                          "PE",
                          "PH",
                          "PN",
                          "PL",
                          "PT",
                          "PR",
                          "QA",
                          "RE",
                          "RO",
                          "RU",
                          "RW",
                          "BL",
                          "SH",
                          "KN",
                          "LC",
                          "MF",
                          "PM",
                          "VC",
                          "WS",
                          "SM",
                          "ST",
                          "SA",
                          "SN",
                          "RS",
                          "SC",
                          "SL",
                          "SG",
                          "SX",
                          "SK",
                          "SI",
                          "SB",
                          "SO",
                          "ZA",
                          "GS",
                          "SS",
                          "ES",
                          "LK",
                          "SD",
                          "SR",
                          "SJ",
                          "SZ",
                          "SE",
                          "CH",
                          "SY",
                          "TW",
                          "TJ",
                          "TZ",
                          "TH",
                          "TL",
                          "TG",
                          "TK",
                          "TO",
                          "TT",
                          "TN",
                          "TR",
                          "TM",
                          "TC",
                          "TV",
                          "UG",
                          "UA",
                          "AE",
                          "GB",
                          "US",
                          "UM",
                          "UY",
                          "UZ",
                          "VU",
                          "VE",
                          "VN",
                          "VG",
                          "VI",
                          "WF",
                          "EH",
                          "YE",
                          "ZM",
                          "ZW"
                        ],
                        "nullable": true
                      },
                      "etaMin": {
                        "type": "number",
                        "nullable": true
                      },
                      "etaMax": {
                        "type": "number",
                        "nullable": true
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "pricing": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "mode": {
                              "default": "bracket",
                              "type": "string",
                              "enum": [
                                "bracket",
                                "tiered"
                              ]
                            },
                            "overflowBehavior": {
                              "default": "block",
                              "type": "string",
                              "enum": [
                                "block",
                                "last_tier"
                              ]
                            },
                            "base": {
                              "type": "number",
                              "minimum": 0,
                              "multipleOf": 0.01
                            },
                            "enableFreeShipping": {
                              "type": "boolean"
                            },
                            "freeShippingThreshold": {
                              "type": "number",
                              "minimum": 0,
                              "multipleOf": 0.01
                            },
                            "tiers": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "perKg": {
                                    "type": "number",
                                    "minimum": 0,
                                    "multipleOf": 0.01,
                                    "nullable": true
                                  },
                                  "perVolume": {
                                    "type": "number",
                                    "minimum": 0,
                                    "multipleOf": 0.01,
                                    "nullable": true
                                  },
                                  "fromWeight": {
                                    "type": "integer",
                                    "minimum": 0,
                                    "nullable": true
                                  },
                                  "toWeight": {
                                    "type": "integer",
                                    "minimum": 0,
                                    "nullable": true
                                  },
                                  "fromVolume": {
                                    "type": "integer",
                                    "minimum": 0,
                                    "nullable": true
                                  },
                                  "toVolume": {
                                    "type": "integer",
                                    "minimum": 0,
                                    "nullable": true
                                  }
                                },
                                "additionalProperties": false
                              },
                              "minItems": 1
                            }
                          },
                          "required": [
                            "base",
                            "freeShippingThreshold",
                            "tiers"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "maxWeight": {
                        "type": "number",
                        "nullable": true
                      },
                      "maxVolume": {
                        "type": "number",
                        "nullable": true
                      },
                      "assetId": {
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "provider",
                      "etaMin",
                      "etaMax",
                      "enabled",
                      "pricing",
                      "maxWeight",
                      "maxVolume",
                      "assetId"
                    ]
                  }
                },
                "taxZones": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "label": {
                        "type": "string"
                      },
                      "rate": {
                        "type": "number"
                      },
                      "countryCode": {
                        "type": "string",
                        "enum": [
                          "AF",
                          "AX",
                          "AL",
                          "DZ",
                          "AS",
                          "AD",
                          "AO",
                          "AI",
                          "AQ",
                          "AG",
                          "AR",
                          "AM",
                          "AW",
                          "AU",
                          "AT",
                          "AZ",
                          "BS",
                          "BH",
                          "BD",
                          "BB",
                          "BY",
                          "BE",
                          "BZ",
                          "BJ",
                          "BM",
                          "BT",
                          "BO",
                          "BQ",
                          "BA",
                          "BW",
                          "BV",
                          "BR",
                          "IO",
                          "BN",
                          "BG",
                          "BF",
                          "BI",
                          "CV",
                          "KH",
                          "CM",
                          "CA",
                          "KY",
                          "CF",
                          "TD",
                          "CL",
                          "CN",
                          "CX",
                          "CC",
                          "CO",
                          "KM",
                          "CG",
                          "CD",
                          "CK",
                          "CR",
                          "CI",
                          "HR",
                          "CU",
                          "CW",
                          "CY",
                          "CZ",
                          "DK",
                          "DJ",
                          "DM",
                          "DO",
                          "EC",
                          "EG",
                          "SV",
                          "GQ",
                          "ER",
                          "EE",
                          "ET",
                          "FK",
                          "FO",
                          "FJ",
                          "FI",
                          "FR",
                          "GF",
                          "PF",
                          "TF",
                          "GA",
                          "GM",
                          "GE",
                          "DE",
                          "GH",
                          "GI",
                          "GR",
                          "GL",
                          "GD",
                          "GP",
                          "GU",
                          "GT",
                          "GG",
                          "GN",
                          "GW",
                          "GY",
                          "HT",
                          "HM",
                          "VA",
                          "HN",
                          "HK",
                          "HU",
                          "IS",
                          "IN",
                          "ID",
                          "IR",
                          "IQ",
                          "IE",
                          "IM",
                          "IL",
                          "IT",
                          "JM",
                          "JP",
                          "JE",
                          "JO",
                          "KZ",
                          "KE",
                          "KI",
                          "KP",
                          "KR",
                          "KW",
                          "KG",
                          "LA",
                          "LV",
                          "LB",
                          "LS",
                          "LR",
                          "LY",
                          "LI",
                          "LT",
                          "LU",
                          "MO",
                          "MK",
                          "MG",
                          "MW",
                          "MY",
                          "MV",
                          "ML",
                          "MT",
                          "MH",
                          "MQ",
                          "MR",
                          "MU",
                          "YT",
                          "MX",
                          "FM",
                          "MD",
                          "MC",
                          "MN",
                          "ME",
                          "MS",
                          "MA",
                          "MZ",
                          "MM",
                          "NA",
                          "NR",
                          "NP",
                          "NL",
                          "NC",
                          "NZ",
                          "NI",
                          "NE",
                          "NG",
                          "NU",
                          "NF",
                          "MP",
                          "NO",
                          "OM",
                          "PK",
                          "PW",
                          "PS",
                          "PA",
                          "PG",
                          "PY",
                          "PE",
                          "PH",
                          "PN",
                          "PL",
                          "PT",
                          "PR",
                          "QA",
                          "RE",
                          "RO",
                          "RU",
                          "RW",
                          "BL",
                          "SH",
                          "KN",
                          "LC",
                          "MF",
                          "PM",
                          "VC",
                          "WS",
                          "SM",
                          "ST",
                          "SA",
                          "SN",
                          "RS",
                          "SC",
                          "SL",
                          "SG",
                          "SX",
                          "SK",
                          "SI",
                          "SB",
                          "SO",
                          "ZA",
                          "GS",
                          "SS",
                          "ES",
                          "LK",
                          "SD",
                          "SR",
                          "SJ",
                          "SZ",
                          "SE",
                          "CH",
                          "SY",
                          "TW",
                          "TJ",
                          "TZ",
                          "TH",
                          "TL",
                          "TG",
                          "TK",
                          "TO",
                          "TT",
                          "TN",
                          "TR",
                          "TM",
                          "TC",
                          "TV",
                          "UG",
                          "UA",
                          "AE",
                          "GB",
                          "US",
                          "UM",
                          "UY",
                          "UZ",
                          "VU",
                          "VE",
                          "VN",
                          "VG",
                          "VI",
                          "WF",
                          "EH",
                          "YE",
                          "ZM",
                          "ZW"
                        ]
                      },
                      "isDefault": {
                        "type": "boolean"
                      },
                      "stripeTaxRateId": {
                        "type": "string",
                        "nullable": true
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "rate",
                      "countryCode",
                      "isDefault"
                    ]
                  }
                },
                "resolvedZone": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "label": {
                      "type": "string"
                    },
                    "rate": {
                      "type": "number"
                    },
                    "countryCode": {
                      "type": "string",
                      "enum": [
                        "AF",
                        "AX",
                        "AL",
                        "DZ",
                        "AS",
                        "AD",
                        "AO",
                        "AI",
                        "AQ",
                        "AG",
                        "AR",
                        "AM",
                        "AW",
                        "AU",
                        "AT",
                        "AZ",
                        "BS",
                        "BH",
                        "BD",
                        "BB",
                        "BY",
                        "BE",
                        "BZ",
                        "BJ",
                        "BM",
                        "BT",
                        "BO",
                        "BQ",
                        "BA",
                        "BW",
                        "BV",
                        "BR",
                        "IO",
                        "BN",
                        "BG",
                        "BF",
                        "BI",
                        "CV",
                        "KH",
                        "CM",
                        "CA",
                        "KY",
                        "CF",
                        "TD",
                        "CL",
                        "CN",
                        "CX",
                        "CC",
                        "CO",
                        "KM",
                        "CG",
                        "CD",
                        "CK",
                        "CR",
                        "CI",
                        "HR",
                        "CU",
                        "CW",
                        "CY",
                        "CZ",
                        "DK",
                        "DJ",
                        "DM",
                        "DO",
                        "EC",
                        "EG",
                        "SV",
                        "GQ",
                        "ER",
                        "EE",
                        "ET",
                        "FK",
                        "FO",
                        "FJ",
                        "FI",
                        "FR",
                        "GF",
                        "PF",
                        "TF",
                        "GA",
                        "GM",
                        "GE",
                        "DE",
                        "GH",
                        "GI",
                        "GR",
                        "GL",
                        "GD",
                        "GP",
                        "GU",
                        "GT",
                        "GG",
                        "GN",
                        "GW",
                        "GY",
                        "HT",
                        "HM",
                        "VA",
                        "HN",
                        "HK",
                        "HU",
                        "IS",
                        "IN",
                        "ID",
                        "IR",
                        "IQ",
                        "IE",
                        "IM",
                        "IL",
                        "IT",
                        "JM",
                        "JP",
                        "JE",
                        "JO",
                        "KZ",
                        "KE",
                        "KI",
                        "KP",
                        "KR",
                        "KW",
                        "KG",
                        "LA",
                        "LV",
                        "LB",
                        "LS",
                        "LR",
                        "LY",
                        "LI",
                        "LT",
                        "LU",
                        "MO",
                        "MK",
                        "MG",
                        "MW",
                        "MY",
                        "MV",
                        "ML",
                        "MT",
                        "MH",
                        "MQ",
                        "MR",
                        "MU",
                        "YT",
                        "MX",
                        "FM",
                        "MD",
                        "MC",
                        "MN",
                        "ME",
                        "MS",
                        "MA",
                        "MZ",
                        "MM",
                        "NA",
                        "NR",
                        "NP",
                        "NL",
                        "NC",
                        "NZ",
                        "NI",
                        "NE",
                        "NG",
                        "NU",
                        "NF",
                        "MP",
                        "NO",
                        "OM",
                        "PK",
                        "PW",
                        "PS",
                        "PA",
                        "PG",
                        "PY",
                        "PE",
                        "PH",
                        "PN",
                        "PL",
                        "PT",
                        "PR",
                        "QA",
                        "RE",
                        "RO",
                        "RU",
                        "RW",
                        "BL",
                        "SH",
                        "KN",
                        "LC",
                        "MF",
                        "PM",
                        "VC",
                        "WS",
                        "SM",
                        "ST",
                        "SA",
                        "SN",
                        "RS",
                        "SC",
                        "SL",
                        "SG",
                        "SX",
                        "SK",
                        "SI",
                        "SB",
                        "SO",
                        "ZA",
                        "GS",
                        "SS",
                        "ES",
                        "LK",
                        "SD",
                        "SR",
                        "SJ",
                        "SZ",
                        "SE",
                        "CH",
                        "SY",
                        "TW",
                        "TJ",
                        "TZ",
                        "TH",
                        "TL",
                        "TG",
                        "TK",
                        "TO",
                        "TT",
                        "TN",
                        "TR",
                        "TM",
                        "TC",
                        "TV",
                        "UG",
                        "UA",
                        "AE",
                        "GB",
                        "US",
                        "UM",
                        "UY",
                        "UZ",
                        "VU",
                        "VE",
                        "VN",
                        "VG",
                        "VI",
                        "WF",
                        "EH",
                        "YE",
                        "ZM",
                        "ZW"
                      ]
                    },
                    "isDefault": {
                      "type": "boolean"
                    },
                    "stripeTaxRateId": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "label",
                    "rate",
                    "countryCode",
                    "isDefault"
                  ],
                  "nullable": true
                },
                "deliveryMethods": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "allowBackorder": {
                  "type": "boolean"
                },
                "purchaseRestock": {
                  "type": "boolean"
                },
                "allowFreeShipping": {
                  "type": "boolean"
                },
                "forceFreeShipping": {
                  "type": "boolean"
                },
                "packageWeight": {
                  "type": "number"
                },
                "packageLength": {
                  "type": "number"
                },
                "packageWidth": {
                  "type": "number"
                },
                "packageHeight": {
                  "type": "number"
                },
                "packageVolume": {
                  "type": "number"
                }
              },
              "required": [
                "variantId",
                "priceId",
                "productId",
                "variantName",
                "productName",
                "variantSlug",
                "skuCode",
                "coverUrl",
                "quantity",
                "originalPrice",
                "comparePrice",
                "netAmount",
                "totalAmount",
                "grossAmount",
                "totalGrossAmount",
                "taxRate",
                "defaultTaxRate",
                "currencyCode",
                "cadence",
                "isAvailable",
                "available",
                "options",
                "shippingZones",
                "shippingMethods",
                "taxZones",
                "resolvedZone",
                "deliveryMethods",
                "allowBackorder",
                "purchaseRestock",
                "allowFreeShipping",
                "forceFreeShipping"
              ]
            }
          },
          "totalAmount": {
            "type": "number"
          },
          "totalGrossAmount": {
            "type": "number"
          }
        },
        "required": [
          "items",
          "totalAmount",
          "totalGrossAmount"
        ],
        "title": "Cart Response",
        "description": "Full cart with items, totals and availability."
      },
      "MergeCustomerCartInputDTO": {
        "type": "object",
        "properties": {
          "langCode": {
            "default": "default",
            "type": "string",
            "enum": [
              "af",
              "am",
              "sq",
              "ar",
              "hy",
              "az",
              "eu",
              "be",
              "bn",
              "bs",
              "bg",
              "ca",
              "ceb",
              "ny",
              "zh",
              "co",
              "hr",
              "cs",
              "da",
              "nl",
              "sjn",
              "en",
              "eo",
              "et",
              "tl",
              "fo",
              "fj",
              "fi",
              "fr",
              "fy",
              "gl",
              "ka",
              "de",
              "el",
              "gu",
              "haw",
              "ht",
              "ha",
              "he",
              "hi",
              "hmn",
              "hu",
              "is",
              "ig",
              "id",
              "iu",
              "iku",
              "ga",
              "it",
              "ja",
              "jw",
              "kk",
              "kn",
              "km",
              "ko",
              "kok",
              "ky",
              "ku",
              "ckb",
              "sdh",
              "lo",
              "lv",
              "lt",
              "lb",
              "mk",
              "mg",
              "ms",
              "ml",
              "mt",
              "mr",
              "mn",
              "mi",
              "my",
              "ne",
              "no",
              "pap",
              "fa",
              "pl",
              "pt",
              "pa",
              "ps",
              "otq",
              "ro",
              "ru",
              "sm",
              "gd",
              "sr",
              "sr-LA",
              "sd",
              "si",
              "sk",
              "sl",
              "sn",
              "st",
              "so",
              "es",
              "su",
              "sw",
              "sv",
              "ty",
              "ta",
              "tg",
              "te",
              "th",
              "bo",
              "to",
              "tr",
              "uk",
              "ur",
              "uz",
              "vi",
              "cy",
              "xh",
              "yi",
              "yo",
              "yua",
              "yue",
              "zu",
              "default"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "priceId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 10000
                }
              },
              "required": [
                "variantId",
                "priceId",
                "quantity"
              ],
              "additionalProperties": false
            },
            "maxItems": 100
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Merge Cart Input",
        "description": "A collection of items from a guest/local session to be merged into the customer account."
      },
      "CreateCustomerCartItemInputDTO": {
        "type": "object",
        "properties": {
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "priceId": {
            "type": "string",
            "format": "uuid"
          },
          "quantity": {
            "type": "number",
            "minimum": 1,
            "maximum": 10000
          }
        },
        "required": [
          "variantId",
          "priceId",
          "quantity"
        ],
        "additionalProperties": false,
        "title": "Add to Cart Input",
        "description": "Parameters required to add a product variant to the cart."
      },
      "CartItemActionResponseDTO": {
        "type": "object",
        "properties": {
          "created": {
            "type": "boolean"
          },
          "updated": {
            "type": "boolean"
          },
          "deleted": {
            "type": "boolean"
          },
          "quantity": {
            "type": "integer"
          }
        },
        "title": "Cart Item Action Response",
        "description": "Feedback for add, update, or remove operations on cart items."
      },
      "UpdateCustomerCartItemInputDTO": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "minimum": 1,
            "maximum": 10000
          }
        },
        "required": [
          "quantity"
        ],
        "additionalProperties": false,
        "title": "Update Cart Item Input",
        "description": "New quantity for a specific item already in the cart."
      },
      "CartMergeResponseDTO": {
        "type": "object",
        "properties": {
          "merged": {
            "type": "boolean"
          },
          "fallbackApplied": {
            "type": "boolean"
          }
        },
        "required": [
          "merged",
          "fallbackApplied"
        ],
        "title": "Cart Merge Response",
        "description": "Result of merging guest cart items into a customer profile."
      },
      "PromotionVerifyInputDTO": {
        "type": "object",
        "properties": {
          "codes": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "maxItems": 10
          },
          "cartTotal": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "cartCurrency": {
            "type": "string",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ARS",
              "AUD",
              "AZN",
              "BAM",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BND",
              "BOB",
              "BRL",
              "BWP",
              "BYR",
              "BZD",
              "CDF",
              "CHF",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EEK",
              "EGP",
              "ERN",
              "ETB",
              "GBP",
              "GEL",
              "GHS",
              "GNF",
              "GTQ",
              "HKD",
              "HNL",
              "HRK",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KHR",
              "KMF",
              "KRW",
              "KWD",
              "KZT",
              "LBP",
              "LKR",
              "LTL",
              "LVL",
              "LYD",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MOP",
              "MUR",
              "MXN",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SDG",
              "SEK",
              "SGD",
              "SOS",
              "SYP",
              "THB",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "UYU",
              "UZS",
              "VEF",
              "VND",
              "XAF",
              "XOF",
              "YER",
              "ZAR",
              "ZMK"
            ]
          },
          "variantIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "maxItems": 99
          },
          "langCode": {
            "default": "default",
            "type": "string",
            "enum": [
              "af",
              "am",
              "sq",
              "ar",
              "hy",
              "az",
              "eu",
              "be",
              "bn",
              "bs",
              "bg",
              "ca",
              "ceb",
              "ny",
              "zh",
              "co",
              "hr",
              "cs",
              "da",
              "nl",
              "sjn",
              "en",
              "eo",
              "et",
              "tl",
              "fo",
              "fj",
              "fi",
              "fr",
              "fy",
              "gl",
              "ka",
              "de",
              "el",
              "gu",
              "haw",
              "ht",
              "ha",
              "he",
              "hi",
              "hmn",
              "hu",
              "is",
              "ig",
              "id",
              "iu",
              "iku",
              "ga",
              "it",
              "ja",
              "jw",
              "kk",
              "kn",
              "km",
              "ko",
              "kok",
              "ky",
              "ku",
              "ckb",
              "sdh",
              "lo",
              "lv",
              "lt",
              "lb",
              "mk",
              "mg",
              "ms",
              "ml",
              "mt",
              "mr",
              "mn",
              "mi",
              "my",
              "ne",
              "no",
              "pap",
              "fa",
              "pl",
              "pt",
              "pa",
              "ps",
              "otq",
              "ro",
              "ru",
              "sm",
              "gd",
              "sr",
              "sr-LA",
              "sd",
              "si",
              "sk",
              "sl",
              "sn",
              "st",
              "so",
              "es",
              "su",
              "sw",
              "sv",
              "ty",
              "ta",
              "tg",
              "te",
              "th",
              "bo",
              "to",
              "tr",
              "uk",
              "ur",
              "uz",
              "vi",
              "cy",
              "xh",
              "yi",
              "yo",
              "yua",
              "yue",
              "zu",
              "default"
            ]
          }
        },
        "required": [
          "codes",
          "cartTotal",
          "cartCurrency",
          "variantIds"
        ],
        "additionalProperties": false,
        "title": "Promotion Verification Input",
        "description": "Discount codes and cart context to be validated."
      },
      "CartVerifyCodesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "active": {
                  "type": "boolean"
                },
                "target": {
                  "type": "string",
                  "enum": [
                    "catalog",
                    "order"
                  ]
                },
                "code": {
                  "type": "string",
                  "nullable": true
                },
                "position": {
                  "type": "number"
                },
                "discountType": {
                  "type": "string",
                  "enum": [
                    "percentage",
                    "fixed"
                  ]
                },
                "discountValue": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "base": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "base"
                      ]
                    },
                    {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "base": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "base"
                        ]
                      }
                    }
                  ],
                  "nullable": true
                },
                "limitUsageGlobal": {
                  "type": "boolean"
                },
                "limitUsageCustomer": {
                  "type": "boolean"
                },
                "maxUsesGlobal": {
                  "type": "number",
                  "nullable": true
                },
                "maxUsesPerCustomer": {
                  "type": "number",
                  "nullable": true
                },
                "minOrderAmount": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "base": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "base"
                    ]
                  },
                  "nullable": true
                },
                "exclusive": {
                  "type": "boolean"
                },
                "reserved": {
                  "type": "boolean"
                },
                "startsAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "endsAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "name",
                "description",
                "active",
                "target",
                "code",
                "position",
                "discountType",
                "discountValue",
                "limitUsageGlobal",
                "limitUsageCustomer",
                "maxUsesGlobal",
                "maxUsesPerCustomer",
                "minOrderAmount",
                "exclusive",
                "reserved",
                "startsAt",
                "endsAt",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "valid": {
            "type": "boolean"
          }
        },
        "required": [
          "data",
          "valid"
        ],
        "title": "Cart Verify Codes Response",
        "description": "List of valid promotions and verification status for the current cart."
      },
      "CartAnalyticsResultDTO": {
        "type": "object",
        "properties": {
          "kpi": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number"
              },
              "active": {
                "type": "number"
              },
              "converted": {
                "type": "number"
              },
              "abandoned": {
                "type": "number"
              },
              "authenticated": {
                "type": "number"
              },
              "guest": {
                "type": "number"
              },
              "withUnavailableItems": {
                "type": "number"
              },
              "totalGross": {
                "type": "number"
              },
              "avgGross": {
                "type": "number"
              },
              "avgConvertedGross": {
                "type": "number"
              },
              "revenueGross": {
                "type": "number"
              },
              "conversionRate": {
                "type": "number"
              },
              "abandonmentRate": {
                "type": "number"
              },
              "avgItemCount": {
                "type": "number"
              }
            },
            "required": [
              "total",
              "active",
              "converted",
              "abandoned",
              "authenticated",
              "guest",
              "withUnavailableItems",
              "totalGross",
              "avgGross",
              "avgConvertedGross",
              "revenueGross",
              "conversionRate",
              "abandonmentRate",
              "avgItemCount"
            ]
          },
          "carts": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "cartTrackingId": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "converted",
                        "abandoned"
                      ]
                    },
                    "totalGross": {
                      "type": "number"
                    },
                    "currencyCode": {
                      "type": "string"
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "hasUnavailableItems": {
                      "type": "boolean"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "variantId": {
                            "type": "string"
                          },
                          "productId": {
                            "type": "string"
                          },
                          "variantName": {
                            "type": "string",
                            "nullable": true
                          },
                          "variantSlug": {
                            "type": "string",
                            "nullable": true
                          },
                          "coverUrl": {
                            "type": "string",
                            "nullable": true
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "optionName": {
                                  "type": "string"
                                },
                                "optionValue": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "optionName",
                                "optionValue"
                              ]
                            }
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "unitNet": {
                            "type": "number"
                          },
                          "unitGross": {
                            "type": "number"
                          },
                          "lineNet": {
                            "type": "number"
                          },
                          "lineGross": {
                            "type": "number"
                          },
                          "appliedTaxRate": {
                            "type": "number"
                          },
                          "isAvailable": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "variantId",
                          "productId",
                          "variantName",
                          "variantSlug",
                          "coverUrl",
                          "options",
                          "quantity",
                          "unitNet",
                          "unitGross",
                          "lineNet",
                          "lineGross",
                          "appliedTaxRate",
                          "isAvailable"
                        ]
                      }
                    },
                    "isAuthenticated": {
                      "type": "boolean"
                    },
                    "customerEmail": {
                      "type": "string",
                      "nullable": true
                    },
                    "countryCode": {
                      "type": "string",
                      "nullable": true
                    },
                    "langCode": {
                      "type": "string",
                      "nullable": true
                    },
                    "deviceType": {
                      "type": "string",
                      "nullable": true
                    },
                    "occurredAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "cartTrackingId",
                    "status",
                    "totalGross",
                    "currencyCode",
                    "itemCount",
                    "hasUnavailableItems",
                    "items",
                    "isAuthenticated",
                    "customerEmail",
                    "countryCode",
                    "langCode",
                    "deviceType",
                    "occurredAt"
                  ]
                }
              }
            },
            "required": [
              "total",
              "data"
            ]
          },
          "topProducts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "variantId": {
                  "type": "string"
                },
                "productId": {
                  "type": "string"
                },
                "coverUrl": {
                  "type": "string",
                  "nullable": true
                },
                "variantName": {
                  "type": "string",
                  "nullable": true
                },
                "variantSlug": {
                  "type": "string",
                  "nullable": true
                },
                "totalQuantity": {
                  "type": "number"
                },
                "appearances": {
                  "type": "number"
                },
                "totalGross": {
                  "type": "number"
                },
                "avgUnitGross": {
                  "type": "number"
                }
              },
              "required": [
                "variantId",
                "productId",
                "coverUrl",
                "variantName",
                "variantSlug",
                "totalQuantity",
                "appearances",
                "totalGross",
                "avgUnitGross"
              ]
            }
          },
          "devices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "deviceType": {
                  "type": "string"
                },
                "total": {
                  "type": "number"
                },
                "converted": {
                  "type": "number"
                },
                "conversionRate": {
                  "type": "number"
                },
                "avgGross": {
                  "type": "number"
                }
              },
              "required": [
                "deviceType",
                "total",
                "converted",
                "conversionRate",
                "avgGross"
              ]
            }
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "countryCode": {
                  "type": "string"
                },
                "total": {
                  "type": "number"
                },
                "converted": {
                  "type": "number"
                },
                "conversionRate": {
                  "type": "number"
                },
                "totalGross": {
                  "type": "number"
                },
                "avgGross": {
                  "type": "number"
                }
              },
              "required": [
                "countryCode",
                "total",
                "converted",
                "conversionRate",
                "totalGross",
                "avgGross"
              ]
            }
          },
          "trend": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "day": {
                  "type": "string"
                },
                "active": {
                  "type": "number"
                },
                "converted": {
                  "type": "number"
                },
                "abandoned": {
                  "type": "number"
                },
                "revenue": {
                  "type": "number"
                }
              },
              "required": [
                "day",
                "active",
                "converted",
                "abandoned",
                "revenue"
              ]
            }
          }
        },
        "required": [
          "kpi",
          "carts",
          "topProducts",
          "devices",
          "countries",
          "trend"
        ],
        "title": "Cart Analytics Result",
        "description": "Full breakdown of KPIs, trends, top products, and geographical data."
      },
      "CheckoutHookListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "timeout": {
                  "type": "integer"
                },
                "onError": {
                  "type": "string",
                  "enum": [
                    "fail",
                    "ignore"
                  ]
                },
                "active": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "url",
                "timeout",
                "onError",
                "active",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Checkout Hook List",
        "description": "Paginated list of checkout hook configurations."
      },
      "CreateCheckoutHookInputDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "timeout": {
            "default": 5000,
            "type": "integer",
            "minimum": 500,
            "maximum": 15000
          },
          "onError": {
            "default": "passthrough",
            "type": "string",
            "enum": [
              "passthrough",
              "abort"
            ]
          },
          "active": {
            "default": true,
            "type": "boolean"
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false,
        "title": "Create Checkout Hook Input",
        "description": "Configuration for the store checkout hook endpoint."
      },
      "CheckoutHookCreatedDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "timeout": {
            "type": "integer"
          },
          "onError": {
            "type": "string",
            "enum": [
              "fail",
              "ignore"
            ]
          },
          "active": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "secret": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "url",
          "timeout",
          "onError",
          "active",
          "createdAt",
          "secret"
        ],
        "title": "Checkout Hook Created",
        "description": "Checkout hook configuration including the generated secret key."
      },
      "UpdateCheckoutHookInputDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "timeout": {
            "default": 5000,
            "type": "integer",
            "minimum": 500,
            "maximum": 15000
          },
          "onError": {
            "default": "passthrough",
            "type": "string",
            "enum": [
              "passthrough",
              "abort"
            ]
          },
          "active": {
            "default": true,
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "title": "Update Checkout Hook Input",
        "description": "Fields to update on the existing checkout hook."
      },
      "CheckoutHookItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "timeout": {
            "type": "integer"
          },
          "onError": {
            "type": "string",
            "enum": [
              "fail",
              "ignore"
            ]
          },
          "active": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "url",
          "timeout",
          "onError",
          "active",
          "createdAt",
          "updatedAt"
        ],
        "title": "Checkout Hook",
        "description": "The configuration of the store checkout hook."
      },
      "CheckoutHookLogResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "hookId": {
                  "type": "string",
                  "format": "uuid"
                },
                "requestPayload": {},
                "responsePayload": {
                  "nullable": true
                },
                "durationMs": {
                  "type": "number",
                  "nullable": true
                },
                "status": {
                  "type": "string"
                },
                "appliedFallback": {
                  "type": "boolean"
                },
                "errorMessage": {
                  "type": "string",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "hookId",
                "durationMs",
                "status",
                "appliedFallback",
                "errorMessage",
                "createdAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Checkout Hook Logs",
        "description": "Paginated list of checkout hook execution logs."
      },
      "InviteCollaboratorInputDTO": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false,
        "title": "Invite Collaborator",
        "description": "Email address of the person to be invited to the store."
      },
      "CollaboratorInviteResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "Collaborator Invite Response",
        "description": "Confirmation that the invitation email has been sent."
      },
      "CollaboratorAcceptInviteResponseDTO": {
        "type": "object",
        "properties": {
          "accepted": {
            "type": "boolean"
          },
          "alreadyCollaborator": {
            "type": "boolean"
          }
        },
        "required": [
          "accepted"
        ],
        "title": "Collaborator Accept Invite Response",
        "description": "Outcome of the invitation acceptance process."
      },
      "CollaboratorPaginationResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "userId": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "email": {
                  "type": "string",
                  "format": "email"
                },
                "displayName": {
                  "type": "string",
                  "nullable": true
                },
                "roles": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "userId",
                "storeId",
                "email",
                "displayName",
                "roles",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Collaborator Pagination Response",
        "description": "Paginated response containing the list of store collaborators."
      },
      "CollaboratorRemovedResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "Collaborator Removed Response",
        "description": "Confirmation that the collaborator has been removed."
      },
      "CollaboratorRolesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "collaboratorId": {
                  "type": "string",
                  "format": "uuid"
                },
                "roleId": {
                  "type": "string",
                  "format": "uuid"
                },
                "roleName": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "storeId",
                "collaboratorId",
                "roleId",
                "roleName",
                "createdAt",
                "updatedAt"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Collaborator Roles Response",
        "description": "List of all roles currently assigned to the collaborator."
      },
      "AssignRolesToCollaboratorInputDTO": {
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "roles"
        ],
        "additionalProperties": false,
        "title": "Assign Roles",
        "description": "List of role identifiers to be assigned to the collaborator."
      },
      "CollectionListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                },
                "parentId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "position": {
                  "type": "number",
                  "nullable": true
                },
                "visible": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {}
                }
              },
              "required": [
                "id",
                "storeId",
                "name",
                "slug",
                "parentId",
                "position",
                "visible",
                "createdAt",
                "updatedAt",
                "translations"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Collection List",
        "description": "Paginated collection list."
      },
      "CollectionItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "parentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "position": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "translations": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "id",
          "storeId",
          "name",
          "slug",
          "parentId",
          "position",
          "visible",
          "createdAt",
          "updatedAt",
          "translations"
        ],
        "title": "Collection",
        "description": "A single collection."
      },
      "CreateManyCollectionsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "slug": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "parentId": {
                  "type": "string",
                  "format": "uuid"
                },
                "position": {
                  "type": "integer"
                },
                "visible": {
                  "default": false,
                  "type": "boolean"
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                }
              },
              "required": [
                "name",
                "slug"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Create Collections",
        "description": "Array of collections to be created in a single transaction."
      },
      "DeleteManyCollectionInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "title": "Bulk Delete Collections",
        "description": "List of collection UUIDs to be deleted."
      },
      "CollectionDeletedManyDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid"
            }
          },
          "required": [
            "id"
          ]
        },
        "title": "Collections Deleted",
        "description": "Bulk deletion confirmation."
      },
      "CreateCollectionInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "slug": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "parentId": {
            "type": "string",
            "format": "uuid"
          },
          "position": {
            "type": "integer"
          },
          "visible": {
            "default": false,
            "type": "boolean"
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "required": [
          "name",
          "slug"
        ],
        "additionalProperties": false,
        "title": "Create Collection",
        "description": "Payload to create a single collection (category)."
      },
      "UpdateManyCollectionsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "slug": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "parentId": {
                  "type": "string",
                  "format": "uuid"
                },
                "position": {
                  "type": "integer"
                },
                "visible": {
                  "default": false,
                  "type": "boolean"
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Update Collections",
        "description": "Array of collection updates to be processed in batch."
      },
      "UpdateCollectionInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "slug": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "parentId": {
            "type": "string",
            "format": "uuid"
          },
          "position": {
            "type": "integer"
          },
          "visible": {
            "default": false,
            "type": "boolean"
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "additionalProperties": false,
        "title": "Update Collection",
        "description": "Fields to update for a specific collection."
      },
      "CollectionDeletedDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "id"
        ],
        "title": "Collection Deleted",
        "description": "Deleted collection confirmation."
      },
      "ReplaceCollectionFiltersInputDTO": {
        "type": "object",
        "properties": {
          "filterIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "filterIds"
        ],
        "additionalProperties": false,
        "title": "Sync Collection Filters",
        "description": "List of filter IDs to associate with the collection."
      },
      "CollectionFilterLinksResponseDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "filter": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "name",
                "storeId",
                "createdAt",
                "updatedAt"
              ]
            },
            "inheritedFrom": {
              "type": "string",
              "format": "uuid",
              "nullable": true
            }
          },
          "required": [
            "filter",
            "inheritedFrom"
          ]
        },
        "title": "Collection Filters",
        "description": "Filters linked to a collection."
      },
      "ConditionListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "tag-value",
                    "product-name",
                    "variant-name",
                    "price",
                    "attribute"
                  ]
                },
                "operator": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "value": {
                  "type": "string",
                  "nullable": true
                },
                "tagValueId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "attributeId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "min": {
                  "type": "string",
                  "nullable": true
                },
                "max": {
                  "type": "string",
                  "nullable": true
                },
                "cadence": {
                  "type": "string",
                  "nullable": true
                },
                "currencyCode": {
                  "type": "string",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "storeId",
                "type",
                "operator",
                "name",
                "value",
                "tagValueId",
                "attributeId",
                "min",
                "max",
                "cadence",
                "currencyCode",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Condition List",
        "description": "Paginated condition list."
      },
      "ConditionItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "type": {
            "type": "string",
            "enum": [
              "tag-value",
              "product-name",
              "variant-name",
              "price",
              "attribute"
            ]
          },
          "operator": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "tagValueId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "attributeId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "cadence": {
            "type": "string",
            "nullable": true
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "storeId",
          "type",
          "operator",
          "name",
          "value",
          "tagValueId",
          "attributeId",
          "min",
          "max",
          "cadence",
          "currencyCode",
          "createdAt",
          "updatedAt"
        ],
        "title": "Condition",
        "description": "A single condition."
      },
      "CreateConditionInputDTO": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "tag-value",
              "product-name",
              "variant-name",
              "price",
              "attribute"
            ]
          },
          "operator": {
            "type": "string",
            "enum": [
              "=",
              "!=",
              "contains",
              "startsWith",
              "endsWith",
              "<",
              "<=",
              ">",
              ">=",
              "range"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "value": {
            "type": "string",
            "maxLength": 255
          },
          "tagValueId": {
            "type": "string",
            "format": "uuid"
          },
          "attributeId": {
            "type": "string",
            "format": "uuid"
          },
          "min": {
            "type": "number"
          },
          "max": {
            "type": "number"
          },
          "cadence": {
            "type": "string",
            "enum": [
              "once",
              "daily",
              "weekly",
              "monthly",
              "quarterly",
              "semiannual",
              "yearly"
            ]
          },
          "currencyCode": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "operator",
          "name"
        ],
        "additionalProperties": false,
        "title": "Create Condition",
        "description": "Input for creating a single product condition (e.g., New, Used, Refurbished)."
      },
      "CreateManyConditionsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "tag-value",
                    "product-name",
                    "variant-name",
                    "price",
                    "attribute"
                  ]
                },
                "operator": {
                  "type": "string",
                  "enum": [
                    "=",
                    "!=",
                    "contains",
                    "startsWith",
                    "endsWith",
                    "<",
                    "<=",
                    ">",
                    ">=",
                    "range"
                  ]
                },
                "name": {
                  "type": "string",
                  "maxLength": 255
                },
                "value": {
                  "type": "string",
                  "maxLength": 255
                },
                "tagValueId": {
                  "type": "string",
                  "format": "uuid"
                },
                "attributeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "min": {
                  "type": "number"
                },
                "max": {
                  "type": "number"
                },
                "cadence": {
                  "type": "string",
                  "enum": [
                    "once",
                    "daily",
                    "weekly",
                    "monthly",
                    "quarterly",
                    "semiannual",
                    "yearly"
                  ]
                },
                "currencyCode": {
                  "type": "string"
                }
              },
              "required": [
                "type",
                "operator",
                "name"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Create Conditions",
        "description": "Array of conditions to create in a single batch."
      },
      "DeleteManyConditionInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Bulk Delete Conditions",
        "description": "List of condition UUIDs to permanently remove."
      },
      "UpdateManyConditionsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "operator": {
                  "type": "string",
                  "enum": [
                    "=",
                    "!=",
                    "contains",
                    "startsWith",
                    "endsWith",
                    "<",
                    "<=",
                    ">",
                    ">=",
                    "range"
                  ]
                },
                "name": {
                  "type": "string",
                  "maxLength": 255
                },
                "value": {
                  "type": "string",
                  "maxLength": 255
                },
                "tagValueId": {
                  "type": "string",
                  "format": "uuid"
                },
                "attributeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "min": {
                  "type": "number"
                },
                "max": {
                  "type": "number"
                },
                "cadence": {
                  "type": "string",
                  "enum": [
                    "once",
                    "daily",
                    "weekly",
                    "monthly",
                    "quarterly",
                    "semiannual",
                    "yearly"
                  ]
                },
                "currencyCode": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "tag-value",
                    "product-name",
                    "variant-name",
                    "price",
                    "attribute"
                  ]
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "type",
                "id"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Update Conditions",
        "description": "Array of updates for multiple conditions."
      },
      "UpdateConditionInputDTO": {
        "type": "object",
        "properties": {
          "operator": {
            "type": "string",
            "enum": [
              "=",
              "!=",
              "contains",
              "startsWith",
              "endsWith",
              "<",
              "<=",
              ">",
              ">=",
              "range"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 255
          },
          "value": {
            "type": "string",
            "maxLength": 255
          },
          "tagValueId": {
            "type": "string",
            "format": "uuid"
          },
          "attributeId": {
            "type": "string",
            "format": "uuid"
          },
          "min": {
            "type": "number"
          },
          "max": {
            "type": "number"
          },
          "cadence": {
            "type": "string",
            "enum": [
              "once",
              "daily",
              "weekly",
              "monthly",
              "quarterly",
              "semiannual",
              "yearly"
            ]
          },
          "currencyCode": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "tag-value",
              "product-name",
              "variant-name",
              "price",
              "attribute"
            ]
          }
        },
        "required": [
          "type"
        ],
        "additionalProperties": false,
        "title": "Update Condition",
        "description": "Metadata to update an existing condition."
      },
      "FeedListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "marketplace": {
                  "type": "string"
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "xml",
                    "csv",
                    "json"
                  ]
                },
                "enabled": {
                  "type": "boolean"
                },
                "itemTemplate": {
                  "type": "string"
                },
                "wrapperTemplate": {
                  "type": "string"
                },
                "filterIds": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "nullable": true
                },
                "filters": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "storeId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "name": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "storeId",
                      "name",
                      "createdAt",
                      "updatedAt"
                    ]
                  }
                },
                "currencyCode": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "EUR",
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ARS",
                    "AUD",
                    "AZN",
                    "BAM",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BND",
                    "BOB",
                    "BRL",
                    "BWP",
                    "BYR",
                    "BZD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EEK",
                    "EGP",
                    "ERN",
                    "ETB",
                    "GBP",
                    "GEL",
                    "GHS",
                    "GNF",
                    "GTQ",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HUF",
                    "IDR",
                    "ILS",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KHR",
                    "KMF",
                    "KRW",
                    "KWD",
                    "KZT",
                    "LBP",
                    "LKR",
                    "LTL",
                    "LVL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MOP",
                    "MUR",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SOS",
                    "SYP",
                    "THB",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "XAF",
                    "XOF",
                    "YER",
                    "ZAR",
                    "ZMK"
                  ]
                },
                "cadence": {
                  "type": "string",
                  "enum": [
                    "once",
                    "daily",
                    "weekly",
                    "monthly",
                    "quarterly",
                    "semiannual",
                    "yearly"
                  ]
                },
                "isNet": {
                  "type": "boolean"
                },
                "countryCodes": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "AF",
                      "AX",
                      "AL",
                      "DZ",
                      "AS",
                      "AD",
                      "AO",
                      "AI",
                      "AQ",
                      "AG",
                      "AR",
                      "AM",
                      "AW",
                      "AU",
                      "AT",
                      "AZ",
                      "BS",
                      "BH",
                      "BD",
                      "BB",
                      "BY",
                      "BE",
                      "BZ",
                      "BJ",
                      "BM",
                      "BT",
                      "BO",
                      "BQ",
                      "BA",
                      "BW",
                      "BV",
                      "BR",
                      "IO",
                      "BN",
                      "BG",
                      "BF",
                      "BI",
                      "CV",
                      "KH",
                      "CM",
                      "CA",
                      "KY",
                      "CF",
                      "TD",
                      "CL",
                      "CN",
                      "CX",
                      "CC",
                      "CO",
                      "KM",
                      "CG",
                      "CD",
                      "CK",
                      "CR",
                      "CI",
                      "HR",
                      "CU",
                      "CW",
                      "CY",
                      "CZ",
                      "DK",
                      "DJ",
                      "DM",
                      "DO",
                      "EC",
                      "EG",
                      "SV",
                      "GQ",
                      "ER",
                      "EE",
                      "ET",
                      "FK",
                      "FO",
                      "FJ",
                      "FI",
                      "FR",
                      "GF",
                      "PF",
                      "TF",
                      "GA",
                      "GM",
                      "GE",
                      "DE",
                      "GH",
                      "GI",
                      "GR",
                      "GL",
                      "GD",
                      "GP",
                      "GU",
                      "GT",
                      "GG",
                      "GN",
                      "GW",
                      "GY",
                      "HT",
                      "HM",
                      "VA",
                      "HN",
                      "HK",
                      "HU",
                      "IS",
                      "IN",
                      "ID",
                      "IR",
                      "IQ",
                      "IE",
                      "IM",
                      "IL",
                      "IT",
                      "JM",
                      "JP",
                      "JE",
                      "JO",
                      "KZ",
                      "KE",
                      "KI",
                      "KP",
                      "KR",
                      "KW",
                      "KG",
                      "LA",
                      "LV",
                      "LB",
                      "LS",
                      "LR",
                      "LY",
                      "LI",
                      "LT",
                      "LU",
                      "MO",
                      "MK",
                      "MG",
                      "MW",
                      "MY",
                      "MV",
                      "ML",
                      "MT",
                      "MH",
                      "MQ",
                      "MR",
                      "MU",
                      "YT",
                      "MX",
                      "FM",
                      "MD",
                      "MC",
                      "MN",
                      "ME",
                      "MS",
                      "MA",
                      "MZ",
                      "MM",
                      "NA",
                      "NR",
                      "NP",
                      "NL",
                      "NC",
                      "NZ",
                      "NI",
                      "NE",
                      "NG",
                      "NU",
                      "NF",
                      "MP",
                      "NO",
                      "OM",
                      "PK",
                      "PW",
                      "PS",
                      "PA",
                      "PG",
                      "PY",
                      "PE",
                      "PH",
                      "PN",
                      "PL",
                      "PT",
                      "PR",
                      "QA",
                      "RE",
                      "RO",
                      "RU",
                      "RW",
                      "BL",
                      "SH",
                      "KN",
                      "LC",
                      "MF",
                      "PM",
                      "VC",
                      "WS",
                      "SM",
                      "ST",
                      "SA",
                      "SN",
                      "RS",
                      "SC",
                      "SL",
                      "SG",
                      "SX",
                      "SK",
                      "SI",
                      "SB",
                      "SO",
                      "ZA",
                      "GS",
                      "SS",
                      "ES",
                      "LK",
                      "SD",
                      "SR",
                      "SJ",
                      "SZ",
                      "SE",
                      "CH",
                      "SY",
                      "TW",
                      "TJ",
                      "TZ",
                      "TH",
                      "TL",
                      "TG",
                      "TK",
                      "TO",
                      "TT",
                      "TN",
                      "TR",
                      "TM",
                      "TC",
                      "TV",
                      "UG",
                      "UA",
                      "AE",
                      "GB",
                      "US",
                      "UM",
                      "UY",
                      "UZ",
                      "VU",
                      "VE",
                      "VN",
                      "VG",
                      "VI",
                      "WF",
                      "EH",
                      "YE",
                      "ZM",
                      "ZW"
                    ]
                  }
                },
                "noTaxZoneBehavior": {
                  "type": "string",
                  "enum": [
                    "skip",
                    "use_net_as_gross"
                  ]
                },
                "diagnostics": {
                  "type": "object",
                  "properties": {
                    "generatedAt": {
                      "type": "string"
                    },
                    "global": {
                      "type": "object",
                      "properties": {
                        "missingPriceCombinationCount": {
                          "type": "integer"
                        },
                        "missingPriceCombinationSample": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "code": {
                                "type": "string",
                                "enum": [
                                  "MISSING_PRICE_COMBINATION",
                                  "MISSING_TAX_ZONE",
                                  "TAX_ZONE_FALLBACK_NET",
                                  "MISSING_SHIPPING_ZONE",
                                  "MISSING_SHIPPING_METHOD",
                                  "EMPTY_OUTPUT"
                                ]
                              },
                              "scope": {
                                "type": "string",
                                "enum": [
                                  "product",
                                  "variant"
                                ]
                              },
                              "productId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "variantId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "sku": {
                                "type": "string"
                              },
                              "params": {
                                "type": "object",
                                "additionalProperties": {
                                  "oneOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "type": "number"
                                    }
                                  ]
                                }
                              }
                            },
                            "required": [
                              "code"
                            ]
                          }
                        }
                      },
                      "required": [
                        "missingPriceCombinationCount",
                        "missingPriceCombinationSample"
                      ]
                    },
                    "perTarget": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "lang": {
                            "type": "string",
                            "enum": [
                              "af",
                              "am",
                              "sq",
                              "ar",
                              "hy",
                              "az",
                              "eu",
                              "be",
                              "bn",
                              "bs",
                              "bg",
                              "ca",
                              "ceb",
                              "ny",
                              "zh",
                              "co",
                              "hr",
                              "cs",
                              "da",
                              "nl",
                              "sjn",
                              "en",
                              "eo",
                              "et",
                              "tl",
                              "fo",
                              "fj",
                              "fi",
                              "fr",
                              "fy",
                              "gl",
                              "ka",
                              "de",
                              "el",
                              "gu",
                              "haw",
                              "ht",
                              "ha",
                              "he",
                              "hi",
                              "hmn",
                              "hu",
                              "is",
                              "ig",
                              "id",
                              "iu",
                              "iku",
                              "ga",
                              "it",
                              "ja",
                              "jw",
                              "kk",
                              "kn",
                              "km",
                              "ko",
                              "kok",
                              "ky",
                              "ku",
                              "ckb",
                              "sdh",
                              "lo",
                              "lv",
                              "lt",
                              "lb",
                              "mk",
                              "mg",
                              "ms",
                              "ml",
                              "mt",
                              "mr",
                              "mn",
                              "mi",
                              "my",
                              "ne",
                              "no",
                              "pap",
                              "fa",
                              "pl",
                              "pt",
                              "pa",
                              "ps",
                              "otq",
                              "ro",
                              "ru",
                              "sm",
                              "gd",
                              "sr",
                              "sr-LA",
                              "sd",
                              "si",
                              "sk",
                              "sl",
                              "sn",
                              "st",
                              "so",
                              "es",
                              "su",
                              "sw",
                              "sv",
                              "ty",
                              "ta",
                              "tg",
                              "te",
                              "th",
                              "bo",
                              "to",
                              "tr",
                              "uk",
                              "ur",
                              "uz",
                              "vi",
                              "cy",
                              "xh",
                              "yi",
                              "yo",
                              "yua",
                              "yue",
                              "zu",
                              "default"
                            ]
                          },
                          "country": {
                            "oneOf": [
                              {
                                "type": "string",
                                "enum": [
                                  "AF",
                                  "AX",
                                  "AL",
                                  "DZ",
                                  "AS",
                                  "AD",
                                  "AO",
                                  "AI",
                                  "AQ",
                                  "AG",
                                  "AR",
                                  "AM",
                                  "AW",
                                  "AU",
                                  "AT",
                                  "AZ",
                                  "BS",
                                  "BH",
                                  "BD",
                                  "BB",
                                  "BY",
                                  "BE",
                                  "BZ",
                                  "BJ",
                                  "BM",
                                  "BT",
                                  "BO",
                                  "BQ",
                                  "BA",
                                  "BW",
                                  "BV",
                                  "BR",
                                  "IO",
                                  "BN",
                                  "BG",
                                  "BF",
                                  "BI",
                                  "CV",
                                  "KH",
                                  "CM",
                                  "CA",
                                  "KY",
                                  "CF",
                                  "TD",
                                  "CL",
                                  "CN",
                                  "CX",
                                  "CC",
                                  "CO",
                                  "KM",
                                  "CG",
                                  "CD",
                                  "CK",
                                  "CR",
                                  "CI",
                                  "HR",
                                  "CU",
                                  "CW",
                                  "CY",
                                  "CZ",
                                  "DK",
                                  "DJ",
                                  "DM",
                                  "DO",
                                  "EC",
                                  "EG",
                                  "SV",
                                  "GQ",
                                  "ER",
                                  "EE",
                                  "ET",
                                  "FK",
                                  "FO",
                                  "FJ",
                                  "FI",
                                  "FR",
                                  "GF",
                                  "PF",
                                  "TF",
                                  "GA",
                                  "GM",
                                  "GE",
                                  "DE",
                                  "GH",
                                  "GI",
                                  "GR",
                                  "GL",
                                  "GD",
                                  "GP",
                                  "GU",
                                  "GT",
                                  "GG",
                                  "GN",
                                  "GW",
                                  "GY",
                                  "HT",
                                  "HM",
                                  "VA",
                                  "HN",
                                  "HK",
                                  "HU",
                                  "IS",
                                  "IN",
                                  "ID",
                                  "IR",
                                  "IQ",
                                  "IE",
                                  "IM",
                                  "IL",
                                  "IT",
                                  "JM",
                                  "JP",
                                  "JE",
                                  "JO",
                                  "KZ",
                                  "KE",
                                  "KI",
                                  "KP",
                                  "KR",
                                  "KW",
                                  "KG",
                                  "LA",
                                  "LV",
                                  "LB",
                                  "LS",
                                  "LR",
                                  "LY",
                                  "LI",
                                  "LT",
                                  "LU",
                                  "MO",
                                  "MK",
                                  "MG",
                                  "MW",
                                  "MY",
                                  "MV",
                                  "ML",
                                  "MT",
                                  "MH",
                                  "MQ",
                                  "MR",
                                  "MU",
                                  "YT",
                                  "MX",
                                  "FM",
                                  "MD",
                                  "MC",
                                  "MN",
                                  "ME",
                                  "MS",
                                  "MA",
                                  "MZ",
                                  "MM",
                                  "NA",
                                  "NR",
                                  "NP",
                                  "NL",
                                  "NC",
                                  "NZ",
                                  "NI",
                                  "NE",
                                  "NG",
                                  "NU",
                                  "NF",
                                  "MP",
                                  "NO",
                                  "OM",
                                  "PK",
                                  "PW",
                                  "PS",
                                  "PA",
                                  "PG",
                                  "PY",
                                  "PE",
                                  "PH",
                                  "PN",
                                  "PL",
                                  "PT",
                                  "PR",
                                  "QA",
                                  "RE",
                                  "RO",
                                  "RU",
                                  "RW",
                                  "BL",
                                  "SH",
                                  "KN",
                                  "LC",
                                  "MF",
                                  "PM",
                                  "VC",
                                  "WS",
                                  "SM",
                                  "ST",
                                  "SA",
                                  "SN",
                                  "RS",
                                  "SC",
                                  "SL",
                                  "SG",
                                  "SX",
                                  "SK",
                                  "SI",
                                  "SB",
                                  "SO",
                                  "ZA",
                                  "GS",
                                  "SS",
                                  "ES",
                                  "LK",
                                  "SD",
                                  "SR",
                                  "SJ",
                                  "SZ",
                                  "SE",
                                  "CH",
                                  "SY",
                                  "TW",
                                  "TJ",
                                  "TZ",
                                  "TH",
                                  "TL",
                                  "TG",
                                  "TK",
                                  "TO",
                                  "TT",
                                  "TN",
                                  "TR",
                                  "TM",
                                  "TC",
                                  "TV",
                                  "UG",
                                  "UA",
                                  "AE",
                                  "GB",
                                  "US",
                                  "UM",
                                  "UY",
                                  "UZ",
                                  "VU",
                                  "VE",
                                  "VN",
                                  "VG",
                                  "VI",
                                  "WF",
                                  "EH",
                                  "YE",
                                  "ZM",
                                  "ZW"
                                ]
                              },
                              {
                                "type": "string",
                                "enum": [
                                  "global"
                                ]
                              }
                            ]
                          },
                          "itemCount": {
                            "type": "integer"
                          },
                          "previousItemCount": {
                            "type": "integer",
                            "nullable": true
                          },
                          "writeSkipped": {
                            "type": "boolean"
                          },
                          "totalCount": {
                            "type": "integer"
                          },
                          "entries": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "code": {
                                  "type": "string",
                                  "enum": [
                                    "MISSING_PRICE_COMBINATION",
                                    "MISSING_TAX_ZONE",
                                    "TAX_ZONE_FALLBACK_NET",
                                    "MISSING_SHIPPING_ZONE",
                                    "MISSING_SHIPPING_METHOD",
                                    "EMPTY_OUTPUT"
                                  ]
                                },
                                "scope": {
                                  "type": "string",
                                  "enum": [
                                    "product",
                                    "variant"
                                  ]
                                },
                                "productId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "variantId": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "sku": {
                                  "type": "string"
                                },
                                "params": {
                                  "type": "object",
                                  "additionalProperties": {
                                    "oneOf": [
                                      {
                                        "type": "string"
                                      },
                                      {
                                        "type": "number"
                                      }
                                    ]
                                  }
                                }
                              },
                              "required": [
                                "code"
                              ]
                            }
                          }
                        },
                        "required": [
                          "lang",
                          "country",
                          "itemCount",
                          "previousItemCount",
                          "totalCount",
                          "entries"
                        ]
                      }
                    }
                  },
                  "required": [
                    "generatedAt",
                    "global",
                    "perTarget"
                  ],
                  "nullable": true
                },
                "diagnosticsGeneratedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "lastGeneratedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "name",
                "marketplace",
                "format",
                "enabled",
                "itemTemplate",
                "wrapperTemplate",
                "filterIds",
                "filters",
                "currencyCode",
                "cadence",
                "isNet",
                "countryCodes",
                "noTaxZoneBehavior",
                "diagnostics",
                "diagnosticsGeneratedAt",
                "lastGeneratedAt",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Feed List",
        "description": "Paginated feed list."
      },
      "FeedItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "marketplace": {
            "type": "string"
          },
          "format": {
            "type": "string",
            "enum": [
              "xml",
              "csv",
              "json"
            ]
          },
          "enabled": {
            "type": "boolean"
          },
          "itemTemplate": {
            "type": "string"
          },
          "wrapperTemplate": {
            "type": "string"
          },
          "filterIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "name",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "currencyCode": {
            "type": "string",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ARS",
              "AUD",
              "AZN",
              "BAM",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BND",
              "BOB",
              "BRL",
              "BWP",
              "BYR",
              "BZD",
              "CDF",
              "CHF",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EEK",
              "EGP",
              "ERN",
              "ETB",
              "GBP",
              "GEL",
              "GHS",
              "GNF",
              "GTQ",
              "HKD",
              "HNL",
              "HRK",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KHR",
              "KMF",
              "KRW",
              "KWD",
              "KZT",
              "LBP",
              "LKR",
              "LTL",
              "LVL",
              "LYD",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MOP",
              "MUR",
              "MXN",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SDG",
              "SEK",
              "SGD",
              "SOS",
              "SYP",
              "THB",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "UYU",
              "UZS",
              "VEF",
              "VND",
              "XAF",
              "XOF",
              "YER",
              "ZAR",
              "ZMK"
            ]
          },
          "cadence": {
            "type": "string",
            "enum": [
              "once",
              "daily",
              "weekly",
              "monthly",
              "quarterly",
              "semiannual",
              "yearly"
            ]
          },
          "isNet": {
            "type": "boolean"
          },
          "countryCodes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BQ",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "CV",
                "KH",
                "CM",
                "CA",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CW",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "KR",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "BL",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "SS",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "US",
                "UM",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "ZM",
                "ZW"
              ]
            }
          },
          "noTaxZoneBehavior": {
            "type": "string",
            "enum": [
              "skip",
              "use_net_as_gross"
            ]
          },
          "diagnostics": {
            "type": "object",
            "properties": {
              "generatedAt": {
                "type": "string"
              },
              "global": {
                "type": "object",
                "properties": {
                  "missingPriceCombinationCount": {
                    "type": "integer"
                  },
                  "missingPriceCombinationSample": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "enum": [
                            "MISSING_PRICE_COMBINATION",
                            "MISSING_TAX_ZONE",
                            "TAX_ZONE_FALLBACK_NET",
                            "MISSING_SHIPPING_ZONE",
                            "MISSING_SHIPPING_METHOD",
                            "EMPTY_OUTPUT"
                          ]
                        },
                        "scope": {
                          "type": "string",
                          "enum": [
                            "product",
                            "variant"
                          ]
                        },
                        "productId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "variantId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "sku": {
                          "type": "string"
                        },
                        "params": {
                          "type": "object",
                          "additionalProperties": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "number"
                              }
                            ]
                          }
                        }
                      },
                      "required": [
                        "code"
                      ]
                    }
                  }
                },
                "required": [
                  "missingPriceCombinationCount",
                  "missingPriceCombinationSample"
                ]
              },
              "perTarget": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "lang": {
                      "type": "string",
                      "enum": [
                        "af",
                        "am",
                        "sq",
                        "ar",
                        "hy",
                        "az",
                        "eu",
                        "be",
                        "bn",
                        "bs",
                        "bg",
                        "ca",
                        "ceb",
                        "ny",
                        "zh",
                        "co",
                        "hr",
                        "cs",
                        "da",
                        "nl",
                        "sjn",
                        "en",
                        "eo",
                        "et",
                        "tl",
                        "fo",
                        "fj",
                        "fi",
                        "fr",
                        "fy",
                        "gl",
                        "ka",
                        "de",
                        "el",
                        "gu",
                        "haw",
                        "ht",
                        "ha",
                        "he",
                        "hi",
                        "hmn",
                        "hu",
                        "is",
                        "ig",
                        "id",
                        "iu",
                        "iku",
                        "ga",
                        "it",
                        "ja",
                        "jw",
                        "kk",
                        "kn",
                        "km",
                        "ko",
                        "kok",
                        "ky",
                        "ku",
                        "ckb",
                        "sdh",
                        "lo",
                        "lv",
                        "lt",
                        "lb",
                        "mk",
                        "mg",
                        "ms",
                        "ml",
                        "mt",
                        "mr",
                        "mn",
                        "mi",
                        "my",
                        "ne",
                        "no",
                        "pap",
                        "fa",
                        "pl",
                        "pt",
                        "pa",
                        "ps",
                        "otq",
                        "ro",
                        "ru",
                        "sm",
                        "gd",
                        "sr",
                        "sr-LA",
                        "sd",
                        "si",
                        "sk",
                        "sl",
                        "sn",
                        "st",
                        "so",
                        "es",
                        "su",
                        "sw",
                        "sv",
                        "ty",
                        "ta",
                        "tg",
                        "te",
                        "th",
                        "bo",
                        "to",
                        "tr",
                        "uk",
                        "ur",
                        "uz",
                        "vi",
                        "cy",
                        "xh",
                        "yi",
                        "yo",
                        "yua",
                        "yue",
                        "zu",
                        "default"
                      ]
                    },
                    "country": {
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "AF",
                            "AX",
                            "AL",
                            "DZ",
                            "AS",
                            "AD",
                            "AO",
                            "AI",
                            "AQ",
                            "AG",
                            "AR",
                            "AM",
                            "AW",
                            "AU",
                            "AT",
                            "AZ",
                            "BS",
                            "BH",
                            "BD",
                            "BB",
                            "BY",
                            "BE",
                            "BZ",
                            "BJ",
                            "BM",
                            "BT",
                            "BO",
                            "BQ",
                            "BA",
                            "BW",
                            "BV",
                            "BR",
                            "IO",
                            "BN",
                            "BG",
                            "BF",
                            "BI",
                            "CV",
                            "KH",
                            "CM",
                            "CA",
                            "KY",
                            "CF",
                            "TD",
                            "CL",
                            "CN",
                            "CX",
                            "CC",
                            "CO",
                            "KM",
                            "CG",
                            "CD",
                            "CK",
                            "CR",
                            "CI",
                            "HR",
                            "CU",
                            "CW",
                            "CY",
                            "CZ",
                            "DK",
                            "DJ",
                            "DM",
                            "DO",
                            "EC",
                            "EG",
                            "SV",
                            "GQ",
                            "ER",
                            "EE",
                            "ET",
                            "FK",
                            "FO",
                            "FJ",
                            "FI",
                            "FR",
                            "GF",
                            "PF",
                            "TF",
                            "GA",
                            "GM",
                            "GE",
                            "DE",
                            "GH",
                            "GI",
                            "GR",
                            "GL",
                            "GD",
                            "GP",
                            "GU",
                            "GT",
                            "GG",
                            "GN",
                            "GW",
                            "GY",
                            "HT",
                            "HM",
                            "VA",
                            "HN",
                            "HK",
                            "HU",
                            "IS",
                            "IN",
                            "ID",
                            "IR",
                            "IQ",
                            "IE",
                            "IM",
                            "IL",
                            "IT",
                            "JM",
                            "JP",
                            "JE",
                            "JO",
                            "KZ",
                            "KE",
                            "KI",
                            "KP",
                            "KR",
                            "KW",
                            "KG",
                            "LA",
                            "LV",
                            "LB",
                            "LS",
                            "LR",
                            "LY",
                            "LI",
                            "LT",
                            "LU",
                            "MO",
                            "MK",
                            "MG",
                            "MW",
                            "MY",
                            "MV",
                            "ML",
                            "MT",
                            "MH",
                            "MQ",
                            "MR",
                            "MU",
                            "YT",
                            "MX",
                            "FM",
                            "MD",
                            "MC",
                            "MN",
                            "ME",
                            "MS",
                            "MA",
                            "MZ",
                            "MM",
                            "NA",
                            "NR",
                            "NP",
                            "NL",
                            "NC",
                            "NZ",
                            "NI",
                            "NE",
                            "NG",
                            "NU",
                            "NF",
                            "MP",
                            "NO",
                            "OM",
                            "PK",
                            "PW",
                            "PS",
                            "PA",
                            "PG",
                            "PY",
                            "PE",
                            "PH",
                            "PN",
                            "PL",
                            "PT",
                            "PR",
                            "QA",
                            "RE",
                            "RO",
                            "RU",
                            "RW",
                            "BL",
                            "SH",
                            "KN",
                            "LC",
                            "MF",
                            "PM",
                            "VC",
                            "WS",
                            "SM",
                            "ST",
                            "SA",
                            "SN",
                            "RS",
                            "SC",
                            "SL",
                            "SG",
                            "SX",
                            "SK",
                            "SI",
                            "SB",
                            "SO",
                            "ZA",
                            "GS",
                            "SS",
                            "ES",
                            "LK",
                            "SD",
                            "SR",
                            "SJ",
                            "SZ",
                            "SE",
                            "CH",
                            "SY",
                            "TW",
                            "TJ",
                            "TZ",
                            "TH",
                            "TL",
                            "TG",
                            "TK",
                            "TO",
                            "TT",
                            "TN",
                            "TR",
                            "TM",
                            "TC",
                            "TV",
                            "UG",
                            "UA",
                            "AE",
                            "GB",
                            "US",
                            "UM",
                            "UY",
                            "UZ",
                            "VU",
                            "VE",
                            "VN",
                            "VG",
                            "VI",
                            "WF",
                            "EH",
                            "YE",
                            "ZM",
                            "ZW"
                          ]
                        },
                        {
                          "type": "string",
                          "enum": [
                            "global"
                          ]
                        }
                      ]
                    },
                    "itemCount": {
                      "type": "integer"
                    },
                    "previousItemCount": {
                      "type": "integer",
                      "nullable": true
                    },
                    "writeSkipped": {
                      "type": "boolean"
                    },
                    "totalCount": {
                      "type": "integer"
                    },
                    "entries": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "MISSING_PRICE_COMBINATION",
                              "MISSING_TAX_ZONE",
                              "TAX_ZONE_FALLBACK_NET",
                              "MISSING_SHIPPING_ZONE",
                              "MISSING_SHIPPING_METHOD",
                              "EMPTY_OUTPUT"
                            ]
                          },
                          "scope": {
                            "type": "string",
                            "enum": [
                              "product",
                              "variant"
                            ]
                          },
                          "productId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "variantId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "sku": {
                            "type": "string"
                          },
                          "params": {
                            "type": "object",
                            "additionalProperties": {
                              "oneOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "number"
                                }
                              ]
                            }
                          }
                        },
                        "required": [
                          "code"
                        ]
                      }
                    }
                  },
                  "required": [
                    "lang",
                    "country",
                    "itemCount",
                    "previousItemCount",
                    "totalCount",
                    "entries"
                  ]
                }
              }
            },
            "required": [
              "generatedAt",
              "global",
              "perTarget"
            ],
            "nullable": true
          },
          "diagnosticsGeneratedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastGeneratedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "storeId",
          "name",
          "marketplace",
          "format",
          "enabled",
          "itemTemplate",
          "wrapperTemplate",
          "filterIds",
          "filters",
          "currencyCode",
          "cadence",
          "isNet",
          "countryCodes",
          "noTaxZoneBehavior",
          "diagnostics",
          "diagnosticsGeneratedAt",
          "lastGeneratedAt",
          "createdAt",
          "updatedAt"
        ],
        "title": "Feed",
        "description": "A single feed configuration."
      },
      "CreateFeedInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "marketplace": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "format": {
            "default": "xml",
            "type": "string",
            "enum": [
              "xml",
              "csv",
              "json"
            ]
          },
          "enabled": {
            "default": true,
            "type": "boolean"
          },
          "itemTemplate": {
            "type": "string",
            "minLength": 1
          },
          "wrapperTemplate": {
            "type": "string",
            "minLength": 1
          },
          "filterIds": {
            "default": [],
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "currencyCode": {
            "type": "string",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ARS",
              "AUD",
              "AZN",
              "BAM",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BND",
              "BOB",
              "BRL",
              "BWP",
              "BYR",
              "BZD",
              "CDF",
              "CHF",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EEK",
              "EGP",
              "ERN",
              "ETB",
              "GBP",
              "GEL",
              "GHS",
              "GNF",
              "GTQ",
              "HKD",
              "HNL",
              "HRK",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KHR",
              "KMF",
              "KRW",
              "KWD",
              "KZT",
              "LBP",
              "LKR",
              "LTL",
              "LVL",
              "LYD",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MOP",
              "MUR",
              "MXN",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SDG",
              "SEK",
              "SGD",
              "SOS",
              "SYP",
              "THB",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "UYU",
              "UZS",
              "VEF",
              "VND",
              "XAF",
              "XOF",
              "YER",
              "ZAR",
              "ZMK"
            ]
          },
          "cadence": {
            "default": "once",
            "type": "string",
            "enum": [
              "once",
              "daily",
              "weekly",
              "monthly",
              "quarterly",
              "semiannual",
              "yearly"
            ]
          },
          "isNet": {
            "default": false,
            "type": "boolean"
          },
          "countryCodes": {
            "default": [],
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BQ",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "CV",
                "KH",
                "CM",
                "CA",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CW",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "KR",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "BL",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "SS",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "US",
                "UM",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "ZM",
                "ZW"
              ]
            }
          },
          "noTaxZoneBehavior": {
            "default": "skip",
            "type": "string",
            "enum": [
              "skip",
              "use_net_as_gross"
            ]
          }
        },
        "required": [
          "name",
          "marketplace",
          "itemTemplate",
          "wrapperTemplate",
          "currencyCode"
        ],
        "additionalProperties": false,
        "title": "Create Feed",
        "description": "Configuration to create a new product feed for an external marketplace."
      },
      "UpdateFeedInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "marketplace": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "format": {
            "default": "xml",
            "type": "string",
            "enum": [
              "xml",
              "csv",
              "json"
            ]
          },
          "enabled": {
            "default": true,
            "type": "boolean"
          },
          "itemTemplate": {
            "type": "string",
            "minLength": 1
          },
          "wrapperTemplate": {
            "type": "string",
            "minLength": 1
          },
          "filterIds": {
            "default": [],
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "currencyCode": {
            "type": "string",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ARS",
              "AUD",
              "AZN",
              "BAM",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BND",
              "BOB",
              "BRL",
              "BWP",
              "BYR",
              "BZD",
              "CDF",
              "CHF",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EEK",
              "EGP",
              "ERN",
              "ETB",
              "GBP",
              "GEL",
              "GHS",
              "GNF",
              "GTQ",
              "HKD",
              "HNL",
              "HRK",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KHR",
              "KMF",
              "KRW",
              "KWD",
              "KZT",
              "LBP",
              "LKR",
              "LTL",
              "LVL",
              "LYD",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MOP",
              "MUR",
              "MXN",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SDG",
              "SEK",
              "SGD",
              "SOS",
              "SYP",
              "THB",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "UYU",
              "UZS",
              "VEF",
              "VND",
              "XAF",
              "XOF",
              "YER",
              "ZAR",
              "ZMK"
            ]
          },
          "cadence": {
            "default": "once",
            "type": "string",
            "enum": [
              "once",
              "daily",
              "weekly",
              "monthly",
              "quarterly",
              "semiannual",
              "yearly"
            ]
          },
          "isNet": {
            "default": false,
            "type": "boolean"
          },
          "countryCodes": {
            "default": [],
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BQ",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "CV",
                "KH",
                "CM",
                "CA",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CW",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "KR",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "BL",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "SS",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "US",
                "UM",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "ZM",
                "ZW"
              ]
            }
          },
          "noTaxZoneBehavior": {
            "default": "skip",
            "type": "string",
            "enum": [
              "skip",
              "use_net_as_gross"
            ]
          }
        },
        "additionalProperties": false,
        "title": "Update Feed",
        "description": "Fields to update for an existing feed configuration."
      },
      "FeedDeletedDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "Feed Deleted",
        "description": "Deletion confirmation."
      },
      "FeedGenerateResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "urls": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uri"
                }
              }
            },
            "required": [
              "urls"
            ]
          }
        },
        "required": [
          "data"
        ],
        "title": "Feed Generated",
        "description": "Generated feed URLs."
      },
      "FilterListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "operator": {
                  "type": "string"
                },
                "position": {
                  "type": "number",
                  "nullable": true
                },
                "visible": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {}
                }
              },
              "required": [
                "id",
                "storeId",
                "name",
                "operator",
                "position",
                "visible",
                "createdAt",
                "updatedAt",
                "translations"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Filter List",
        "description": "Paginated filter list."
      },
      "FilterItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "operator": {
            "type": "string"
          },
          "position": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "translations": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "id",
          "storeId",
          "name",
          "operator",
          "position",
          "visible",
          "createdAt",
          "updatedAt",
          "translations"
        ],
        "title": "Filter",
        "description": "A single filter."
      },
      "CreateManyFiltersInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "operator": {
                  "type": "string",
                  "enum": [
                    "AND",
                    "OR"
                  ]
                },
                "visible": {
                  "default": false,
                  "type": "boolean"
                },
                "position": {
                  "default": 0,
                  "type": "number"
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                }
              },
              "required": [
                "name",
                "operator"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Create Filters",
        "description": "List of filters to be created in a single batch."
      },
      "CreateFilterInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "operator": {
            "type": "string",
            "enum": [
              "AND",
              "OR"
            ]
          },
          "visible": {
            "default": false,
            "type": "boolean"
          },
          "position": {
            "default": 0,
            "type": "number"
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "required": [
          "name",
          "operator"
        ],
        "additionalProperties": false,
        "title": "Create Filter",
        "description": "Metadata to create a new filter (condition group) for the store."
      },
      "UpdateManyFiltersInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "operator": {
                  "type": "string",
                  "enum": [
                    "AND",
                    "OR"
                  ]
                },
                "visible": {
                  "default": false,
                  "type": "boolean"
                },
                "position": {
                  "default": 0,
                  "type": "number"
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Update Filters",
        "description": "List of filter updates to be processed in batch."
      },
      "UpdateFilterInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "operator": {
            "type": "string",
            "enum": [
              "AND",
              "OR"
            ]
          },
          "visible": {
            "default": false,
            "type": "boolean"
          },
          "position": {
            "default": 0,
            "type": "number"
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "additionalProperties": false,
        "title": "Update Filter",
        "description": "Fields to update for an existing filter."
      },
      "FilterDeletedDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "id"
        ],
        "title": "Filter Deleted",
        "description": "Deletion confirmation."
      },
      "DeleteManyFilterInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Bulk Delete Filters",
        "description": "List of filter UUIDs to be permanently removed."
      },
      "FilterConditionsResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "tag-value",
                    "product-name",
                    "variant-name",
                    "price",
                    "attribute"
                  ]
                },
                "operator": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "value": {
                  "type": "string",
                  "nullable": true
                },
                "tagValueId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "attributeId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "min": {
                  "type": "string",
                  "nullable": true
                },
                "max": {
                  "type": "string",
                  "nullable": true
                },
                "cadence": {
                  "type": "string",
                  "nullable": true
                },
                "currencyCode": {
                  "type": "string",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "storeId",
                "type",
                "operator",
                "name",
                "value",
                "tagValueId",
                "attributeId",
                "min",
                "max",
                "cadence",
                "currencyCode",
                "createdAt",
                "updatedAt"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Filter Conditions",
        "description": "Conditions linked to a filter."
      },
      "ReplaceFilterConditionsInputDTO": {
        "type": "object",
        "properties": {
          "conditionIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "conditionIds"
        ],
        "additionalProperties": false,
        "title": "Sync Filter Conditions",
        "description": "Array of condition IDs to associate with this filter (replaces existing associations)."
      },
      "DashboardResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "period": {
                "type": "object",
                "properties": {
                  "fromDate": {
                    "type": "string"
                  },
                  "toDate": {
                    "type": "string"
                  }
                },
                "required": [
                  "fromDate",
                  "toDate"
                ]
              },
              "products": {
                "type": "number"
              },
              "customers": {
                "type": "number"
              },
              "orders": {
                "type": "object",
                "properties": {
                  "paid": {
                    "type": "number"
                  }
                },
                "required": [
                  "paid"
                ]
              },
              "revenue": {
                "type": "number"
              },
              "topProducts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "productId": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "coverUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "quantitySold": {
                      "type": "number"
                    },
                    "revenue": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "productId",
                    "name",
                    "coverUrl",
                    "quantitySold",
                    "revenue"
                  ]
                }
              },
              "dailyStats": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "day": {
                      "type": "string"
                    },
                    "orders": {
                      "type": "number"
                    },
                    "revenue": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "day",
                    "orders",
                    "revenue"
                  ]
                }
              },
              "recentOrders": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "cartTrackingId": {
                      "type": "string"
                    },
                    "totalGross": {
                      "type": "number"
                    },
                    "currencyCode": {
                      "type": "string"
                    },
                    "itemCount": {
                      "type": "number"
                    },
                    "customerEmail": {
                      "type": "string",
                      "nullable": true
                    },
                    "countryCode": {
                      "type": "string",
                      "nullable": true
                    },
                    "deviceType": {
                      "type": "string",
                      "nullable": true
                    },
                    "occurredAt": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "required": [
                    "status",
                    "cartTrackingId",
                    "totalGross",
                    "currencyCode",
                    "itemCount",
                    "customerEmail",
                    "countryCode",
                    "deviceType",
                    "occurredAt",
                    "items"
                  ]
                }
              }
            },
            "required": [
              "period",
              "products",
              "customers",
              "orders",
              "revenue",
              "topProducts",
              "dailyStats",
              "recentOrders"
            ]
          }
        },
        "required": [
          "data"
        ],
        "title": "Dashboard Data",
        "description": "Aggregated store performance metrics."
      },
      "StoresListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "ownerId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "plan": {
                  "type": "string",
                  "enum": [
                    "free",
                    "start",
                    "grow",
                    "scale"
                  ]
                },
                "defaultCurrencyCode": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "EUR",
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ARS",
                    "AUD",
                    "AZN",
                    "BAM",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BND",
                    "BOB",
                    "BRL",
                    "BWP",
                    "BYR",
                    "BZD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EEK",
                    "EGP",
                    "ERN",
                    "ETB",
                    "GBP",
                    "GEL",
                    "GHS",
                    "GNF",
                    "GTQ",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HUF",
                    "IDR",
                    "ILS",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KHR",
                    "KMF",
                    "KRW",
                    "KWD",
                    "KZT",
                    "LBP",
                    "LKR",
                    "LTL",
                    "LVL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MOP",
                    "MUR",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SOS",
                    "SYP",
                    "THB",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "XAF",
                    "XOF",
                    "YER",
                    "ZAR",
                    "ZMK"
                  ]
                },
                "defaultCadence": {
                  "type": "string",
                  "enum": [
                    "once",
                    "daily",
                    "weekly",
                    "monthly",
                    "quarterly",
                    "semiannual",
                    "yearly"
                  ]
                },
                "defaultCountryCode": {
                  "type": "string",
                  "enum": [
                    "AF",
                    "AX",
                    "AL",
                    "DZ",
                    "AS",
                    "AD",
                    "AO",
                    "AI",
                    "AQ",
                    "AG",
                    "AR",
                    "AM",
                    "AW",
                    "AU",
                    "AT",
                    "AZ",
                    "BS",
                    "BH",
                    "BD",
                    "BB",
                    "BY",
                    "BE",
                    "BZ",
                    "BJ",
                    "BM",
                    "BT",
                    "BO",
                    "BQ",
                    "BA",
                    "BW",
                    "BV",
                    "BR",
                    "IO",
                    "BN",
                    "BG",
                    "BF",
                    "BI",
                    "CV",
                    "KH",
                    "CM",
                    "CA",
                    "KY",
                    "CF",
                    "TD",
                    "CL",
                    "CN",
                    "CX",
                    "CC",
                    "CO",
                    "KM",
                    "CG",
                    "CD",
                    "CK",
                    "CR",
                    "CI",
                    "HR",
                    "CU",
                    "CW",
                    "CY",
                    "CZ",
                    "DK",
                    "DJ",
                    "DM",
                    "DO",
                    "EC",
                    "EG",
                    "SV",
                    "GQ",
                    "ER",
                    "EE",
                    "ET",
                    "FK",
                    "FO",
                    "FJ",
                    "FI",
                    "FR",
                    "GF",
                    "PF",
                    "TF",
                    "GA",
                    "GM",
                    "GE",
                    "DE",
                    "GH",
                    "GI",
                    "GR",
                    "GL",
                    "GD",
                    "GP",
                    "GU",
                    "GT",
                    "GG",
                    "GN",
                    "GW",
                    "GY",
                    "HT",
                    "HM",
                    "VA",
                    "HN",
                    "HK",
                    "HU",
                    "IS",
                    "IN",
                    "ID",
                    "IR",
                    "IQ",
                    "IE",
                    "IM",
                    "IL",
                    "IT",
                    "JM",
                    "JP",
                    "JE",
                    "JO",
                    "KZ",
                    "KE",
                    "KI",
                    "KP",
                    "KR",
                    "KW",
                    "KG",
                    "LA",
                    "LV",
                    "LB",
                    "LS",
                    "LR",
                    "LY",
                    "LI",
                    "LT",
                    "LU",
                    "MO",
                    "MK",
                    "MG",
                    "MW",
                    "MY",
                    "MV",
                    "ML",
                    "MT",
                    "MH",
                    "MQ",
                    "MR",
                    "MU",
                    "YT",
                    "MX",
                    "FM",
                    "MD",
                    "MC",
                    "MN",
                    "ME",
                    "MS",
                    "MA",
                    "MZ",
                    "MM",
                    "NA",
                    "NR",
                    "NP",
                    "NL",
                    "NC",
                    "NZ",
                    "NI",
                    "NE",
                    "NG",
                    "NU",
                    "NF",
                    "MP",
                    "NO",
                    "OM",
                    "PK",
                    "PW",
                    "PS",
                    "PA",
                    "PG",
                    "PY",
                    "PE",
                    "PH",
                    "PN",
                    "PL",
                    "PT",
                    "PR",
                    "QA",
                    "RE",
                    "RO",
                    "RU",
                    "RW",
                    "BL",
                    "SH",
                    "KN",
                    "LC",
                    "MF",
                    "PM",
                    "VC",
                    "WS",
                    "SM",
                    "ST",
                    "SA",
                    "SN",
                    "RS",
                    "SC",
                    "SL",
                    "SG",
                    "SX",
                    "SK",
                    "SI",
                    "SB",
                    "SO",
                    "ZA",
                    "GS",
                    "SS",
                    "ES",
                    "LK",
                    "SD",
                    "SR",
                    "SJ",
                    "SZ",
                    "SE",
                    "CH",
                    "SY",
                    "TW",
                    "TJ",
                    "TZ",
                    "TH",
                    "TL",
                    "TG",
                    "TK",
                    "TO",
                    "TT",
                    "TN",
                    "TR",
                    "TM",
                    "TC",
                    "TV",
                    "UG",
                    "UA",
                    "AE",
                    "GB",
                    "US",
                    "UM",
                    "UY",
                    "UZ",
                    "VU",
                    "VE",
                    "VN",
                    "VG",
                    "VI",
                    "WF",
                    "EH",
                    "YE",
                    "ZM",
                    "ZW"
                  ]
                },
                "defaultLangCode": {
                  "type": "string",
                  "enum": [
                    "af",
                    "am",
                    "sq",
                    "ar",
                    "hy",
                    "az",
                    "eu",
                    "be",
                    "bn",
                    "bs",
                    "bg",
                    "ca",
                    "ceb",
                    "ny",
                    "zh",
                    "co",
                    "hr",
                    "cs",
                    "da",
                    "nl",
                    "sjn",
                    "en",
                    "eo",
                    "et",
                    "tl",
                    "fo",
                    "fj",
                    "fi",
                    "fr",
                    "fy",
                    "gl",
                    "ka",
                    "de",
                    "el",
                    "gu",
                    "haw",
                    "ht",
                    "ha",
                    "he",
                    "hi",
                    "hmn",
                    "hu",
                    "is",
                    "ig",
                    "id",
                    "iu",
                    "iku",
                    "ga",
                    "it",
                    "ja",
                    "jw",
                    "kk",
                    "kn",
                    "km",
                    "ko",
                    "kok",
                    "ky",
                    "ku",
                    "ckb",
                    "sdh",
                    "lo",
                    "lv",
                    "lt",
                    "lb",
                    "mk",
                    "mg",
                    "ms",
                    "ml",
                    "mt",
                    "mr",
                    "mn",
                    "mi",
                    "my",
                    "ne",
                    "no",
                    "pap",
                    "fa",
                    "pl",
                    "pt",
                    "pa",
                    "ps",
                    "otq",
                    "ro",
                    "ru",
                    "sm",
                    "gd",
                    "sr",
                    "sr-LA",
                    "sd",
                    "si",
                    "sk",
                    "sl",
                    "sn",
                    "st",
                    "so",
                    "es",
                    "su",
                    "sw",
                    "sv",
                    "ty",
                    "ta",
                    "tg",
                    "te",
                    "th",
                    "bo",
                    "to",
                    "tr",
                    "uk",
                    "ur",
                    "uz",
                    "vi",
                    "cy",
                    "xh",
                    "yi",
                    "yo",
                    "yua",
                    "yue",
                    "zu",
                    "default"
                  ]
                },
                "lowAvailabilityThreshold": {
                  "type": "number"
                },
                "currencies": {
                  "default": [],
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "USD",
                      "CAD",
                      "EUR",
                      "AED",
                      "AFN",
                      "ALL",
                      "AMD",
                      "ARS",
                      "AUD",
                      "AZN",
                      "BAM",
                      "BDT",
                      "BGN",
                      "BHD",
                      "BIF",
                      "BND",
                      "BOB",
                      "BRL",
                      "BWP",
                      "BYR",
                      "BZD",
                      "CDF",
                      "CHF",
                      "CLP",
                      "CNY",
                      "COP",
                      "CRC",
                      "CVE",
                      "CZK",
                      "DJF",
                      "DKK",
                      "DOP",
                      "DZD",
                      "EEK",
                      "EGP",
                      "ERN",
                      "ETB",
                      "GBP",
                      "GEL",
                      "GHS",
                      "GNF",
                      "GTQ",
                      "HKD",
                      "HNL",
                      "HRK",
                      "HUF",
                      "IDR",
                      "ILS",
                      "INR",
                      "IQD",
                      "IRR",
                      "ISK",
                      "JMD",
                      "JOD",
                      "JPY",
                      "KES",
                      "KHR",
                      "KMF",
                      "KRW",
                      "KWD",
                      "KZT",
                      "LBP",
                      "LKR",
                      "LTL",
                      "LVL",
                      "LYD",
                      "MAD",
                      "MDL",
                      "MGA",
                      "MKD",
                      "MMK",
                      "MOP",
                      "MUR",
                      "MXN",
                      "MYR",
                      "MZN",
                      "NAD",
                      "NGN",
                      "NIO",
                      "NOK",
                      "NPR",
                      "NZD",
                      "OMR",
                      "PAB",
                      "PEN",
                      "PHP",
                      "PKR",
                      "PLN",
                      "PYG",
                      "QAR",
                      "RON",
                      "RSD",
                      "RUB",
                      "RWF",
                      "SAR",
                      "SDG",
                      "SEK",
                      "SGD",
                      "SOS",
                      "SYP",
                      "THB",
                      "TND",
                      "TOP",
                      "TRY",
                      "TTD",
                      "TWD",
                      "TZS",
                      "UAH",
                      "UGX",
                      "UYU",
                      "UZS",
                      "VEF",
                      "VND",
                      "XAF",
                      "XOF",
                      "YER",
                      "ZAR",
                      "ZMK"
                    ]
                  }
                },
                "languages": {
                  "default": [],
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "af",
                      "am",
                      "sq",
                      "ar",
                      "hy",
                      "az",
                      "eu",
                      "be",
                      "bn",
                      "bs",
                      "bg",
                      "ca",
                      "ceb",
                      "ny",
                      "zh",
                      "co",
                      "hr",
                      "cs",
                      "da",
                      "nl",
                      "sjn",
                      "en",
                      "eo",
                      "et",
                      "tl",
                      "fo",
                      "fj",
                      "fi",
                      "fr",
                      "fy",
                      "gl",
                      "ka",
                      "de",
                      "el",
                      "gu",
                      "haw",
                      "ht",
                      "ha",
                      "he",
                      "hi",
                      "hmn",
                      "hu",
                      "is",
                      "ig",
                      "id",
                      "iu",
                      "iku",
                      "ga",
                      "it",
                      "ja",
                      "jw",
                      "kk",
                      "kn",
                      "km",
                      "ko",
                      "kok",
                      "ky",
                      "ku",
                      "ckb",
                      "sdh",
                      "lo",
                      "lv",
                      "lt",
                      "lb",
                      "mk",
                      "mg",
                      "ms",
                      "ml",
                      "mt",
                      "mr",
                      "mn",
                      "mi",
                      "my",
                      "ne",
                      "no",
                      "pap",
                      "fa",
                      "pl",
                      "pt",
                      "pa",
                      "ps",
                      "otq",
                      "ro",
                      "ru",
                      "sm",
                      "gd",
                      "sr",
                      "sr-LA",
                      "sd",
                      "si",
                      "sk",
                      "sl",
                      "sn",
                      "st",
                      "so",
                      "es",
                      "su",
                      "sw",
                      "sv",
                      "ty",
                      "ta",
                      "tg",
                      "te",
                      "th",
                      "bo",
                      "to",
                      "tr",
                      "uk",
                      "ur",
                      "uz",
                      "vi",
                      "cy",
                      "xh",
                      "yi",
                      "yo",
                      "yua",
                      "yue",
                      "zu",
                      "default"
                    ]
                  }
                },
                "cadences": {
                  "default": [],
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "once",
                      "daily",
                      "weekly",
                      "monthly",
                      "quarterly",
                      "semiannual",
                      "yearly"
                    ]
                  }
                },
                "authEnabled": {
                  "type": "boolean"
                },
                "cartEnabled": {
                  "type": "boolean"
                },
                "wishlistEnabled": {
                  "type": "boolean"
                },
                "reviewsEnabled": {
                  "type": "boolean"
                },
                "storageLimit": {
                  "type": "number",
                  "nullable": true
                },
                "totalStorageUsed": {
                  "default": 0,
                  "type": "number"
                },
                "imageStorageUsed": {
                  "default": 0,
                  "type": "number"
                },
                "videoStorageUsed": {
                  "default": 0,
                  "type": "number"
                },
                "shippingTaxCode": {
                  "type": "string",
                  "nullable": true
                },
                "stripeCustomerPortalUrl": {
                  "type": "string",
                  "nullable": true
                },
                "stripeVatExemptionTaxRateId": {
                  "type": "string",
                  "nullable": true
                },
                "stripeAccountId": {
                  "type": "string",
                  "nullable": true
                },
                "stripeMetadata": {
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "permissions": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "required": [
                "id",
                "ownerId",
                "name",
                "plan",
                "defaultCurrencyCode",
                "defaultCadence",
                "defaultCountryCode",
                "defaultLangCode",
                "lowAvailabilityThreshold",
                "authEnabled",
                "cartEnabled",
                "wishlistEnabled",
                "reviewsEnabled",
                "storageLimit",
                "shippingTaxCode",
                "stripeCustomerPortalUrl",
                "stripeVatExemptionTaxRateId",
                "stripeAccountId",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Stores List",
        "description": "Paginated list of stores."
      },
      "UpdateStoreInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "logoUrl": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "internalEmail": {
            "type": "string",
            "format": "email",
            "nullable": true
          },
          "defaultCurrencyCode": {
            "default": "EUR",
            "type": "string",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ARS",
              "AUD",
              "AZN",
              "BAM",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BND",
              "BOB",
              "BRL",
              "BWP",
              "BYR",
              "BZD",
              "CDF",
              "CHF",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EEK",
              "EGP",
              "ERN",
              "ETB",
              "GBP",
              "GEL",
              "GHS",
              "GNF",
              "GTQ",
              "HKD",
              "HNL",
              "HRK",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KHR",
              "KMF",
              "KRW",
              "KWD",
              "KZT",
              "LBP",
              "LKR",
              "LTL",
              "LVL",
              "LYD",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MOP",
              "MUR",
              "MXN",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SDG",
              "SEK",
              "SGD",
              "SOS",
              "SYP",
              "THB",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "UYU",
              "UZS",
              "VEF",
              "VND",
              "XAF",
              "XOF",
              "YER",
              "ZAR",
              "ZMK"
            ]
          },
          "defaultCadence": {
            "default": "once",
            "type": "string",
            "enum": [
              "once",
              "daily",
              "weekly",
              "monthly",
              "quarterly",
              "semiannual",
              "yearly"
            ]
          },
          "lowAvailabilityThreshold": {
            "default": 5,
            "type": "number"
          },
          "defaultCountryCode": {
            "default": "IT",
            "type": "string",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "defaultLangCode": {
            "default": "it",
            "type": "string",
            "enum": [
              "af",
              "am",
              "sq",
              "ar",
              "hy",
              "az",
              "eu",
              "be",
              "bn",
              "bs",
              "bg",
              "ca",
              "ceb",
              "ny",
              "zh",
              "co",
              "hr",
              "cs",
              "da",
              "nl",
              "sjn",
              "en",
              "eo",
              "et",
              "tl",
              "fo",
              "fj",
              "fi",
              "fr",
              "fy",
              "gl",
              "ka",
              "de",
              "el",
              "gu",
              "haw",
              "ht",
              "ha",
              "he",
              "hi",
              "hmn",
              "hu",
              "is",
              "ig",
              "id",
              "iu",
              "iku",
              "ga",
              "it",
              "ja",
              "jw",
              "kk",
              "kn",
              "km",
              "ko",
              "kok",
              "ky",
              "ku",
              "ckb",
              "sdh",
              "lo",
              "lv",
              "lt",
              "lb",
              "mk",
              "mg",
              "ms",
              "ml",
              "mt",
              "mr",
              "mn",
              "mi",
              "my",
              "ne",
              "no",
              "pap",
              "fa",
              "pl",
              "pt",
              "pa",
              "ps",
              "otq",
              "ro",
              "ru",
              "sm",
              "gd",
              "sr",
              "sr-LA",
              "sd",
              "si",
              "sk",
              "sl",
              "sn",
              "st",
              "so",
              "es",
              "su",
              "sw",
              "sv",
              "ty",
              "ta",
              "tg",
              "te",
              "th",
              "bo",
              "to",
              "tr",
              "uk",
              "ur",
              "uz",
              "vi",
              "cy",
              "xh",
              "yi",
              "yo",
              "yua",
              "yue",
              "zu",
              "default"
            ]
          },
          "currencies": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "USD",
                "CAD",
                "EUR",
                "AED",
                "AFN",
                "ALL",
                "AMD",
                "ARS",
                "AUD",
                "AZN",
                "BAM",
                "BDT",
                "BGN",
                "BHD",
                "BIF",
                "BND",
                "BOB",
                "BRL",
                "BWP",
                "BYR",
                "BZD",
                "CDF",
                "CHF",
                "CLP",
                "CNY",
                "COP",
                "CRC",
                "CVE",
                "CZK",
                "DJF",
                "DKK",
                "DOP",
                "DZD",
                "EEK",
                "EGP",
                "ERN",
                "ETB",
                "GBP",
                "GEL",
                "GHS",
                "GNF",
                "GTQ",
                "HKD",
                "HNL",
                "HRK",
                "HUF",
                "IDR",
                "ILS",
                "INR",
                "IQD",
                "IRR",
                "ISK",
                "JMD",
                "JOD",
                "JPY",
                "KES",
                "KHR",
                "KMF",
                "KRW",
                "KWD",
                "KZT",
                "LBP",
                "LKR",
                "LTL",
                "LVL",
                "LYD",
                "MAD",
                "MDL",
                "MGA",
                "MKD",
                "MMK",
                "MOP",
                "MUR",
                "MXN",
                "MYR",
                "MZN",
                "NAD",
                "NGN",
                "NIO",
                "NOK",
                "NPR",
                "NZD",
                "OMR",
                "PAB",
                "PEN",
                "PHP",
                "PKR",
                "PLN",
                "PYG",
                "QAR",
                "RON",
                "RSD",
                "RUB",
                "RWF",
                "SAR",
                "SDG",
                "SEK",
                "SGD",
                "SOS",
                "SYP",
                "THB",
                "TND",
                "TOP",
                "TRY",
                "TTD",
                "TWD",
                "TZS",
                "UAH",
                "UGX",
                "UYU",
                "UZS",
                "VEF",
                "VND",
                "XAF",
                "XOF",
                "YER",
                "ZAR",
                "ZMK"
              ]
            },
            "maxItems": 25
          },
          "cadences": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "once",
                "daily",
                "weekly",
                "monthly",
                "quarterly",
                "semiannual",
                "yearly"
              ]
            }
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ]
            },
            "maxItems": 5
          },
          "authEnabled": {
            "type": "boolean"
          },
          "wishlistEnabled": {
            "type": "boolean"
          },
          "cartEnabled": {
            "type": "boolean"
          },
          "reviewsEnabled": {
            "type": "boolean"
          },
          "shippingTaxCode": {
            "type": "string"
          },
          "stripeCustomerPortalUrl": {
            "type": "string"
          },
          "stripeVatExemptionTaxRateId": {
            "type": "string"
          },
          "stripeInvoiceEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "title": "UpdateStoreInput",
        "description": "Data for updating an existing store configuration"
      },
      "StoreResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "ownerId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "plan": {
            "type": "string",
            "enum": [
              "free",
              "start",
              "grow",
              "scale"
            ]
          },
          "defaultCurrencyCode": {
            "type": "string",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ARS",
              "AUD",
              "AZN",
              "BAM",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BND",
              "BOB",
              "BRL",
              "BWP",
              "BYR",
              "BZD",
              "CDF",
              "CHF",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EEK",
              "EGP",
              "ERN",
              "ETB",
              "GBP",
              "GEL",
              "GHS",
              "GNF",
              "GTQ",
              "HKD",
              "HNL",
              "HRK",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KHR",
              "KMF",
              "KRW",
              "KWD",
              "KZT",
              "LBP",
              "LKR",
              "LTL",
              "LVL",
              "LYD",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MOP",
              "MUR",
              "MXN",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SDG",
              "SEK",
              "SGD",
              "SOS",
              "SYP",
              "THB",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "UYU",
              "UZS",
              "VEF",
              "VND",
              "XAF",
              "XOF",
              "YER",
              "ZAR",
              "ZMK"
            ]
          },
          "defaultCadence": {
            "type": "string",
            "enum": [
              "once",
              "daily",
              "weekly",
              "monthly",
              "quarterly",
              "semiannual",
              "yearly"
            ]
          },
          "defaultCountryCode": {
            "type": "string",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "defaultLangCode": {
            "type": "string",
            "enum": [
              "af",
              "am",
              "sq",
              "ar",
              "hy",
              "az",
              "eu",
              "be",
              "bn",
              "bs",
              "bg",
              "ca",
              "ceb",
              "ny",
              "zh",
              "co",
              "hr",
              "cs",
              "da",
              "nl",
              "sjn",
              "en",
              "eo",
              "et",
              "tl",
              "fo",
              "fj",
              "fi",
              "fr",
              "fy",
              "gl",
              "ka",
              "de",
              "el",
              "gu",
              "haw",
              "ht",
              "ha",
              "he",
              "hi",
              "hmn",
              "hu",
              "is",
              "ig",
              "id",
              "iu",
              "iku",
              "ga",
              "it",
              "ja",
              "jw",
              "kk",
              "kn",
              "km",
              "ko",
              "kok",
              "ky",
              "ku",
              "ckb",
              "sdh",
              "lo",
              "lv",
              "lt",
              "lb",
              "mk",
              "mg",
              "ms",
              "ml",
              "mt",
              "mr",
              "mn",
              "mi",
              "my",
              "ne",
              "no",
              "pap",
              "fa",
              "pl",
              "pt",
              "pa",
              "ps",
              "otq",
              "ro",
              "ru",
              "sm",
              "gd",
              "sr",
              "sr-LA",
              "sd",
              "si",
              "sk",
              "sl",
              "sn",
              "st",
              "so",
              "es",
              "su",
              "sw",
              "sv",
              "ty",
              "ta",
              "tg",
              "te",
              "th",
              "bo",
              "to",
              "tr",
              "uk",
              "ur",
              "uz",
              "vi",
              "cy",
              "xh",
              "yi",
              "yo",
              "yua",
              "yue",
              "zu",
              "default"
            ]
          },
          "lowAvailabilityThreshold": {
            "type": "number"
          },
          "currencies": {
            "default": [],
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "USD",
                "CAD",
                "EUR",
                "AED",
                "AFN",
                "ALL",
                "AMD",
                "ARS",
                "AUD",
                "AZN",
                "BAM",
                "BDT",
                "BGN",
                "BHD",
                "BIF",
                "BND",
                "BOB",
                "BRL",
                "BWP",
                "BYR",
                "BZD",
                "CDF",
                "CHF",
                "CLP",
                "CNY",
                "COP",
                "CRC",
                "CVE",
                "CZK",
                "DJF",
                "DKK",
                "DOP",
                "DZD",
                "EEK",
                "EGP",
                "ERN",
                "ETB",
                "GBP",
                "GEL",
                "GHS",
                "GNF",
                "GTQ",
                "HKD",
                "HNL",
                "HRK",
                "HUF",
                "IDR",
                "ILS",
                "INR",
                "IQD",
                "IRR",
                "ISK",
                "JMD",
                "JOD",
                "JPY",
                "KES",
                "KHR",
                "KMF",
                "KRW",
                "KWD",
                "KZT",
                "LBP",
                "LKR",
                "LTL",
                "LVL",
                "LYD",
                "MAD",
                "MDL",
                "MGA",
                "MKD",
                "MMK",
                "MOP",
                "MUR",
                "MXN",
                "MYR",
                "MZN",
                "NAD",
                "NGN",
                "NIO",
                "NOK",
                "NPR",
                "NZD",
                "OMR",
                "PAB",
                "PEN",
                "PHP",
                "PKR",
                "PLN",
                "PYG",
                "QAR",
                "RON",
                "RSD",
                "RUB",
                "RWF",
                "SAR",
                "SDG",
                "SEK",
                "SGD",
                "SOS",
                "SYP",
                "THB",
                "TND",
                "TOP",
                "TRY",
                "TTD",
                "TWD",
                "TZS",
                "UAH",
                "UGX",
                "UYU",
                "UZS",
                "VEF",
                "VND",
                "XAF",
                "XOF",
                "YER",
                "ZAR",
                "ZMK"
              ]
            }
          },
          "languages": {
            "default": [],
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "af",
                "am",
                "sq",
                "ar",
                "hy",
                "az",
                "eu",
                "be",
                "bn",
                "bs",
                "bg",
                "ca",
                "ceb",
                "ny",
                "zh",
                "co",
                "hr",
                "cs",
                "da",
                "nl",
                "sjn",
                "en",
                "eo",
                "et",
                "tl",
                "fo",
                "fj",
                "fi",
                "fr",
                "fy",
                "gl",
                "ka",
                "de",
                "el",
                "gu",
                "haw",
                "ht",
                "ha",
                "he",
                "hi",
                "hmn",
                "hu",
                "is",
                "ig",
                "id",
                "iu",
                "iku",
                "ga",
                "it",
                "ja",
                "jw",
                "kk",
                "kn",
                "km",
                "ko",
                "kok",
                "ky",
                "ku",
                "ckb",
                "sdh",
                "lo",
                "lv",
                "lt",
                "lb",
                "mk",
                "mg",
                "ms",
                "ml",
                "mt",
                "mr",
                "mn",
                "mi",
                "my",
                "ne",
                "no",
                "pap",
                "fa",
                "pl",
                "pt",
                "pa",
                "ps",
                "otq",
                "ro",
                "ru",
                "sm",
                "gd",
                "sr",
                "sr-LA",
                "sd",
                "si",
                "sk",
                "sl",
                "sn",
                "st",
                "so",
                "es",
                "su",
                "sw",
                "sv",
                "ty",
                "ta",
                "tg",
                "te",
                "th",
                "bo",
                "to",
                "tr",
                "uk",
                "ur",
                "uz",
                "vi",
                "cy",
                "xh",
                "yi",
                "yo",
                "yua",
                "yue",
                "zu",
                "default"
              ]
            }
          },
          "cadences": {
            "default": [],
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "once",
                "daily",
                "weekly",
                "monthly",
                "quarterly",
                "semiannual",
                "yearly"
              ]
            }
          },
          "authEnabled": {
            "type": "boolean"
          },
          "cartEnabled": {
            "type": "boolean"
          },
          "wishlistEnabled": {
            "type": "boolean"
          },
          "reviewsEnabled": {
            "type": "boolean"
          },
          "storageLimit": {
            "type": "number",
            "nullable": true
          },
          "totalStorageUsed": {
            "default": 0,
            "type": "number"
          },
          "imageStorageUsed": {
            "default": 0,
            "type": "number"
          },
          "videoStorageUsed": {
            "default": 0,
            "type": "number"
          },
          "shippingTaxCode": {
            "type": "string",
            "nullable": true
          },
          "stripeCustomerPortalUrl": {
            "type": "string",
            "nullable": true
          },
          "stripeVatExemptionTaxRateId": {
            "type": "string",
            "nullable": true
          },
          "stripeAccountId": {
            "type": "string",
            "nullable": true
          },
          "stripeMetadata": {
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "permissions": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "id",
          "ownerId",
          "name",
          "plan",
          "defaultCurrencyCode",
          "defaultCadence",
          "defaultCountryCode",
          "defaultLangCode",
          "lowAvailabilityThreshold",
          "authEnabled",
          "cartEnabled",
          "wishlistEnabled",
          "reviewsEnabled",
          "storageLimit",
          "shippingTaxCode",
          "stripeCustomerPortalUrl",
          "stripeVatExemptionTaxRateId",
          "stripeAccountId",
          "createdAt",
          "updatedAt"
        ],
        "title": "Store Details",
        "description": "Complete store profile and current configuration."
      },
      "StoreDeletedResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "Deletion status",
        "description": "The deletion status."
      },
      "OptionListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "tagValue"
                  ]
                },
                "position": {
                  "type": "number",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {}
                }
              },
              "required": [
                "id",
                "storeId",
                "name",
                "type",
                "position",
                "createdAt",
                "updatedAt",
                "translations"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Option List",
        "description": "Paginated option list."
      },
      "OptionItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "tagValue"
            ]
          },
          "position": {
            "type": "number",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "translations": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "id",
          "storeId",
          "name",
          "type",
          "position",
          "createdAt",
          "updatedAt",
          "translations"
        ],
        "title": "Option",
        "description": "A single option."
      },
      "CreateOptionInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "type": {
            "default": "tagValue",
            "type": "string",
            "enum": [
              "tagValue"
            ]
          },
          "position": {
            "default": 0,
            "type": "integer",
            "minimum": 0
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "title": "Create Option",
        "description": "Input to create a product option (e.g., Color, Size)."
      },
      "CreateManyOptionsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "type": {
                  "default": "tagValue",
                  "type": "string",
                  "enum": [
                    "tagValue"
                  ]
                },
                "position": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                }
              },
              "required": [
                "name"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Create Options",
        "description": "List of options to create in a single batch transaction."
      },
      "DeleteManyOptionsInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Bulk Delete Options",
        "description": "List of option IDs to remove from the store."
      },
      "OptionDeletedDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "id"
        ],
        "title": "Option Deleted",
        "description": "Deletion confirmation."
      },
      "UpdateManyOptionsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "position": {
                  "type": "integer",
                  "minimum": 0
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "title": "Bulk Update Options",
        "description": "List of option updates to process in batch."
      },
      "UpdateOptionInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "position": {
            "type": "integer",
            "minimum": 0
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "additionalProperties": false,
        "title": "Update Option",
        "description": "Payload to update an existing option metadata."
      },
      "OrderListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "reference": {
                  "type": "integer",
                  "nullable": true
                },
                "customerId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "customerEmail": {
                  "type": "string"
                },
                "paymentStatus": {
                  "type": "string",
                  "enum": [
                    "created",
                    "pending",
                    "failed",
                    "canceled",
                    "partially_funded",
                    "authorized",
                    "paid"
                  ]
                },
                "shippingStatus": {
                  "type": "string",
                  "enum": [
                    "unassigned",
                    "preparing",
                    "shipped",
                    "received"
                  ],
                  "nullable": true
                },
                "paymentMethodDetails": {
                  "type": "string",
                  "nullable": true
                },
                "currencyCode": {
                  "type": "string"
                },
                "amount": {
                  "type": "string"
                },
                "shippingCost": {
                  "type": "string",
                  "nullable": true
                },
                "shippingTrackingUrl": {
                  "type": "string",
                  "nullable": true
                },
                "billingAddress": {
                  "type": "object",
                  "properties": {
                    "fullName": {
                      "type": "string",
                      "minLength": 2
                    },
                    "company": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "addressLine1": {
                      "type": "string",
                      "minLength": 3
                    },
                    "addressLine2": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string",
                      "minLength": 2
                    },
                    "province": {
                      "type": "string"
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 3
                    },
                    "countryCode": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "vatCode": {
                      "type": "string",
                      "maxLength": 32,
                      "nullable": true
                    },
                    "additionalInfo": {
                      "type": "string",
                      "minLength": 0,
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "fullName",
                    "addressLine1",
                    "city",
                    "postalCode",
                    "countryCode"
                  ],
                  "additionalProperties": false
                },
                "shippingAddress": {
                  "type": "object",
                  "properties": {
                    "fullName": {
                      "type": "string",
                      "minLength": 2
                    },
                    "company": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "addressLine1": {
                      "type": "string",
                      "minLength": 3
                    },
                    "addressLine2": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string",
                      "minLength": 2
                    },
                    "province": {
                      "type": "string"
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 3
                    },
                    "countryCode": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "vatCode": {
                      "type": "string",
                      "maxLength": 32,
                      "nullable": true
                    },
                    "additionalInfo": {
                      "type": "string",
                      "minLength": 0,
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "fullName",
                    "addressLine1",
                    "city",
                    "postalCode",
                    "countryCode"
                  ],
                  "additionalProperties": false
                },
                "stripePaymentIntentId": {
                  "type": "string",
                  "nullable": true
                },
                "stripeSubscriptionId": {
                  "type": "string",
                  "nullable": true
                },
                "stripeCheckoutSessionId": {
                  "type": "string",
                  "nullable": true
                },
                "stripeInvoiceId": {
                  "type": "string",
                  "nullable": true
                },
                "stripeInvoiceUrl": {
                  "type": "string",
                  "nullable": true
                },
                "isStripeOrder": {
                  "type": "boolean",
                  "nullable": true
                },
                "amountCapturable": {
                  "type": "string",
                  "nullable": true
                },
                "partialFundingAmount": {
                  "type": "string",
                  "nullable": true
                },
                "disputeStatus": {
                  "type": "string",
                  "enum": [
                    "none",
                    "expired",
                    "submitted",
                    "unsubmitted",
                    "won",
                    "lost"
                  ],
                  "nullable": true
                },
                "refundStatus": {
                  "type": "string",
                  "enum": [
                    "none",
                    "pending",
                    "requires_action",
                    "succeeded",
                    "failed",
                    "canceled"
                  ],
                  "nullable": true
                },
                "stripeDisputeId": {
                  "type": "string",
                  "nullable": true
                },
                "lastRefundId": {
                  "type": "string",
                  "nullable": true
                },
                "lastRefundEventTs": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "lastRefundEventName": {
                  "type": "string",
                  "nullable": true
                },
                "lastDisputeEventTs": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "lastDisputeEventName": {
                  "type": "string",
                  "nullable": true
                },
                "lastCheckoutEventTs": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "lastCheckoutEventName": {
                  "type": "string",
                  "nullable": true
                },
                "lastPaymentIntentEventTs": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "lastPaymentIntentEventName": {
                  "type": "string",
                  "nullable": true
                },
                "refundAmount": {
                  "type": "string",
                  "nullable": true
                },
                "processedEvents": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true
                },
                "checkoutCountryCode": {
                  "type": "string",
                  "nullable": true
                },
                "checkoutLangCode": {
                  "type": "string",
                  "nullable": true
                },
                "checkoutSource": {
                  "type": "string",
                  "nullable": true
                },
                "promotionSnapshot": {
                  "type": "array",
                  "items": {},
                  "nullable": true
                },
                "requestsInvoice": {
                  "type": "boolean",
                  "nullable": true
                },
                "isAuthenticated": {
                  "type": "boolean",
                  "nullable": true
                },
                "additionalData": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "reference",
                "customerId",
                "customerEmail",
                "paymentStatus",
                "shippingStatus",
                "paymentMethodDetails",
                "currencyCode",
                "amount",
                "shippingCost",
                "shippingTrackingUrl",
                "billingAddress",
                "shippingAddress",
                "stripePaymentIntentId",
                "stripeSubscriptionId",
                "stripeCheckoutSessionId",
                "stripeInvoiceId",
                "stripeInvoiceUrl",
                "isStripeOrder",
                "amountCapturable",
                "partialFundingAmount",
                "disputeStatus",
                "refundStatus",
                "stripeDisputeId",
                "lastRefundId",
                "lastRefundEventTs",
                "lastRefundEventName",
                "lastDisputeEventTs",
                "lastDisputeEventName",
                "lastCheckoutEventTs",
                "lastCheckoutEventName",
                "lastPaymentIntentEventTs",
                "lastPaymentIntentEventName",
                "refundAmount",
                "processedEvents",
                "checkoutCountryCode",
                "checkoutLangCode",
                "checkoutSource",
                "promotionSnapshot",
                "requestsInvoice",
                "isAuthenticated",
                "additionalData",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Order List",
        "description": "Paginated order list."
      },
      "OrderExportResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "title": "Order Export",
        "description": "HTML export."
      },
      "OrderCheckoutLinkResponseDTO": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "url"
        ],
        "title": "Checkout Link",
        "description": "Stripe checkout URL."
      },
      "OrderDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "reference": {
            "type": "integer",
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "customerEmail": {
            "type": "string"
          },
          "paymentStatus": {
            "type": "string",
            "enum": [
              "created",
              "pending",
              "failed",
              "canceled",
              "partially_funded",
              "authorized",
              "paid"
            ]
          },
          "shippingStatus": {
            "type": "string",
            "enum": [
              "unassigned",
              "preparing",
              "shipped",
              "received"
            ],
            "nullable": true
          },
          "paymentMethodDetails": {
            "type": "string",
            "nullable": true
          },
          "currencyCode": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "shippingCost": {
            "type": "string",
            "nullable": true
          },
          "shippingTrackingUrl": {
            "type": "string",
            "nullable": true
          },
          "billingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "shippingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "stripePaymentIntentId": {
            "type": "string",
            "nullable": true
          },
          "stripeSubscriptionId": {
            "type": "string",
            "nullable": true
          },
          "stripeCheckoutSessionId": {
            "type": "string",
            "nullable": true
          },
          "stripeInvoiceId": {
            "type": "string",
            "nullable": true
          },
          "stripeInvoiceUrl": {
            "type": "string",
            "nullable": true
          },
          "isStripeOrder": {
            "type": "boolean",
            "nullable": true
          },
          "amountCapturable": {
            "type": "string",
            "nullable": true
          },
          "partialFundingAmount": {
            "type": "string",
            "nullable": true
          },
          "disputeStatus": {
            "type": "string",
            "enum": [
              "none",
              "expired",
              "submitted",
              "unsubmitted",
              "won",
              "lost"
            ],
            "nullable": true
          },
          "refundStatus": {
            "type": "string",
            "enum": [
              "none",
              "pending",
              "requires_action",
              "succeeded",
              "failed",
              "canceled"
            ],
            "nullable": true
          },
          "stripeDisputeId": {
            "type": "string",
            "nullable": true
          },
          "lastRefundId": {
            "type": "string",
            "nullable": true
          },
          "lastRefundEventTs": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastRefundEventName": {
            "type": "string",
            "nullable": true
          },
          "lastDisputeEventTs": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastDisputeEventName": {
            "type": "string",
            "nullable": true
          },
          "lastCheckoutEventTs": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastCheckoutEventName": {
            "type": "string",
            "nullable": true
          },
          "lastPaymentIntentEventTs": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastPaymentIntentEventName": {
            "type": "string",
            "nullable": true
          },
          "refundAmount": {
            "type": "string",
            "nullable": true
          },
          "processedEvents": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "checkoutCountryCode": {
            "type": "string",
            "nullable": true
          },
          "checkoutLangCode": {
            "type": "string",
            "nullable": true
          },
          "checkoutSource": {
            "type": "string",
            "nullable": true
          },
          "promotionSnapshot": {
            "type": "array",
            "items": {},
            "nullable": true
          },
          "requestsInvoice": {
            "type": "boolean",
            "nullable": true
          },
          "isAuthenticated": {
            "type": "boolean",
            "nullable": true
          },
          "additionalData": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "storeId",
          "reference",
          "customerId",
          "customerEmail",
          "paymentStatus",
          "shippingStatus",
          "paymentMethodDetails",
          "currencyCode",
          "amount",
          "shippingCost",
          "shippingTrackingUrl",
          "billingAddress",
          "shippingAddress",
          "stripePaymentIntentId",
          "stripeSubscriptionId",
          "stripeCheckoutSessionId",
          "stripeInvoiceId",
          "stripeInvoiceUrl",
          "isStripeOrder",
          "amountCapturable",
          "partialFundingAmount",
          "disputeStatus",
          "refundStatus",
          "stripeDisputeId",
          "lastRefundId",
          "lastRefundEventTs",
          "lastRefundEventName",
          "lastDisputeEventTs",
          "lastDisputeEventName",
          "lastCheckoutEventTs",
          "lastCheckoutEventName",
          "lastPaymentIntentEventTs",
          "lastPaymentIntentEventName",
          "refundAmount",
          "processedEvents",
          "checkoutCountryCode",
          "checkoutLangCode",
          "checkoutSource",
          "promotionSnapshot",
          "requestsInvoice",
          "isAuthenticated",
          "additionalData",
          "createdAt",
          "updatedAt"
        ],
        "title": "Order",
        "description": "A single order."
      },
      "CreateOrderInputDTO": {
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string",
            "format": "uuid"
          },
          "customerEmail": {
            "type": "string",
            "format": "email"
          },
          "paymentStatus": {
            "default": "created",
            "type": "string",
            "enum": [
              "created",
              "pending",
              "failed",
              "canceled",
              "partially_funded",
              "authorized",
              "paid"
            ]
          },
          "shippingStatus": {
            "type": "string",
            "enum": [
              "unassigned",
              "preparing",
              "shipped",
              "received"
            ]
          },
          "currencyCode": {
            "type": "string",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ARS",
              "AUD",
              "AZN",
              "BAM",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BND",
              "BOB",
              "BRL",
              "BWP",
              "BYR",
              "BZD",
              "CDF",
              "CHF",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EEK",
              "EGP",
              "ERN",
              "ETB",
              "GBP",
              "GEL",
              "GHS",
              "GNF",
              "GTQ",
              "HKD",
              "HNL",
              "HRK",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KHR",
              "KMF",
              "KRW",
              "KWD",
              "KZT",
              "LBP",
              "LKR",
              "LTL",
              "LVL",
              "LYD",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MOP",
              "MUR",
              "MXN",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SDG",
              "SEK",
              "SGD",
              "SOS",
              "SYP",
              "THB",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "UYU",
              "UZS",
              "VEF",
              "VND",
              "XAF",
              "XOF",
              "YER",
              "ZAR",
              "ZMK"
            ]
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "shippingCost": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "shippingTrackingUrl": {
            "type": "string"
          },
          "stripePaymentIntentId": {
            "type": "string"
          },
          "stripeSubscriptionId": {
            "type": "string"
          },
          "stripeCheckoutSessionId": {
            "type": "string"
          },
          "stripeInvoiceId": {
            "type": "string"
          },
          "stripeInvoiceUrl": {
            "type": "string"
          },
          "amountCapturable": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "partialFundingAmount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "disputeStatus": {
            "type": "string",
            "enum": [
              "none",
              "expired",
              "submitted",
              "unsubmitted",
              "won",
              "lost"
            ]
          },
          "refundStatus": {
            "type": "string",
            "enum": [
              "none",
              "pending",
              "requires_action",
              "succeeded",
              "failed",
              "canceled"
            ]
          },
          "stripeDisputeId": {
            "type": "string"
          },
          "lastRefundId": {
            "type": "string"
          },
          "refundAmount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "billingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "shippingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "additionalData": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "promotionSnapshot": {
            "default": [],
            "type": "array",
            "items": {}
          },
          "paymentMethodDetails": {
            "type": "string",
            "maxLength": 255
          },
          "requestsInvoice": {
            "default": false,
            "type": "boolean",
            "nullable": true
          },
          "invoiceVatCode": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "invoiceRecipientCode": {
            "type": "string",
            "maxLength": 255,
            "nullable": true
          }
        },
        "required": [
          "customerId",
          "customerEmail",
          "currencyCode",
          "amount",
          "billingAddress"
        ],
        "additionalProperties": false,
        "title": "Create Order",
        "description": "Manual order creation by store administrator."
      },
      "CreateOrderFromCartDTO": {
        "type": "object",
        "properties": {
          "cartTrackingId": {
            "type": "string",
            "format": "uuid"
          },
          "isAuthenticated": {
            "type": "boolean"
          },
          "customerEmail": {
            "type": "string",
            "format": "email"
          },
          "currencyCode": {
            "type": "string",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ARS",
              "AUD",
              "AZN",
              "BAM",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BND",
              "BOB",
              "BRL",
              "BWP",
              "BYR",
              "BZD",
              "CDF",
              "CHF",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EEK",
              "EGP",
              "ERN",
              "ETB",
              "GBP",
              "GEL",
              "GHS",
              "GNF",
              "GTQ",
              "HKD",
              "HNL",
              "HRK",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KHR",
              "KMF",
              "KRW",
              "KWD",
              "KZT",
              "LBP",
              "LKR",
              "LTL",
              "LVL",
              "LYD",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MOP",
              "MUR",
              "MXN",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SDG",
              "SEK",
              "SGD",
              "SOS",
              "SYP",
              "THB",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "UYU",
              "UZS",
              "VEF",
              "VND",
              "XAF",
              "XOF",
              "YER",
              "ZAR",
              "ZMK"
            ]
          },
          "shippingCost": {
            "default": "0",
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "billingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "shippingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 10000
                },
                "unitNet": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "appliedTaxRate": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "deliveryMethod": {
                  "default": "none",
                  "type": "string",
                  "enum": [
                    "pickup",
                    "shipping",
                    "digital",
                    "none"
                  ]
                },
                "coverUrl": {
                  "type": "string",
                  "format": "uri",
                  "nullable": true
                }
              },
              "required": [
                "variantId",
                "quantity",
                "unitNet",
                "appliedTaxRate"
              ]
            },
            "minItems": 1
          }
        },
        "required": [
          "cartTrackingId",
          "customerEmail",
          "currencyCode",
          "billingAddress",
          "items"
        ],
        "additionalProperties": false,
        "title": "Create Order from cart",
        "description": "Manual order creation by store administrator through a cart."
      },
      "CreateManyOrdersInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "customerId": {
                  "type": "string",
                  "format": "uuid"
                },
                "customerEmail": {
                  "type": "string",
                  "format": "email"
                },
                "paymentStatus": {
                  "default": "created",
                  "type": "string",
                  "enum": [
                    "created",
                    "pending",
                    "failed",
                    "canceled",
                    "partially_funded",
                    "authorized",
                    "paid"
                  ]
                },
                "shippingStatus": {
                  "type": "string",
                  "enum": [
                    "unassigned",
                    "preparing",
                    "shipped",
                    "received"
                  ]
                },
                "currencyCode": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "EUR",
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ARS",
                    "AUD",
                    "AZN",
                    "BAM",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BND",
                    "BOB",
                    "BRL",
                    "BWP",
                    "BYR",
                    "BZD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EEK",
                    "EGP",
                    "ERN",
                    "ETB",
                    "GBP",
                    "GEL",
                    "GHS",
                    "GNF",
                    "GTQ",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HUF",
                    "IDR",
                    "ILS",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KHR",
                    "KMF",
                    "KRW",
                    "KWD",
                    "KZT",
                    "LBP",
                    "LKR",
                    "LTL",
                    "LVL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MOP",
                    "MUR",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SOS",
                    "SYP",
                    "THB",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "XAF",
                    "XOF",
                    "YER",
                    "ZAR",
                    "ZMK"
                  ]
                },
                "amount": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "shippingCost": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "shippingTrackingUrl": {
                  "type": "string"
                },
                "stripePaymentIntentId": {
                  "type": "string"
                },
                "stripeSubscriptionId": {
                  "type": "string"
                },
                "stripeCheckoutSessionId": {
                  "type": "string"
                },
                "stripeInvoiceId": {
                  "type": "string"
                },
                "stripeInvoiceUrl": {
                  "type": "string"
                },
                "amountCapturable": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "partialFundingAmount": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "disputeStatus": {
                  "type": "string",
                  "enum": [
                    "none",
                    "expired",
                    "submitted",
                    "unsubmitted",
                    "won",
                    "lost"
                  ]
                },
                "refundStatus": {
                  "type": "string",
                  "enum": [
                    "none",
                    "pending",
                    "requires_action",
                    "succeeded",
                    "failed",
                    "canceled"
                  ]
                },
                "stripeDisputeId": {
                  "type": "string"
                },
                "lastRefundId": {
                  "type": "string"
                },
                "refundAmount": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "billingAddress": {
                  "type": "object",
                  "properties": {
                    "fullName": {
                      "type": "string",
                      "minLength": 2
                    },
                    "company": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "addressLine1": {
                      "type": "string",
                      "minLength": 3
                    },
                    "addressLine2": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string",
                      "minLength": 2
                    },
                    "province": {
                      "type": "string"
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 3
                    },
                    "countryCode": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "vatCode": {
                      "type": "string",
                      "maxLength": 32,
                      "nullable": true
                    },
                    "additionalInfo": {
                      "type": "string",
                      "minLength": 0,
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "fullName",
                    "addressLine1",
                    "city",
                    "postalCode",
                    "countryCode"
                  ],
                  "additionalProperties": false
                },
                "shippingAddress": {
                  "type": "object",
                  "properties": {
                    "fullName": {
                      "type": "string",
                      "minLength": 2
                    },
                    "company": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "addressLine1": {
                      "type": "string",
                      "minLength": 3
                    },
                    "addressLine2": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string",
                      "minLength": 2
                    },
                    "province": {
                      "type": "string"
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 3
                    },
                    "countryCode": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "vatCode": {
                      "type": "string",
                      "maxLength": 32,
                      "nullable": true
                    },
                    "additionalInfo": {
                      "type": "string",
                      "minLength": 0,
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "fullName",
                    "addressLine1",
                    "city",
                    "postalCode",
                    "countryCode"
                  ],
                  "additionalProperties": false
                },
                "additionalData": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "promotionSnapshot": {
                  "default": [],
                  "type": "array",
                  "items": {}
                },
                "paymentMethodDetails": {
                  "type": "string",
                  "maxLength": 255
                },
                "requestsInvoice": {
                  "default": false,
                  "type": "boolean",
                  "nullable": true
                },
                "invoiceVatCode": {
                  "type": "string",
                  "maxLength": 100,
                  "nullable": true
                },
                "invoiceRecipientCode": {
                  "type": "string",
                  "maxLength": 255,
                  "nullable": true
                }
              },
              "required": [
                "customerId",
                "customerEmail",
                "currencyCode",
                "amount",
                "billingAddress"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Create Orders",
        "description": "List of orders to be imported or created in batch."
      },
      "DeleteManyOrdersInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Bulk Delete Orders",
        "description": "List of order IDs to be permanently removed."
      },
      "OrderDeletedDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "id"
        ],
        "title": "Order Deleted",
        "description": "Deletion confirmation."
      },
      "UpdateManyOrdersInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "customerEmail": {
                  "type": "string",
                  "format": "email"
                },
                "paymentStatus": {
                  "default": "created",
                  "type": "string",
                  "enum": [
                    "created",
                    "pending",
                    "failed",
                    "canceled",
                    "partially_funded",
                    "authorized",
                    "paid"
                  ]
                },
                "shippingStatus": {
                  "type": "string",
                  "enum": [
                    "unassigned",
                    "preparing",
                    "shipped",
                    "received"
                  ]
                },
                "currencyCode": {
                  "type": "string",
                  "enum": [
                    "USD",
                    "CAD",
                    "EUR",
                    "AED",
                    "AFN",
                    "ALL",
                    "AMD",
                    "ARS",
                    "AUD",
                    "AZN",
                    "BAM",
                    "BDT",
                    "BGN",
                    "BHD",
                    "BIF",
                    "BND",
                    "BOB",
                    "BRL",
                    "BWP",
                    "BYR",
                    "BZD",
                    "CDF",
                    "CHF",
                    "CLP",
                    "CNY",
                    "COP",
                    "CRC",
                    "CVE",
                    "CZK",
                    "DJF",
                    "DKK",
                    "DOP",
                    "DZD",
                    "EEK",
                    "EGP",
                    "ERN",
                    "ETB",
                    "GBP",
                    "GEL",
                    "GHS",
                    "GNF",
                    "GTQ",
                    "HKD",
                    "HNL",
                    "HRK",
                    "HUF",
                    "IDR",
                    "ILS",
                    "INR",
                    "IQD",
                    "IRR",
                    "ISK",
                    "JMD",
                    "JOD",
                    "JPY",
                    "KES",
                    "KHR",
                    "KMF",
                    "KRW",
                    "KWD",
                    "KZT",
                    "LBP",
                    "LKR",
                    "LTL",
                    "LVL",
                    "LYD",
                    "MAD",
                    "MDL",
                    "MGA",
                    "MKD",
                    "MMK",
                    "MOP",
                    "MUR",
                    "MXN",
                    "MYR",
                    "MZN",
                    "NAD",
                    "NGN",
                    "NIO",
                    "NOK",
                    "NPR",
                    "NZD",
                    "OMR",
                    "PAB",
                    "PEN",
                    "PHP",
                    "PKR",
                    "PLN",
                    "PYG",
                    "QAR",
                    "RON",
                    "RSD",
                    "RUB",
                    "RWF",
                    "SAR",
                    "SDG",
                    "SEK",
                    "SGD",
                    "SOS",
                    "SYP",
                    "THB",
                    "TND",
                    "TOP",
                    "TRY",
                    "TTD",
                    "TWD",
                    "TZS",
                    "UAH",
                    "UGX",
                    "UYU",
                    "UZS",
                    "VEF",
                    "VND",
                    "XAF",
                    "XOF",
                    "YER",
                    "ZAR",
                    "ZMK"
                  ]
                },
                "amount": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "shippingCost": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "shippingTrackingUrl": {
                  "type": "string"
                },
                "stripePaymentIntentId": {
                  "type": "string"
                },
                "stripeSubscriptionId": {
                  "type": "string"
                },
                "stripeCheckoutSessionId": {
                  "type": "string"
                },
                "stripeInvoiceId": {
                  "type": "string"
                },
                "stripeInvoiceUrl": {
                  "type": "string"
                },
                "amountCapturable": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "partialFundingAmount": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "disputeStatus": {
                  "type": "string",
                  "enum": [
                    "none",
                    "expired",
                    "submitted",
                    "unsubmitted",
                    "won",
                    "lost"
                  ]
                },
                "refundStatus": {
                  "type": "string",
                  "enum": [
                    "none",
                    "pending",
                    "requires_action",
                    "succeeded",
                    "failed",
                    "canceled"
                  ]
                },
                "stripeDisputeId": {
                  "type": "string"
                },
                "lastRefundId": {
                  "type": "string"
                },
                "refundAmount": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "billingAddress": {
                  "type": "object",
                  "properties": {
                    "fullName": {
                      "type": "string",
                      "minLength": 2
                    },
                    "company": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "addressLine1": {
                      "type": "string",
                      "minLength": 3
                    },
                    "addressLine2": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string",
                      "minLength": 2
                    },
                    "province": {
                      "type": "string"
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 3
                    },
                    "countryCode": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "vatCode": {
                      "type": "string",
                      "maxLength": 32,
                      "nullable": true
                    },
                    "additionalInfo": {
                      "type": "string",
                      "minLength": 0,
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "fullName",
                    "addressLine1",
                    "city",
                    "postalCode",
                    "countryCode"
                  ],
                  "additionalProperties": false
                },
                "shippingAddress": {
                  "type": "object",
                  "properties": {
                    "fullName": {
                      "type": "string",
                      "minLength": 2
                    },
                    "company": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "addressLine1": {
                      "type": "string",
                      "minLength": 3
                    },
                    "addressLine2": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string",
                      "minLength": 2
                    },
                    "province": {
                      "type": "string"
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 3
                    },
                    "countryCode": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "vatCode": {
                      "type": "string",
                      "maxLength": 32,
                      "nullable": true
                    },
                    "additionalInfo": {
                      "type": "string",
                      "minLength": 0,
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "fullName",
                    "addressLine1",
                    "city",
                    "postalCode",
                    "countryCode"
                  ],
                  "additionalProperties": false
                },
                "additionalData": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "promotionSnapshot": {
                  "default": [],
                  "type": "array",
                  "items": {}
                },
                "paymentMethodDetails": {
                  "type": "string",
                  "maxLength": 255
                },
                "requestsInvoice": {
                  "default": false,
                  "type": "boolean",
                  "nullable": true
                },
                "invoiceVatCode": {
                  "type": "string",
                  "maxLength": 100,
                  "nullable": true
                },
                "invoiceRecipientCode": {
                  "type": "string",
                  "maxLength": 255,
                  "nullable": true
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Update Orders",
        "description": "List of updates for multiple orders (e.g., mass status change)."
      },
      "UpdateOrderInputDTO": {
        "type": "object",
        "properties": {
          "customerEmail": {
            "type": "string",
            "format": "email"
          },
          "paymentStatus": {
            "default": "created",
            "type": "string",
            "enum": [
              "created",
              "pending",
              "failed",
              "canceled",
              "partially_funded",
              "authorized",
              "paid"
            ]
          },
          "shippingStatus": {
            "type": "string",
            "enum": [
              "unassigned",
              "preparing",
              "shipped",
              "received"
            ]
          },
          "currencyCode": {
            "type": "string",
            "enum": [
              "USD",
              "CAD",
              "EUR",
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ARS",
              "AUD",
              "AZN",
              "BAM",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BND",
              "BOB",
              "BRL",
              "BWP",
              "BYR",
              "BZD",
              "CDF",
              "CHF",
              "CLP",
              "CNY",
              "COP",
              "CRC",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EEK",
              "EGP",
              "ERN",
              "ETB",
              "GBP",
              "GEL",
              "GHS",
              "GNF",
              "GTQ",
              "HKD",
              "HNL",
              "HRK",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KHR",
              "KMF",
              "KRW",
              "KWD",
              "KZT",
              "LBP",
              "LKR",
              "LTL",
              "LVL",
              "LYD",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MOP",
              "MUR",
              "MXN",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SDG",
              "SEK",
              "SGD",
              "SOS",
              "SYP",
              "THB",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "UYU",
              "UZS",
              "VEF",
              "VND",
              "XAF",
              "XOF",
              "YER",
              "ZAR",
              "ZMK"
            ]
          },
          "amount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "shippingCost": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "shippingTrackingUrl": {
            "type": "string"
          },
          "stripePaymentIntentId": {
            "type": "string"
          },
          "stripeSubscriptionId": {
            "type": "string"
          },
          "stripeCheckoutSessionId": {
            "type": "string"
          },
          "stripeInvoiceId": {
            "type": "string"
          },
          "stripeInvoiceUrl": {
            "type": "string"
          },
          "amountCapturable": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "partialFundingAmount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "disputeStatus": {
            "type": "string",
            "enum": [
              "none",
              "expired",
              "submitted",
              "unsubmitted",
              "won",
              "lost"
            ]
          },
          "refundStatus": {
            "type": "string",
            "enum": [
              "none",
              "pending",
              "requires_action",
              "succeeded",
              "failed",
              "canceled"
            ]
          },
          "stripeDisputeId": {
            "type": "string"
          },
          "lastRefundId": {
            "type": "string"
          },
          "refundAmount": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "billingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "shippingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "additionalData": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "promotionSnapshot": {
            "default": [],
            "type": "array",
            "items": {}
          },
          "paymentMethodDetails": {
            "type": "string",
            "maxLength": 255
          },
          "requestsInvoice": {
            "default": false,
            "type": "boolean",
            "nullable": true
          },
          "invoiceVatCode": {
            "type": "string",
            "maxLength": 100,
            "nullable": true
          },
          "invoiceRecipientCode": {
            "type": "string",
            "maxLength": 255,
            "nullable": true
          }
        },
        "additionalProperties": false,
        "title": "Update Order",
        "description": "Update order status, shipping details or totals. Stripe orders only support edit of shipping status and shipping tracking URL."
      },
      "OrderItemsResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "orderId": {
                  "type": "string",
                  "format": "uuid"
                },
                "productId": {
                  "type": "string",
                  "format": "uuid"
                },
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "coverUrl": {
                  "type": "string",
                  "nullable": true
                },
                "skuCode": {
                  "type": "string",
                  "nullable": true
                },
                "quantity": {
                  "type": "integer"
                },
                "deliveryMethod": {
                  "type": "string",
                  "nullable": true
                },
                "unitNet": {
                  "type": "string"
                },
                "unitGross": {
                  "type": "string"
                },
                "unitTax": {
                  "type": "string"
                },
                "totalNet": {
                  "type": "string"
                },
                "totalGross": {
                  "type": "string"
                },
                "totalTax": {
                  "type": "string"
                },
                "appliedTaxRate": {
                  "type": "number"
                },
                "taxBehavior": {
                  "type": "string",
                  "nullable": true
                },
                "stripePriceId": {
                  "type": "string",
                  "nullable": true
                },
                "stripeProductId": {
                  "type": "string",
                  "nullable": true
                },
                "stripeTaxCodeId": {
                  "type": "string",
                  "nullable": true
                },
                "variantName": {
                  "type": "string",
                  "nullable": true
                },
                "options": {
                  "type": "array",
                  "items": {},
                  "nullable": true
                },
                "packageWeight": {
                  "type": "number",
                  "nullable": true
                },
                "packageLength": {
                  "type": "number",
                  "nullable": true
                },
                "packageWidth": {
                  "type": "number",
                  "nullable": true
                },
                "packageHeight": {
                  "type": "number",
                  "nullable": true
                },
                "additionalData": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "orderId",
                "productId",
                "variantId",
                "coverUrl",
                "skuCode",
                "quantity",
                "deliveryMethod",
                "unitNet",
                "unitGross",
                "unitTax",
                "totalNet",
                "totalGross",
                "totalTax",
                "appliedTaxRate",
                "taxBehavior",
                "stripePriceId",
                "stripeProductId",
                "stripeTaxCodeId",
                "variantName",
                "options",
                "packageWeight",
                "packageLength",
                "packageWidth",
                "packageHeight",
                "additionalData",
                "createdAt",
                "updatedAt"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Order Items",
        "description": "Items in an order."
      },
      "PromotionUsagesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "promotionId": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeCustomerId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "orderId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "usedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "promotionId",
                "storeCustomerId",
                "orderId",
                "usedAt"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Promotion Usages",
        "description": "Promotion usages for an order."
      },
      "ReplaceOrderPromotionUsagesInputDTO": {
        "type": "object",
        "properties": {
          "promotionIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "promotionIds"
        ],
        "additionalProperties": false,
        "title": "Sync Order Promotion Usages",
        "description": "Records promotion usages for a specific order."
      },
      "CreateManyOrderItemsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "orderId": {
                  "type": "string",
                  "format": "uuid"
                },
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 10000
                },
                "deliveryMethod": {
                  "default": "none",
                  "type": "string",
                  "enum": [
                    "pickup",
                    "shipping",
                    "digital",
                    "none"
                  ]
                },
                "unitNet": {
                  "default": "0",
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "unitGross": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "unitTax": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "totalNet": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "totalGross": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "totalTax": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "appliedTaxRate": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "taxBehavior": {
                  "default": "useWrTax",
                  "type": "string",
                  "enum": [
                    "useWrTax",
                    "useStripeTax"
                  ]
                },
                "stripePriceId": {
                  "type": "string"
                },
                "stripeProductId": {
                  "type": "string"
                },
                "stripeTaxCodeId": {
                  "type": "string"
                },
                "additionalData": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                }
              },
              "required": [
                "orderId",
                "variantId",
                "quantity",
                "appliedTaxRate"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Create Order Items",
        "description": "Array of items to be added to an order in batch."
      },
      "OrderItemResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "orderId": {
            "type": "string",
            "format": "uuid"
          },
          "productId": {
            "type": "string",
            "format": "uuid"
          },
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "coverUrl": {
            "type": "string",
            "nullable": true
          },
          "skuCode": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "integer"
          },
          "deliveryMethod": {
            "type": "string",
            "nullable": true
          },
          "unitNet": {
            "type": "string"
          },
          "unitGross": {
            "type": "string"
          },
          "unitTax": {
            "type": "string"
          },
          "totalNet": {
            "type": "string"
          },
          "totalGross": {
            "type": "string"
          },
          "totalTax": {
            "type": "string"
          },
          "appliedTaxRate": {
            "type": "number"
          },
          "taxBehavior": {
            "type": "string",
            "enum": [
              "useWrTax",
              "useStripeTax"
            ],
            "nullable": true
          },
          "stripePriceId": {
            "type": "string",
            "nullable": true
          },
          "stripeProductId": {
            "type": "string",
            "nullable": true
          },
          "stripeTaxCodeId": {
            "type": "string",
            "nullable": true
          },
          "optionsSnapshot": {},
          "additionalData": {},
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "storeId",
          "orderId",
          "productId",
          "variantId",
          "coverUrl",
          "skuCode",
          "quantity",
          "deliveryMethod",
          "unitNet",
          "unitGross",
          "unitTax",
          "totalNet",
          "totalGross",
          "totalTax",
          "appliedTaxRate",
          "taxBehavior",
          "stripePriceId",
          "stripeProductId",
          "stripeTaxCodeId",
          "createdAt",
          "updatedAt"
        ],
        "title": "Order Item",
        "description": "A single order item."
      },
      "DeleteManyOrderItemsInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Bulk Delete Order Items",
        "description": "List of order item UUIDs to be removed."
      },
      "OrderItemDeletedDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "orderId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "id",
          "orderId"
        ],
        "title": "Order Item Deleted",
        "description": "Deletion confirmation."
      },
      "CreateOrderItemInputDTO": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "format": "uuid"
          },
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000
          },
          "deliveryMethod": {
            "default": "none",
            "type": "string",
            "enum": [
              "pickup",
              "shipping",
              "digital",
              "none"
            ]
          },
          "unitNet": {
            "default": "0",
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "unitGross": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "unitTax": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "totalNet": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "totalGross": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "totalTax": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "appliedTaxRate": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "taxBehavior": {
            "default": "useWrTax",
            "type": "string",
            "enum": [
              "useWrTax",
              "useStripeTax"
            ]
          },
          "stripePriceId": {
            "type": "string"
          },
          "stripeProductId": {
            "type": "string"
          },
          "stripeTaxCodeId": {
            "type": "string"
          },
          "additionalData": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          }
        },
        "required": [
          "orderId",
          "variantId",
          "quantity",
          "appliedTaxRate"
        ],
        "additionalProperties": false,
        "title": "Create Order Item",
        "description": "Input to add a single product to an existing order."
      },
      "UpdateManyOrderItemsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 10000
                },
                "deliveryMethod": {
                  "default": "none",
                  "type": "string",
                  "enum": [
                    "pickup",
                    "shipping",
                    "digital",
                    "none"
                  ]
                },
                "unitNet": {
                  "default": "0",
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "unitGross": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "unitTax": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "totalNet": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "totalGross": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "totalTax": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "appliedTaxRate": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "taxBehavior": {
                  "default": "useWrTax",
                  "type": "string",
                  "enum": [
                    "useWrTax",
                    "useStripeTax"
                  ]
                },
                "stripePriceId": {
                  "type": "string"
                },
                "stripeProductId": {
                  "type": "string"
                },
                "stripeTaxCodeId": {
                  "type": "string"
                },
                "additionalData": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Update Order Items",
        "description": "Array of updates for multiple order items."
      },
      "UpdateOrderItemInputDTO": {
        "type": "object",
        "properties": {
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000
          },
          "deliveryMethod": {
            "default": "none",
            "type": "string",
            "enum": [
              "pickup",
              "shipping",
              "digital",
              "none"
            ]
          },
          "unitNet": {
            "default": "0",
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "unitGross": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "unitTax": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "totalNet": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "totalGross": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "totalTax": {
            "type": "string",
            "pattern": "^\\d+(\\.\\d{1,8})?$"
          },
          "appliedTaxRate": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "taxBehavior": {
            "default": "useWrTax",
            "type": "string",
            "enum": [
              "useWrTax",
              "useStripeTax"
            ]
          },
          "stripePriceId": {
            "type": "string"
          },
          "stripeProductId": {
            "type": "string"
          },
          "stripeTaxCodeId": {
            "type": "string"
          },
          "additionalData": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          }
        },
        "additionalProperties": false,
        "title": "Update Order Item",
        "description": "Input to update quantity or price of an item in an order."
      },
      "ProductListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "seoDescription": {
                  "type": "string",
                  "nullable": true
                },
                "htmlDescription": {
                  "type": "string",
                  "nullable": true
                },
                "metadata": {},
                "visible": {
                  "type": "boolean"
                },
                "deliveryMethods": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "defaultTaxRate": {
                  "type": "number",
                  "nullable": true
                },
                "defaultStripeTaxRateId": {
                  "type": "string",
                  "nullable": true
                },
                "packageWeight": {
                  "type": "number",
                  "nullable": true
                },
                "packageLength": {
                  "type": "number",
                  "nullable": true
                },
                "packageHeight": {
                  "type": "number",
                  "nullable": true
                },
                "packageWidth": {
                  "type": "number",
                  "nullable": true
                },
                "disableCoupons": {
                  "type": "boolean",
                  "nullable": true
                },
                "coverUrl": {
                  "type": "string",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "translations": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "seoDescription": {
                      "type": "string",
                      "nullable": true
                    },
                    "htmlDescription": {
                      "type": "string",
                      "nullable": true
                    },
                    "metadata": {
                      "nullable": true
                    }
                  }
                }
              },
              "required": [
                "id",
                "storeId",
                "name",
                "visible",
                "deliveryMethods",
                "defaultTaxRate",
                "defaultStripeTaxRateId",
                "packageWeight",
                "packageLength",
                "packageHeight",
                "packageWidth",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Product List",
        "description": "Paginated product list."
      },
      "ProductItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "seoDescription": {
            "type": "string",
            "nullable": true
          },
          "htmlDescription": {
            "type": "string",
            "nullable": true
          },
          "metadata": {},
          "visible": {
            "type": "boolean"
          },
          "deliveryMethods": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "defaultTaxRate": {
            "type": "number",
            "nullable": true
          },
          "defaultStripeTaxRateId": {
            "type": "string",
            "nullable": true
          },
          "packageWeight": {
            "type": "number",
            "nullable": true
          },
          "packageLength": {
            "type": "number",
            "nullable": true
          },
          "packageHeight": {
            "type": "number",
            "nullable": true
          },
          "packageWidth": {
            "type": "number",
            "nullable": true
          },
          "disableCoupons": {
            "type": "boolean",
            "nullable": true
          },
          "coverUrl": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "translations": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              },
              "seoDescription": {
                "type": "string",
                "nullable": true
              },
              "htmlDescription": {
                "type": "string",
                "nullable": true
              },
              "metadata": {
                "nullable": true
              }
            }
          }
        },
        "required": [
          "id",
          "storeId",
          "name",
          "visible",
          "deliveryMethods",
          "defaultTaxRate",
          "defaultStripeTaxRateId",
          "packageWeight",
          "packageLength",
          "packageHeight",
          "packageWidth",
          "createdAt",
          "updatedAt"
        ],
        "title": "Product",
        "description": "A single product."
      },
      "ProductVariantListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "productId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                },
                "visible": {
                  "type": "boolean"
                },
                "metadata": {},
                "isFavourite": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritAssets": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritTagValues": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritAttributes": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritShippingMethods": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritShippingZones": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritTaxZones": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritPackageDimensions": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritDisabledCoupons": {
                  "type": "boolean",
                  "nullable": true
                },
                "disableCoupons": {
                  "type": "boolean",
                  "nullable": true
                },
                "sku": {
                  "type": "string",
                  "nullable": true
                },
                "mpn": {
                  "type": "string",
                  "nullable": true
                },
                "upc": {
                  "type": "string",
                  "nullable": true
                },
                "isbn": {
                  "type": "string",
                  "nullable": true
                },
                "asin": {
                  "type": "string",
                  "nullable": true
                },
                "gtin": {
                  "type": "string",
                  "nullable": true
                },
                "hsCode": {
                  "type": "string",
                  "nullable": true
                },
                "supplierCode": {
                  "type": "string",
                  "nullable": true
                },
                "ean": {
                  "type": "string",
                  "nullable": true
                },
                "allowBackorder": {
                  "type": "boolean",
                  "nullable": true
                },
                "backorderDays": {
                  "type": "number",
                  "nullable": true
                },
                "maxOrderQuantity": {
                  "type": "number",
                  "nullable": true
                },
                "allowFreeShipping": {
                  "type": "boolean",
                  "nullable": true
                },
                "forceFreeShipping": {
                  "type": "boolean",
                  "nullable": true
                },
                "purchaseRestock": {
                  "type": "boolean",
                  "nullable": true
                },
                "packageWeight": {
                  "type": "number",
                  "nullable": true
                },
                "packageLength": {
                  "type": "number",
                  "nullable": true
                },
                "packageHeight": {
                  "type": "number",
                  "nullable": true
                },
                "packageWidth": {
                  "type": "number",
                  "nullable": true
                },
                "coverUrl": {
                  "type": "string",
                  "nullable": true
                },
                "price": {
                  "type": "object",
                  "properties": {
                    "amount": {
                      "type": "string",
                      "nullable": true
                    },
                    "currencyCode": {
                      "type": "string",
                      "enum": [
                        "USD",
                        "CAD",
                        "EUR",
                        "AED",
                        "AFN",
                        "ALL",
                        "AMD",
                        "ARS",
                        "AUD",
                        "AZN",
                        "BAM",
                        "BDT",
                        "BGN",
                        "BHD",
                        "BIF",
                        "BND",
                        "BOB",
                        "BRL",
                        "BWP",
                        "BYR",
                        "BZD",
                        "CDF",
                        "CHF",
                        "CLP",
                        "CNY",
                        "COP",
                        "CRC",
                        "CVE",
                        "CZK",
                        "DJF",
                        "DKK",
                        "DOP",
                        "DZD",
                        "EEK",
                        "EGP",
                        "ERN",
                        "ETB",
                        "GBP",
                        "GEL",
                        "GHS",
                        "GNF",
                        "GTQ",
                        "HKD",
                        "HNL",
                        "HRK",
                        "HUF",
                        "IDR",
                        "ILS",
                        "INR",
                        "IQD",
                        "IRR",
                        "ISK",
                        "JMD",
                        "JOD",
                        "JPY",
                        "KES",
                        "KHR",
                        "KMF",
                        "KRW",
                        "KWD",
                        "KZT",
                        "LBP",
                        "LKR",
                        "LTL",
                        "LVL",
                        "LYD",
                        "MAD",
                        "MDL",
                        "MGA",
                        "MKD",
                        "MMK",
                        "MOP",
                        "MUR",
                        "MXN",
                        "MYR",
                        "MZN",
                        "NAD",
                        "NGN",
                        "NIO",
                        "NOK",
                        "NPR",
                        "NZD",
                        "OMR",
                        "PAB",
                        "PEN",
                        "PHP",
                        "PKR",
                        "PLN",
                        "PYG",
                        "QAR",
                        "RON",
                        "RSD",
                        "RUB",
                        "RWF",
                        "SAR",
                        "SDG",
                        "SEK",
                        "SGD",
                        "SOS",
                        "SYP",
                        "THB",
                        "TND",
                        "TOP",
                        "TRY",
                        "TTD",
                        "TWD",
                        "TZS",
                        "UAH",
                        "UGX",
                        "UYU",
                        "UZS",
                        "VEF",
                        "VND",
                        "XAF",
                        "XOF",
                        "YER",
                        "ZAR",
                        "ZMK"
                      ]
                    },
                    "cadence": {
                      "type": "string",
                      "enum": [
                        "once",
                        "daily",
                        "weekly",
                        "monthly",
                        "quarterly",
                        "semiannual",
                        "yearly"
                      ]
                    },
                    "comparePrice": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalId": {
                      "type": "string",
                      "nullable": true
                    },
                    "defaultTaxRate": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "amount",
                    "currencyCode",
                    "cadence",
                    "comparePrice",
                    "externalId",
                    "defaultTaxRate"
                  ],
                  "nullable": true
                },
                "stock": {
                  "type": "number"
                },
                "optionSummary": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "translations": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "productId",
                "name",
                "slug",
                "visible",
                "isFavourite",
                "inheritAssets",
                "inheritTagValues",
                "inheritAttributes",
                "inheritShippingMethods",
                "inheritShippingZones",
                "inheritTaxZones",
                "inheritPackageDimensions",
                "disableCoupons",
                "sku",
                "mpn",
                "upc",
                "isbn",
                "asin",
                "gtin",
                "hsCode",
                "supplierCode",
                "ean",
                "allowBackorder",
                "backorderDays",
                "maxOrderQuantity",
                "allowFreeShipping",
                "forceFreeShipping",
                "purchaseRestock",
                "packageWeight",
                "packageLength",
                "packageHeight",
                "packageWidth",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Variant List",
        "description": "Paginated variant list."
      },
      "CreateManyProductsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 255
                },
                "seoDescription": {
                  "type": "string",
                  "nullable": true
                },
                "htmlDescription": {
                  "type": "string",
                  "nullable": true
                },
                "visible": {
                  "default": false,
                  "type": "boolean"
                },
                "deliveryMethods": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "pickup",
                      "shipping",
                      "digital",
                      "none"
                    ]
                  },
                  "minItems": 1
                },
                "packageWeight": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageLength": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageWidth": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageHeight": {
                  "type": "integer",
                  "minimum": 0
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 255
                      },
                      "seoDescription": {
                        "type": "string"
                      },
                      "htmlDescription": {
                        "type": "string"
                      },
                      "metadata": {
                        "type": "object",
                        "additionalProperties": {},
                        "nullable": true
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                },
                "defaultTaxRate": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "defaultStripeTaxRateId": {
                  "type": "string",
                  "nullable": true
                },
                "disableCoupons": {
                  "type": "boolean"
                }
              },
              "required": [
                "name",
                "deliveryMethods"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Create Products",
        "description": "List of products for batch import."
      },
      "DeleteManyProductInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Bulk Delete Products",
        "description": "List of product UUIDs to remove."
      },
      "ProductDeletedDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "id"
        ],
        "title": "Product Deleted",
        "description": "Deletion confirmation."
      },
      "CreateProductInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 255
          },
          "seoDescription": {
            "type": "string",
            "nullable": true
          },
          "htmlDescription": {
            "type": "string",
            "nullable": true
          },
          "visible": {
            "default": false,
            "type": "boolean"
          },
          "deliveryMethods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "pickup",
                "shipping",
                "digital",
                "none"
              ]
            },
            "minItems": 1
          },
          "packageWeight": {
            "type": "integer",
            "minimum": 0
          },
          "packageLength": {
            "type": "integer",
            "minimum": 0
          },
          "packageWidth": {
            "type": "integer",
            "minimum": 0
          },
          "packageHeight": {
            "type": "integer",
            "minimum": 0
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 255
                },
                "seoDescription": {
                  "type": "string"
                },
                "htmlDescription": {
                  "type": "string"
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                }
              },
              "required": [
                "name"
              ]
            }
          },
          "defaultTaxRate": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "defaultStripeTaxRateId": {
            "type": "string",
            "nullable": true
          },
          "disableCoupons": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "deliveryMethods"
        ],
        "additionalProperties": false,
        "title": "Create Product",
        "description": "Primary product metadata and settings."
      },
      "GenerateVariantsInputDTO": {
        "default": {},
        "type": "object",
        "properties": {
          "prices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "amount": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "currencyCode": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 3
                },
                "cadence": {
                  "default": "once",
                  "type": "string",
                  "enum": [
                    "once",
                    "daily",
                    "weekly",
                    "monthly",
                    "quarterly",
                    "semiannual",
                    "yearly"
                  ]
                },
                "comparePrice": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "isDefault": {
                  "default": false,
                  "type": "boolean"
                },
                "externalId": {
                  "type": "string",
                  "maxLength": 255
                },
                "quantityTable": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "min": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "max": {
                        "type": "integer",
                        "nullable": true
                      },
                      "discountType": {
                        "type": "string",
                        "enum": [
                          "percentage",
                          "fixed"
                        ]
                      },
                      "discountValue": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true
                      },
                      "rounding": {
                        "default": "none",
                        "type": "string",
                        "enum": [
                          "none",
                          "00",
                          "49",
                          "90",
                          "95",
                          "99",
                          "ceil",
                          "floor"
                        ]
                      }
                    },
                    "required": [
                      "min",
                      "max",
                      "discountType",
                      "discountValue"
                    ]
                  },
                  "maxItems": 10
                }
              },
              "required": [
                "amount",
                "currencyCode"
              ],
              "additionalProperties": false
            },
            "minItems": 0
          },
          "stocks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "warehouseId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 0
                }
              },
              "required": [
                "warehouseId",
                "quantity"
              ],
              "additionalProperties": false
            },
            "minItems": 0
          }
        },
        "additionalProperties": false,
        "title": "Variant Generator",
        "description": "Logic to generate missing Variants based on options."
      },
      "UpdateManyProductsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 255
                },
                "seoDescription": {
                  "type": "string",
                  "nullable": true
                },
                "htmlDescription": {
                  "type": "string",
                  "nullable": true
                },
                "visible": {
                  "default": false,
                  "type": "boolean"
                },
                "deliveryMethods": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "pickup",
                      "shipping",
                      "digital",
                      "none"
                    ]
                  },
                  "minItems": 1
                },
                "packageWeight": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageLength": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageWidth": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageHeight": {
                  "type": "integer",
                  "minimum": 0
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 255
                      },
                      "seoDescription": {
                        "type": "string"
                      },
                      "htmlDescription": {
                        "type": "string"
                      },
                      "metadata": {
                        "type": "object",
                        "additionalProperties": {},
                        "nullable": true
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                },
                "defaultTaxRate": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "defaultStripeTaxRateId": {
                  "type": "string",
                  "nullable": true
                },
                "disableCoupons": {
                  "type": "boolean"
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Update Products",
        "description": "List of product updates for batch processing."
      },
      "UpdateProductInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 255
          },
          "seoDescription": {
            "type": "string",
            "nullable": true
          },
          "htmlDescription": {
            "type": "string",
            "nullable": true
          },
          "visible": {
            "default": false,
            "type": "boolean"
          },
          "deliveryMethods": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "pickup",
                "shipping",
                "digital",
                "none"
              ]
            },
            "minItems": 1
          },
          "packageWeight": {
            "type": "integer",
            "minimum": 0
          },
          "packageLength": {
            "type": "integer",
            "minimum": 0
          },
          "packageWidth": {
            "type": "integer",
            "minimum": 0
          },
          "packageHeight": {
            "type": "integer",
            "minimum": 0
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 255
                },
                "seoDescription": {
                  "type": "string"
                },
                "htmlDescription": {
                  "type": "string"
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                }
              },
              "required": [
                "name"
              ]
            }
          },
          "defaultTaxRate": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "defaultStripeTaxRateId": {
            "type": "string",
            "nullable": true
          },
          "disableCoupons": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "title": "Update Product",
        "description": "Fields to update for a specific product."
      },
      "ProductAssetsResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "asset": {},
                "inheritedFrom": {
                  "type": "string",
                  "nullable": true
                },
                "position": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "inheritedFrom",
                "position"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Product Assets",
        "description": "Assets linked to a product."
      },
      "ReplaceProductAssetsInputDTO": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "assetId": {
                  "type": "string",
                  "format": "uuid"
                },
                "position": {
                  "type": "integer",
                  "minimum": 0
                }
              },
              "required": [
                "assetId"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "assets"
        ],
        "additionalProperties": false,
        "title": "Sync Assets",
        "description": "Replace all images/files for the product."
      },
      "ProductTagValuesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "tagId": {
                  "type": "string",
                  "format": "uuid"
                },
                "value": {
                  "type": "string"
                },
                "alias": {
                  "type": "string",
                  "nullable": true
                },
                "visible": {
                  "type": "boolean"
                },
                "position": {
                  "type": "number"
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "storeId",
                "tagId",
                "value",
                "alias",
                "visible",
                "createdAt",
                "updatedAt"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Product Tags",
        "description": "Tag values linked to a product."
      },
      "ReplaceProductTagValuesInputDTO": {
        "type": "object",
        "properties": {
          "tagValueIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "tagValueIds"
        ],
        "additionalProperties": false,
        "title": "Sync Tags",
        "description": "Update product tag associations."
      },
      "ProductOptionValuesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "storeId": {
                  "type": "string"
                },
                "productId": {
                  "type": "string"
                },
                "optionId": {
                  "type": "string"
                },
                "tagValueId": {
                  "type": "string"
                },
                "position": {
                  "type": "number"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "productId",
                "optionId",
                "tagValueId",
                "position"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Product Options",
        "description": "Option values linked to a product."
      },
      "ReplaceProductOptionValueInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "default": [],
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "optionId": {
                  "type": "string",
                  "format": "uuid"
                },
                "tagValueId": {
                  "type": "string",
                  "format": "uuid"
                },
                "position": {
                  "default": 0,
                  "type": "integer",
                  "minimum": 0
                }
              },
              "required": [
                "optionId",
                "tagValueId"
              ],
              "additionalProperties": false
            },
            "minItems": 0
          }
        },
        "additionalProperties": false,
        "title": "Sync Options",
        "description": "Manage product variant options."
      },
      "ProductAttributeValuesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "value"
                    ]
                  }
                },
                "attribute": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "storeId": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "string",
                        "number",
                        "date"
                      ]
                    },
                    "label": {
                      "type": "string",
                      "nullable": true
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "visible": {
                      "type": "boolean"
                    },
                    "sortable": {
                      "type": "boolean"
                    },
                    "format": {
                      "type": "string",
                      "enum": [
                        "year",
                        "month-year",
                        "date",
                        "datetime",
                        "datetime+tz"
                      ],
                      "nullable": true
                    },
                    "relevant": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "icon": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "storeId",
                    "name",
                    "type",
                    "label",
                    "position",
                    "visible",
                    "sortable",
                    "format",
                    "relevant",
                    "icon",
                    "createdAt"
                  ],
                  "nullable": true
                }
              },
              "required": [
                "value",
                "translations",
                "attribute"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Product Attributes",
        "description": "Attribute values linked to a product."
      },
      "ReplaceProductAttributeValuesInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "attributeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "value": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "value": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      }
                    },
                    "required": [
                      "value"
                    ]
                  }
                }
              },
              "required": [
                "attributeId",
                "value"
              ],
              "additionalProperties": false
            },
            "minItems": 0
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Sync Attributes",
        "description": "Update product custom attributes."
      },
      "ProductShippingMethodsResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "enabled": {
                  "type": "boolean"
                },
                "provider": {
                  "type": "string",
                  "nullable": true
                },
                "assetId": {
                  "type": "string",
                  "nullable": true
                },
                "maxWeight": {
                  "type": "number",
                  "nullable": true
                },
                "maxHeight": {
                  "type": "number",
                  "nullable": true
                },
                "maxWidth": {
                  "type": "number",
                  "nullable": true
                },
                "maxLength": {
                  "type": "number",
                  "nullable": true
                },
                "maxVolume": {
                  "type": "number",
                  "nullable": true
                },
                "availableCountries": {
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "storeId": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "label",
                "enabled",
                "provider"
              ],
              "nullable": true
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Product Shipping Methods",
        "description": "Shipping methods linked to a product."
      },
      "ReplaceProductShippingMethodsInputDTO": {
        "type": "object",
        "properties": {
          "shippingMethodIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "shippingMethodIds"
        ],
        "additionalProperties": false,
        "title": "Sync Shipping Methods",
        "description": "Manage allowed shipping methods."
      },
      "ProductShippingZonesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "label": {
                  "type": "string"
                },
                "countryCode": {
                  "nullable": true
                },
                "surchargePricing": {
                  "nullable": true
                },
                "taxRate": {
                  "type": "number",
                  "nullable": true
                },
                "stripeId": {
                  "type": "string",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "label",
                "taxRate"
              ],
              "nullable": true
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Product Shipping Zones",
        "description": "Shipping zones linked to a product."
      },
      "ReplaceProductShippingZonesInputDTO": {
        "type": "object",
        "properties": {
          "shippingZoneIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "shippingZoneIds"
        ],
        "additionalProperties": false,
        "title": "Sync Shipping Zones",
        "description": "Manage allowed shipping zones."
      },
      "ProductTaxZonesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "label": {
                  "type": "string"
                },
                "rate": {
                  "type": "number"
                },
                "isDefault": {
                  "type": "boolean"
                },
                "stripeId": {
                  "type": "string",
                  "nullable": true
                },
                "countryCode": {
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id",
                "label",
                "rate",
                "isDefault",
                "storeId"
              ],
              "nullable": true
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Product Tax Zones",
        "description": "Tax zones linked to a product."
      },
      "ReplaceProductTaxZonesInputDTO": {
        "type": "object",
        "properties": {
          "taxZoneIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "taxZoneIds"
        ],
        "additionalProperties": false,
        "title": "Sync Tax Zones",
        "description": "Manage tax configuration zones."
      },
      "VariantsListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "productId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                },
                "visible": {
                  "type": "boolean"
                },
                "metadata": {},
                "isFavourite": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritAssets": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritTagValues": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritAttributes": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritShippingMethods": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritShippingZones": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritTaxZones": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritPackageDimensions": {
                  "type": "boolean",
                  "nullable": true
                },
                "inheritDisabledCoupons": {
                  "type": "boolean",
                  "nullable": true
                },
                "disableCoupons": {
                  "type": "boolean",
                  "nullable": true
                },
                "sku": {
                  "type": "string",
                  "nullable": true
                },
                "mpn": {
                  "type": "string",
                  "nullable": true
                },
                "upc": {
                  "type": "string",
                  "nullable": true
                },
                "isbn": {
                  "type": "string",
                  "nullable": true
                },
                "asin": {
                  "type": "string",
                  "nullable": true
                },
                "gtin": {
                  "type": "string",
                  "nullable": true
                },
                "hsCode": {
                  "type": "string",
                  "nullable": true
                },
                "supplierCode": {
                  "type": "string",
                  "nullable": true
                },
                "ean": {
                  "type": "string",
                  "nullable": true
                },
                "allowBackorder": {
                  "type": "boolean",
                  "nullable": true
                },
                "backorderDays": {
                  "type": "number",
                  "nullable": true
                },
                "maxOrderQuantity": {
                  "type": "number",
                  "nullable": true
                },
                "allowFreeShipping": {
                  "type": "boolean",
                  "nullable": true
                },
                "forceFreeShipping": {
                  "type": "boolean",
                  "nullable": true
                },
                "purchaseRestock": {
                  "type": "boolean",
                  "nullable": true
                },
                "packageWeight": {
                  "type": "number",
                  "nullable": true
                },
                "packageLength": {
                  "type": "number",
                  "nullable": true
                },
                "packageHeight": {
                  "type": "number",
                  "nullable": true
                },
                "packageWidth": {
                  "type": "number",
                  "nullable": true
                },
                "coverUrl": {
                  "type": "string",
                  "nullable": true
                },
                "price": {
                  "type": "object",
                  "properties": {
                    "amount": {
                      "type": "string",
                      "nullable": true
                    },
                    "currencyCode": {
                      "type": "string",
                      "enum": [
                        "USD",
                        "CAD",
                        "EUR",
                        "AED",
                        "AFN",
                        "ALL",
                        "AMD",
                        "ARS",
                        "AUD",
                        "AZN",
                        "BAM",
                        "BDT",
                        "BGN",
                        "BHD",
                        "BIF",
                        "BND",
                        "BOB",
                        "BRL",
                        "BWP",
                        "BYR",
                        "BZD",
                        "CDF",
                        "CHF",
                        "CLP",
                        "CNY",
                        "COP",
                        "CRC",
                        "CVE",
                        "CZK",
                        "DJF",
                        "DKK",
                        "DOP",
                        "DZD",
                        "EEK",
                        "EGP",
                        "ERN",
                        "ETB",
                        "GBP",
                        "GEL",
                        "GHS",
                        "GNF",
                        "GTQ",
                        "HKD",
                        "HNL",
                        "HRK",
                        "HUF",
                        "IDR",
                        "ILS",
                        "INR",
                        "IQD",
                        "IRR",
                        "ISK",
                        "JMD",
                        "JOD",
                        "JPY",
                        "KES",
                        "KHR",
                        "KMF",
                        "KRW",
                        "KWD",
                        "KZT",
                        "LBP",
                        "LKR",
                        "LTL",
                        "LVL",
                        "LYD",
                        "MAD",
                        "MDL",
                        "MGA",
                        "MKD",
                        "MMK",
                        "MOP",
                        "MUR",
                        "MXN",
                        "MYR",
                        "MZN",
                        "NAD",
                        "NGN",
                        "NIO",
                        "NOK",
                        "NPR",
                        "NZD",
                        "OMR",
                        "PAB",
                        "PEN",
                        "PHP",
                        "PKR",
                        "PLN",
                        "PYG",
                        "QAR",
                        "RON",
                        "RSD",
                        "RUB",
                        "RWF",
                        "SAR",
                        "SDG",
                        "SEK",
                        "SGD",
                        "SOS",
                        "SYP",
                        "THB",
                        "TND",
                        "TOP",
                        "TRY",
                        "TTD",
                        "TWD",
                        "TZS",
                        "UAH",
                        "UGX",
                        "UYU",
                        "UZS",
                        "VEF",
                        "VND",
                        "XAF",
                        "XOF",
                        "YER",
                        "ZAR",
                        "ZMK"
                      ]
                    },
                    "cadence": {
                      "type": "string",
                      "enum": [
                        "once",
                        "daily",
                        "weekly",
                        "monthly",
                        "quarterly",
                        "semiannual",
                        "yearly"
                      ]
                    },
                    "comparePrice": {
                      "type": "string",
                      "nullable": true
                    },
                    "externalId": {
                      "type": "string",
                      "nullable": true
                    },
                    "defaultTaxRate": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "amount",
                    "currencyCode",
                    "cadence",
                    "comparePrice",
                    "externalId",
                    "defaultTaxRate"
                  ],
                  "nullable": true
                },
                "stock": {
                  "type": "number"
                },
                "optionSummary": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "translations": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "productId",
                "name",
                "slug",
                "visible",
                "isFavourite",
                "inheritAssets",
                "inheritTagValues",
                "inheritAttributes",
                "inheritShippingMethods",
                "inheritShippingZones",
                "inheritTaxZones",
                "inheritPackageDimensions",
                "disableCoupons",
                "sku",
                "mpn",
                "upc",
                "isbn",
                "asin",
                "gtin",
                "hsCode",
                "supplierCode",
                "ean",
                "allowBackorder",
                "backorderDays",
                "maxOrderQuantity",
                "allowFreeShipping",
                "forceFreeShipping",
                "purchaseRestock",
                "packageWeight",
                "packageLength",
                "packageHeight",
                "packageWidth",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Product Variants Paginated Response",
        "description": "Paginated wrapper containing an array of product variants and navigation metadata."
      },
      "VariantItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "productId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "visible": {
            "type": "boolean"
          },
          "metadata": {},
          "isFavourite": {
            "type": "boolean",
            "nullable": true
          },
          "inheritAssets": {
            "type": "boolean",
            "nullable": true
          },
          "inheritTagValues": {
            "type": "boolean",
            "nullable": true
          },
          "inheritAttributes": {
            "type": "boolean",
            "nullable": true
          },
          "inheritShippingMethods": {
            "type": "boolean",
            "nullable": true
          },
          "inheritShippingZones": {
            "type": "boolean",
            "nullable": true
          },
          "inheritTaxZones": {
            "type": "boolean",
            "nullable": true
          },
          "inheritPackageDimensions": {
            "type": "boolean",
            "nullable": true
          },
          "inheritDisabledCoupons": {
            "type": "boolean",
            "nullable": true
          },
          "disableCoupons": {
            "type": "boolean",
            "nullable": true
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "mpn": {
            "type": "string",
            "nullable": true
          },
          "upc": {
            "type": "string",
            "nullable": true
          },
          "isbn": {
            "type": "string",
            "nullable": true
          },
          "asin": {
            "type": "string",
            "nullable": true
          },
          "gtin": {
            "type": "string",
            "nullable": true
          },
          "hsCode": {
            "type": "string",
            "nullable": true
          },
          "supplierCode": {
            "type": "string",
            "nullable": true
          },
          "ean": {
            "type": "string",
            "nullable": true
          },
          "allowBackorder": {
            "type": "boolean",
            "nullable": true
          },
          "backorderDays": {
            "type": "number",
            "nullable": true
          },
          "maxOrderQuantity": {
            "type": "number",
            "nullable": true
          },
          "allowFreeShipping": {
            "type": "boolean",
            "nullable": true
          },
          "forceFreeShipping": {
            "type": "boolean",
            "nullable": true
          },
          "purchaseRestock": {
            "type": "boolean",
            "nullable": true
          },
          "packageWeight": {
            "type": "number",
            "nullable": true
          },
          "packageLength": {
            "type": "number",
            "nullable": true
          },
          "packageHeight": {
            "type": "number",
            "nullable": true
          },
          "packageWidth": {
            "type": "number",
            "nullable": true
          },
          "coverUrl": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "nullable": true
              },
              "currencyCode": {
                "type": "string",
                "enum": [
                  "USD",
                  "CAD",
                  "EUR",
                  "AED",
                  "AFN",
                  "ALL",
                  "AMD",
                  "ARS",
                  "AUD",
                  "AZN",
                  "BAM",
                  "BDT",
                  "BGN",
                  "BHD",
                  "BIF",
                  "BND",
                  "BOB",
                  "BRL",
                  "BWP",
                  "BYR",
                  "BZD",
                  "CDF",
                  "CHF",
                  "CLP",
                  "CNY",
                  "COP",
                  "CRC",
                  "CVE",
                  "CZK",
                  "DJF",
                  "DKK",
                  "DOP",
                  "DZD",
                  "EEK",
                  "EGP",
                  "ERN",
                  "ETB",
                  "GBP",
                  "GEL",
                  "GHS",
                  "GNF",
                  "GTQ",
                  "HKD",
                  "HNL",
                  "HRK",
                  "HUF",
                  "IDR",
                  "ILS",
                  "INR",
                  "IQD",
                  "IRR",
                  "ISK",
                  "JMD",
                  "JOD",
                  "JPY",
                  "KES",
                  "KHR",
                  "KMF",
                  "KRW",
                  "KWD",
                  "KZT",
                  "LBP",
                  "LKR",
                  "LTL",
                  "LVL",
                  "LYD",
                  "MAD",
                  "MDL",
                  "MGA",
                  "MKD",
                  "MMK",
                  "MOP",
                  "MUR",
                  "MXN",
                  "MYR",
                  "MZN",
                  "NAD",
                  "NGN",
                  "NIO",
                  "NOK",
                  "NPR",
                  "NZD",
                  "OMR",
                  "PAB",
                  "PEN",
                  "PHP",
                  "PKR",
                  "PLN",
                  "PYG",
                  "QAR",
                  "RON",
                  "RSD",
                  "RUB",
                  "RWF",
                  "SAR",
                  "SDG",
                  "SEK",
                  "SGD",
                  "SOS",
                  "SYP",
                  "THB",
                  "TND",
                  "TOP",
                  "TRY",
                  "TTD",
                  "TWD",
                  "TZS",
                  "UAH",
                  "UGX",
                  "UYU",
                  "UZS",
                  "VEF",
                  "VND",
                  "XAF",
                  "XOF",
                  "YER",
                  "ZAR",
                  "ZMK"
                ]
              },
              "cadence": {
                "type": "string",
                "enum": [
                  "once",
                  "daily",
                  "weekly",
                  "monthly",
                  "quarterly",
                  "semiannual",
                  "yearly"
                ]
              },
              "comparePrice": {
                "type": "string",
                "nullable": true
              },
              "externalId": {
                "type": "string",
                "nullable": true
              },
              "defaultTaxRate": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "amount",
              "currencyCode",
              "cadence",
              "comparePrice",
              "externalId",
              "defaultTaxRate"
            ],
            "nullable": true
          },
          "stock": {
            "type": "number"
          },
          "optionSummary": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "translations": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              }
            },
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "storeId",
          "productId",
          "name",
          "slug",
          "visible",
          "isFavourite",
          "inheritAssets",
          "inheritTagValues",
          "inheritAttributes",
          "inheritShippingMethods",
          "inheritShippingZones",
          "inheritTaxZones",
          "inheritPackageDimensions",
          "disableCoupons",
          "sku",
          "mpn",
          "upc",
          "isbn",
          "asin",
          "gtin",
          "hsCode",
          "supplierCode",
          "ean",
          "allowBackorder",
          "backorderDays",
          "maxOrderQuantity",
          "allowFreeShipping",
          "forceFreeShipping",
          "purchaseRestock",
          "packageWeight",
          "packageLength",
          "packageHeight",
          "packageWidth",
          "createdAt",
          "updatedAt"
        ],
        "title": "Product Variant Item",
        "description": "Detailed representation of a product variant, including pricing, stock, and attributes."
      },
      "CreateManyProductVariantsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "slug": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "visible": {
                  "default": false,
                  "type": "boolean"
                },
                "isFavourite": {
                  "default": false,
                  "type": "boolean"
                },
                "inheritAssets": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritTagValues": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritAttributes": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritPackageDimensions": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritShippingMethods": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritShippingZones": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritTaxZones": {
                  "default": true,
                  "type": "boolean"
                },
                "packageWeight": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageLength": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageWidth": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageHeight": {
                  "type": "integer",
                  "minimum": 0
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "inheritDisableCoupons": {
                  "type": "boolean"
                },
                "disableCoupons": {
                  "type": "boolean"
                },
                "sku": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "ean": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "mpn": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "upc": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "isbn": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "asin": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "gtin": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "hsCode": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "supplierCode": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "externalId": {
                  "type": "string"
                },
                "useStripeTax": {
                  "type": "boolean"
                },
                "taxCodeExternalId": {
                  "type": "string"
                },
                "allowBackorder": {
                  "type": "boolean"
                },
                "purchaseRestock": {
                  "type": "boolean"
                },
                "allowFreeShipping": {
                  "type": "boolean"
                },
                "forceFreeShipping": {
                  "type": "boolean"
                },
                "backorderDays": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "maxOrderQuantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 10000
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      },
                      "metadata": {
                        "type": "object",
                        "additionalProperties": {},
                        "nullable": true
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                }
              },
              "required": [
                "productId",
                "name",
                "slug",
                "sku"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Create Variants",
        "description": "List of variants for batch creation."
      },
      "DeleteManyProductVariantsInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Bulk Delete Variants",
        "description": "List of variant IDs to remove."
      },
      "CreateProductVariantInputDTO": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "slug": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "visible": {
            "default": false,
            "type": "boolean"
          },
          "isFavourite": {
            "default": false,
            "type": "boolean"
          },
          "inheritAssets": {
            "default": true,
            "type": "boolean"
          },
          "inheritTagValues": {
            "default": true,
            "type": "boolean"
          },
          "inheritAttributes": {
            "default": true,
            "type": "boolean"
          },
          "inheritPackageDimensions": {
            "default": true,
            "type": "boolean"
          },
          "inheritShippingMethods": {
            "default": true,
            "type": "boolean"
          },
          "inheritShippingZones": {
            "default": true,
            "type": "boolean"
          },
          "inheritTaxZones": {
            "default": true,
            "type": "boolean"
          },
          "packageWeight": {
            "type": "integer",
            "minimum": 0
          },
          "packageLength": {
            "type": "integer",
            "minimum": 0
          },
          "packageWidth": {
            "type": "integer",
            "minimum": 0
          },
          "packageHeight": {
            "type": "integer",
            "minimum": 0
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "inheritDisableCoupons": {
            "type": "boolean"
          },
          "disableCoupons": {
            "type": "boolean"
          },
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "ean": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "mpn": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "upc": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "isbn": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "asin": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "gtin": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "hsCode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "supplierCode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "externalId": {
            "type": "string"
          },
          "useStripeTax": {
            "type": "boolean"
          },
          "taxCodeExternalId": {
            "type": "string"
          },
          "allowBackorder": {
            "type": "boolean"
          },
          "purchaseRestock": {
            "type": "boolean"
          },
          "allowFreeShipping": {
            "type": "boolean"
          },
          "forceFreeShipping": {
            "type": "boolean"
          },
          "backorderDays": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "maxOrderQuantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "required": [
          "productId",
          "name",
          "slug",
          "sku"
        ],
        "additionalProperties": false,
        "title": "Create Variant",
        "description": "Metadata for a new product variant."
      },
      "UpdateManyProductVariantsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "slug": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "visible": {
                  "default": false,
                  "type": "boolean"
                },
                "isFavourite": {
                  "default": false,
                  "type": "boolean"
                },
                "inheritAssets": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritTagValues": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritAttributes": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritPackageDimensions": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritShippingMethods": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritShippingZones": {
                  "default": true,
                  "type": "boolean"
                },
                "inheritTaxZones": {
                  "default": true,
                  "type": "boolean"
                },
                "packageWeight": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageLength": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageWidth": {
                  "type": "integer",
                  "minimum": 0
                },
                "packageHeight": {
                  "type": "integer",
                  "minimum": 0
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "inheritDisableCoupons": {
                  "type": "boolean"
                },
                "disableCoupons": {
                  "type": "boolean"
                },
                "sku": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "ean": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "mpn": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "upc": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "isbn": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "asin": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "gtin": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "hsCode": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "supplierCode": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255,
                  "nullable": true
                },
                "externalId": {
                  "type": "string"
                },
                "useStripeTax": {
                  "type": "boolean"
                },
                "taxCodeExternalId": {
                  "type": "string"
                },
                "allowBackorder": {
                  "type": "boolean"
                },
                "purchaseRestock": {
                  "type": "boolean"
                },
                "allowFreeShipping": {
                  "type": "boolean"
                },
                "forceFreeShipping": {
                  "type": "boolean"
                },
                "backorderDays": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "maxOrderQuantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 10000
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      },
                      "metadata": {
                        "type": "object",
                        "additionalProperties": {},
                        "nullable": true
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Update Variants",
        "description": "Batch updates for multiple variants."
      },
      "UpdateProductVariantInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "slug": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "visible": {
            "default": false,
            "type": "boolean"
          },
          "isFavourite": {
            "default": false,
            "type": "boolean"
          },
          "inheritAssets": {
            "default": true,
            "type": "boolean"
          },
          "inheritTagValues": {
            "default": true,
            "type": "boolean"
          },
          "inheritAttributes": {
            "default": true,
            "type": "boolean"
          },
          "inheritPackageDimensions": {
            "default": true,
            "type": "boolean"
          },
          "inheritShippingMethods": {
            "default": true,
            "type": "boolean"
          },
          "inheritShippingZones": {
            "default": true,
            "type": "boolean"
          },
          "inheritTaxZones": {
            "default": true,
            "type": "boolean"
          },
          "packageWeight": {
            "type": "integer",
            "minimum": 0
          },
          "packageLength": {
            "type": "integer",
            "minimum": 0
          },
          "packageWidth": {
            "type": "integer",
            "minimum": 0
          },
          "packageHeight": {
            "type": "integer",
            "minimum": 0
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "inheritDisableCoupons": {
            "type": "boolean"
          },
          "disableCoupons": {
            "type": "boolean"
          },
          "sku": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "ean": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "mpn": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "upc": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "isbn": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "asin": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "gtin": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "hsCode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "supplierCode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "nullable": true
          },
          "externalId": {
            "type": "string"
          },
          "useStripeTax": {
            "type": "boolean"
          },
          "taxCodeExternalId": {
            "type": "string"
          },
          "allowBackorder": {
            "type": "boolean"
          },
          "purchaseRestock": {
            "type": "boolean"
          },
          "allowFreeShipping": {
            "type": "boolean"
          },
          "forceFreeShipping": {
            "type": "boolean"
          },
          "backorderDays": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "maxOrderQuantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "additionalProperties": false,
        "title": "Update Variant",
        "description": "Updates for a specific variant."
      },
      "VariantAssetsResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "asset": {},
                "inheritedFrom": {
                  "type": "string",
                  "nullable": true
                },
                "position": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "inheritedFrom",
                "position"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Variant Assets Response",
        "description": "List of assets associated with the variant, including those inherited from the parent product."
      },
      "ReplaceProductVariantAssetsInputDTO": {
        "type": "object",
        "properties": {
          "assets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "assetId": {
                  "type": "string",
                  "format": "uuid"
                },
                "position": {
                  "type": "integer",
                  "minimum": 0
                }
              },
              "required": [
                "assetId"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "assets"
        ],
        "additionalProperties": false,
        "title": "Sync Variant Assets",
        "description": "Replaces variant-specific images and files."
      },
      "VariantAssetsReplaceResponseDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "storeId": {
              "type": "string"
            },
            "productId": {
              "type": "string"
            },
            "assetId": {
              "type": "string"
            },
            "position": {
              "type": "number"
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          "required": [
            "storeId",
            "productId",
            "assetId",
            "position"
          ]
        },
        "title": "Variant Assets Replace Response",
        "description": "The list of newly created asset links for the variant."
      },
      "VariantTagValuesResponseDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "tagValue": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "tagId": {
                  "type": "string",
                  "format": "uuid"
                },
                "value": {
                  "type": "string"
                },
                "alias": {
                  "type": "string",
                  "nullable": true
                },
                "visible": {
                  "type": "boolean"
                },
                "position": {
                  "type": "number"
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "storeId",
                "tagId",
                "value",
                "alias",
                "visible",
                "createdAt",
                "updatedAt"
              ]
            },
            "inheritedFrom": {
              "type": "string",
              "format": "uuid",
              "nullable": true
            }
          },
          "required": [
            "tagValue",
            "inheritedFrom"
          ]
        },
        "title": "Variant Tag Values Response",
        "description": "List of Tag Values associated with the variant, including those inherited from the parent product."
      },
      "ReplaceProductVariantTagValuesInputDTO": {
        "type": "object",
        "properties": {
          "tagValueIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "tagValueIds"
        ],
        "additionalProperties": false,
        "title": "Sync Variant Tags",
        "description": "Updates tag associations for the variant."
      },
      "VariantAttributesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "attribute": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "storeId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string",
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "string",
                        "number",
                        "date"
                      ]
                    },
                    "position": {
                      "type": "number",
                      "nullable": true
                    },
                    "visible": {
                      "type": "boolean"
                    },
                    "sortable": {
                      "type": "boolean"
                    },
                    "format": {
                      "type": "string",
                      "nullable": true
                    },
                    "relevant": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "icon": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "storeId",
                    "name",
                    "label",
                    "type",
                    "position",
                    "visible",
                    "sortable",
                    "format",
                    "relevant",
                    "icon",
                    "createdAt",
                    "updatedAt"
                  ]
                },
                "value": {
                  "type": "string"
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "value"
                    ]
                  }
                },
                "inheritedFrom": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                }
              },
              "required": [
                "attribute",
                "value",
                "translations",
                "inheritedFrom"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Variant Attributes Response",
        "description": "Detailed list of attributes linked to the variant, showing values and their source (direct or inherited)."
      },
      "ReplaceProductVariantAttributeValuesInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "attributeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "value": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "value": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      }
                    },
                    "required": [
                      "value"
                    ]
                  }
                }
              },
              "required": [
                "attributeId",
                "value"
              ],
              "additionalProperties": false
            },
            "minItems": 0
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Sync Variant Attributes",
        "description": "Updates custom attributes for the variant."
      },
      "VariantAttributesReplaceResponseDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "variantId": {
              "type": "string",
              "format": "uuid"
            },
            "attributeId": {
              "type": "string",
              "format": "uuid"
            },
            "value": {
              "type": "string"
            },
            "storeId": {
              "type": "string",
              "format": "uuid"
            }
          },
          "required": [
            "variantId",
            "attributeId",
            "value",
            "storeId"
          ]
        },
        "title": "Variant Attributes Replace Response",
        "description": "List of successfully normalized and inserted attribute values for the variant."
      },
      "VariantShippingMethodResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "shippingMethod": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "storeId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "label": {
                      "type": "string"
                    },
                    "enabled": {
                      "type": "boolean"
                    },
                    "assetId": {
                      "type": "string",
                      "format": "uuid",
                      "nullable": true
                    },
                    "provider": {
                      "type": "string",
                      "nullable": true
                    },
                    "availableCountries": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "nullable": true
                    },
                    "maxVolume": {
                      "type": "number",
                      "nullable": true
                    },
                    "price": {
                      "type": "number"
                    },
                    "minWeight": {
                      "type": "number",
                      "nullable": true
                    },
                    "maxWeight": {
                      "type": "number",
                      "nullable": true
                    },
                    "minDays": {
                      "type": "number",
                      "nullable": true
                    },
                    "maxDays": {
                      "type": "number",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "storeId",
                    "label",
                    "enabled",
                    "assetId",
                    "provider",
                    "availableCountries",
                    "maxVolume",
                    "createdAt",
                    "updatedAt"
                  ]
                },
                "inheritedFrom": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                }
              },
              "required": [
                "shippingMethod"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Variant Shipping Method Response",
        "description": "Detailed list of Shipping Method linked to the variant, showing values and their source (direct or inherited)."
      },
      "ReplaceProductVariantShippingMethodsInputDTO": {
        "type": "object",
        "properties": {
          "shippingMethodIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "shippingMethodIds"
        ],
        "additionalProperties": false,
        "title": "Sync Variant Shipping Methods",
        "description": "Updates allowed shipping methods."
      },
      "VariantShippingMethodReplaceResponseDTO": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        },
        "title": "Variant Shipping Method Replace Response",
        "description": "List of inserted shipping methods for the variant."
      },
      "VariantShippingZonesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "shippingZone": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "storeId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "label": {
                      "type": "string"
                    },
                    "countryCode": {
                      "type": "string",
                      "enum": [
                        "AF",
                        "AX",
                        "AL",
                        "DZ",
                        "AS",
                        "AD",
                        "AO",
                        "AI",
                        "AQ",
                        "AG",
                        "AR",
                        "AM",
                        "AW",
                        "AU",
                        "AT",
                        "AZ",
                        "BS",
                        "BH",
                        "BD",
                        "BB",
                        "BY",
                        "BE",
                        "BZ",
                        "BJ",
                        "BM",
                        "BT",
                        "BO",
                        "BQ",
                        "BA",
                        "BW",
                        "BV",
                        "BR",
                        "IO",
                        "BN",
                        "BG",
                        "BF",
                        "BI",
                        "CV",
                        "KH",
                        "CM",
                        "CA",
                        "KY",
                        "CF",
                        "TD",
                        "CL",
                        "CN",
                        "CX",
                        "CC",
                        "CO",
                        "KM",
                        "CG",
                        "CD",
                        "CK",
                        "CR",
                        "CI",
                        "HR",
                        "CU",
                        "CW",
                        "CY",
                        "CZ",
                        "DK",
                        "DJ",
                        "DM",
                        "DO",
                        "EC",
                        "EG",
                        "SV",
                        "GQ",
                        "ER",
                        "EE",
                        "ET",
                        "FK",
                        "FO",
                        "FJ",
                        "FI",
                        "FR",
                        "GF",
                        "PF",
                        "TF",
                        "GA",
                        "GM",
                        "GE",
                        "DE",
                        "GH",
                        "GI",
                        "GR",
                        "GL",
                        "GD",
                        "GP",
                        "GU",
                        "GT",
                        "GG",
                        "GN",
                        "GW",
                        "GY",
                        "HT",
                        "HM",
                        "VA",
                        "HN",
                        "HK",
                        "HU",
                        "IS",
                        "IN",
                        "ID",
                        "IR",
                        "IQ",
                        "IE",
                        "IM",
                        "IL",
                        "IT",
                        "JM",
                        "JP",
                        "JE",
                        "JO",
                        "KZ",
                        "KE",
                        "KI",
                        "KP",
                        "KR",
                        "KW",
                        "KG",
                        "LA",
                        "LV",
                        "LB",
                        "LS",
                        "LR",
                        "LY",
                        "LI",
                        "LT",
                        "LU",
                        "MO",
                        "MK",
                        "MG",
                        "MW",
                        "MY",
                        "MV",
                        "ML",
                        "MT",
                        "MH",
                        "MQ",
                        "MR",
                        "MU",
                        "YT",
                        "MX",
                        "FM",
                        "MD",
                        "MC",
                        "MN",
                        "ME",
                        "MS",
                        "MA",
                        "MZ",
                        "MM",
                        "NA",
                        "NR",
                        "NP",
                        "NL",
                        "NC",
                        "NZ",
                        "NI",
                        "NE",
                        "NG",
                        "NU",
                        "NF",
                        "MP",
                        "NO",
                        "OM",
                        "PK",
                        "PW",
                        "PS",
                        "PA",
                        "PG",
                        "PY",
                        "PE",
                        "PH",
                        "PN",
                        "PL",
                        "PT",
                        "PR",
                        "QA",
                        "RE",
                        "RO",
                        "RU",
                        "RW",
                        "BL",
                        "SH",
                        "KN",
                        "LC",
                        "MF",
                        "PM",
                        "VC",
                        "WS",
                        "SM",
                        "ST",
                        "SA",
                        "SN",
                        "RS",
                        "SC",
                        "SL",
                        "SG",
                        "SX",
                        "SK",
                        "SI",
                        "SB",
                        "SO",
                        "ZA",
                        "GS",
                        "SS",
                        "ES",
                        "LK",
                        "SD",
                        "SR",
                        "SJ",
                        "SZ",
                        "SE",
                        "CH",
                        "SY",
                        "TW",
                        "TJ",
                        "TZ",
                        "TH",
                        "TL",
                        "TG",
                        "TK",
                        "TO",
                        "TT",
                        "TN",
                        "TR",
                        "TM",
                        "TC",
                        "TV",
                        "UG",
                        "UA",
                        "AE",
                        "GB",
                        "US",
                        "UM",
                        "UY",
                        "UZ",
                        "VU",
                        "VE",
                        "VN",
                        "VG",
                        "VI",
                        "WF",
                        "EH",
                        "YE",
                        "ZM",
                        "ZW"
                      ]
                    },
                    "taxRate": {
                      "type": "number",
                      "nullable": true
                    },
                    "surchargePricing": {
                      "nullable": true
                    },
                    "stripeTaxRateId": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "storeId",
                    "label",
                    "countryCode",
                    "taxRate",
                    "stripeTaxRateId",
                    "createdAt",
                    "updatedAt"
                  ]
                },
                "inheritedFrom": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                }
              },
              "required": [
                "shippingZone"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Variant Shipping Zones Response",
        "description": "List of shipping zones for the variant, including inherited ones."
      },
      "ReplaceProductVariantShippingZonesInputDTO": {
        "type": "object",
        "properties": {
          "shippingZoneIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "shippingZoneIds"
        ],
        "additionalProperties": false,
        "title": "Sync Variant Shipping Zones",
        "description": "Updates regional shipping availability."
      },
      "VariantShippingZonesReplaceResponseDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "variantId": {
              "type": "string",
              "format": "uuid"
            },
            "shippingZoneId": {
              "type": "string",
              "format": "uuid"
            },
            "storeId": {
              "type": "string",
              "format": "uuid"
            }
          },
          "required": [
            "variantId",
            "shippingZoneId",
            "storeId"
          ]
        },
        "title": "Variant Shipping Zones Replace Response",
        "description": "Records created in the variant-shipping zone relation."
      },
      "VariantTaxZonesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "taxZone": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "storeId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "label": {
                      "type": "string"
                    },
                    "isDefault": {
                      "type": "boolean"
                    },
                    "countryCode": {
                      "type": "string",
                      "nullable": true
                    },
                    "rate": {
                      "type": "number"
                    },
                    "stripeId": {
                      "type": "string",
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "storeId",
                    "label",
                    "isDefault",
                    "countryCode",
                    "rate",
                    "stripeId",
                    "createdAt",
                    "updatedAt"
                  ]
                },
                "inheritedFrom": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                }
              },
              "required": [
                "taxZone"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Variant Tax Zones Response",
        "description": "Tax zones applied to the variant, considering product inheritance and country deduplication."
      },
      "ReplaceProductVariantTaxZonesInputDTO": {
        "type": "object",
        "properties": {
          "taxZoneIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "taxZoneIds"
        ],
        "additionalProperties": false,
        "title": "Sync Variant Tax Zones",
        "description": "Updates tax configuration for the variant."
      },
      "VariantTaxZonesReplaceResponseDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "variantId": {
              "type": "string",
              "format": "uuid"
            },
            "taxZoneId": {
              "type": "string",
              "format": "uuid"
            },
            "storeId": {
              "type": "string",
              "format": "uuid"
            }
          },
          "required": [
            "variantId",
            "taxZoneId",
            "storeId"
          ]
        },
        "title": "Variant Tax Zones Replace Response",
        "description": "Pivot records created for the variant and tax zones link."
      },
      "VariantPromotionExclusionsResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "promotionId": {
                  "type": "string",
                  "format": "uuid"
                },
                "promotionName": {
                  "type": "string"
                },
                "promotionCode": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "promotionId",
                "promotionName",
                "promotionCode"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Variant Promotion Exclusions Response",
        "description": "List of promotions from which this variant is excluded."
      },
      "ReplaceProductVariantPromotionExclusionsInputDTO": {
        "type": "object",
        "properties": {
          "promotionIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "promotionIds"
        ],
        "additionalProperties": false,
        "title": "Sync Promotion Exclusions",
        "description": "List of promotion IDs to exclude from this variant."
      },
      "VariantPromotionExclusionsReplaceResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "promotionId": {
                  "type": "string",
                  "format": "uuid"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "storeId",
                "variantId",
                "promotionId"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Variant Promotion Exclusions Replace Response",
        "description": "The updated list of exclusion records."
      },
      "VariantOptionValuesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "productOptionValueId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "position": {
                  "type": "number",
                  "nullable": true
                },
                "optionId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "optionName": {
                  "type": "string",
                  "nullable": true
                },
                "optionType": {
                  "type": "string",
                  "nullable": true
                },
                "tagValueId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "tagValueName": {
                  "type": "string",
                  "nullable": true
                },
                "tagValueAlias": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "variantId",
                "productOptionValueId",
                "position",
                "optionId",
                "optionName",
                "optionType",
                "tagValueId",
                "tagValueName",
                "tagValueAlias"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Variant Option Values Response",
        "description": "Detailed list of option values associated with a variant, including option names and tag values."
      },
      "ReplaceProductVariantOptionValuesInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "default": [],
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productOptionValueId": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "productOptionValueId"
              ],
              "additionalProperties": false
            },
            "minItems": 0
          }
        },
        "additionalProperties": false,
        "title": "Sync Variant Option Values",
        "description": "Updates option values to identify the specific variant."
      },
      "VariantOptionValuesReplaceResponseDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "variantId": {
              "type": "string",
              "format": "uuid"
            },
            "storeId": {
              "type": "string",
              "format": "uuid"
            },
            "optionId": {
              "type": "string",
              "format": "uuid"
            },
            "productOptionValueId": {
              "type": "string",
              "format": "uuid"
            }
          },
          "required": [
            "variantId",
            "storeId",
            "optionId",
            "productOptionValueId"
          ]
        },
        "title": "Variant Option Values Replace Response",
        "description": "The updated links between the variant and its product option values."
      },
      "VariantPricesResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "currencyCode": {
                  "type": "string"
                },
                "amount": {
                  "type": "string"
                },
                "comparePrice": {
                  "type": "string",
                  "nullable": true
                },
                "cadence": {
                  "type": "string"
                },
                "externalId": {
                  "type": "string",
                  "nullable": true
                },
                "isDefault": {
                  "type": "boolean"
                },
                "quantityTable": {
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "variantId",
                "currencyCode",
                "amount",
                "comparePrice",
                "cadence",
                "externalId",
                "isDefault",
                "createdAt",
                "updatedAt"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Variant Prices Response",
        "description": "List of all prices associated with the variant across different currencies and cadences."
      },
      "ReplaceProductVariantPricesInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "currencyCode": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 3
                },
                "amount": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "cadence": {
                  "default": "once",
                  "type": "string",
                  "enum": [
                    "once",
                    "daily",
                    "weekly",
                    "monthly",
                    "quarterly",
                    "semiannual",
                    "yearly"
                  ]
                },
                "externalId": {
                  "type": "string",
                  "nullable": true
                },
                "isDefault": {
                  "default": false,
                  "type": "boolean"
                },
                "comparePrice": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                },
                "quantityTable": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "min": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "max": {
                        "type": "integer",
                        "nullable": true
                      },
                      "discountType": {
                        "type": "string",
                        "enum": [
                          "percentage",
                          "fixed"
                        ]
                      },
                      "discountValue": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMinimum": true
                      },
                      "rounding": {
                        "default": "none",
                        "type": "string",
                        "enum": [
                          "none",
                          "00",
                          "49",
                          "90",
                          "95",
                          "99",
                          "ceil",
                          "floor"
                        ]
                      }
                    },
                    "required": [
                      "min",
                      "max",
                      "discountType",
                      "discountValue"
                    ]
                  },
                  "maxItems": 10
                }
              },
              "required": [
                "currencyCode",
                "amount"
              ],
              "additionalProperties": false
            },
            "minItems": 0
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Sync Variant prices",
        "description": "Updates the prices for the specific variant."
      },
      "VariantPricesReplaceResponseDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid"
            },
            "variantId": {
              "type": "string",
              "format": "uuid"
            },
            "storeId": {
              "type": "string",
              "format": "uuid"
            },
            "currencyCode": {
              "type": "string"
            },
            "amount": {
              "type": "string"
            },
            "comparePrice": {
              "type": "string",
              "nullable": true
            },
            "cadence": {
              "type": "string"
            },
            "externalId": {
              "type": "string",
              "nullable": true
            },
            "isDefault": {
              "type": "boolean"
            },
            "quantityTable": {
              "nullable": true
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          "required": [
            "id",
            "variantId",
            "currencyCode",
            "amount",
            "comparePrice",
            "cadence",
            "externalId",
            "isDefault",
            "createdAt",
            "updatedAt"
          ]
        },
        "title": "Variant Prices Replace Response",
        "description": "Returns only the newly created price records."
      },
      "VariantStockResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "variantId": {
                "type": "string",
                "format": "uuid"
              },
              "totalQuantity": {
                "type": "number"
              },
              "warehouses": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "warehouseId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string"
                    },
                    "location": {
                      "type": "string",
                      "nullable": true
                    },
                    "quantity": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "warehouseId",
                    "name",
                    "location",
                    "quantity"
                  ]
                }
              }
            },
            "required": [
              "variantId",
              "totalQuantity",
              "warehouses"
            ]
          }
        },
        "required": [
          "data"
        ],
        "title": "Variant Stock Response",
        "description": "Inventory levels for a variant across all associated warehouses, including a calculated total."
      },
      "PromotionsListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "active": {
                  "type": "boolean"
                },
                "target": {
                  "type": "string",
                  "enum": [
                    "catalog",
                    "order"
                  ]
                },
                "code": {
                  "type": "string",
                  "nullable": true
                },
                "position": {
                  "type": "number"
                },
                "discountType": {
                  "type": "string",
                  "enum": [
                    "percentage",
                    "fixed"
                  ]
                },
                "discountValue": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "base": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "base"
                      ]
                    },
                    {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "base": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "base"
                        ]
                      }
                    }
                  ],
                  "nullable": true
                },
                "limitUsageGlobal": {
                  "type": "boolean"
                },
                "limitUsageCustomer": {
                  "type": "boolean"
                },
                "maxUsesGlobal": {
                  "type": "number",
                  "nullable": true
                },
                "maxUsesPerCustomer": {
                  "type": "number",
                  "nullable": true
                },
                "minOrderAmount": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "base": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "base"
                    ]
                  },
                  "nullable": true
                },
                "exclusive": {
                  "type": "boolean"
                },
                "reserved": {
                  "type": "boolean"
                },
                "startsAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "endsAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "name",
                "description",
                "active",
                "target",
                "code",
                "position",
                "discountType",
                "discountValue",
                "limitUsageGlobal",
                "limitUsageCustomer",
                "maxUsesGlobal",
                "maxUsesPerCustomer",
                "minOrderAmount",
                "exclusive",
                "reserved",
                "startsAt",
                "endsAt",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Promotions List",
        "description": "Paginated list of promotions"
      },
      "PromotionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "target": {
            "type": "string",
            "enum": [
              "catalog",
              "order"
            ]
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "position": {
            "type": "number"
          },
          "discountType": {
            "type": "string",
            "enum": [
              "percentage",
              "fixed"
            ]
          },
          "discountValue": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "base": {
                    "type": "number"
                  }
                },
                "required": [
                  "base"
                ]
              },
              {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "base": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "base"
                  ]
                }
              }
            ],
            "nullable": true
          },
          "limitUsageGlobal": {
            "type": "boolean"
          },
          "limitUsageCustomer": {
            "type": "boolean"
          },
          "maxUsesGlobal": {
            "type": "number",
            "nullable": true
          },
          "maxUsesPerCustomer": {
            "type": "number",
            "nullable": true
          },
          "minOrderAmount": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "base": {
                  "type": "number"
                }
              },
              "required": [
                "base"
              ]
            },
            "nullable": true
          },
          "exclusive": {
            "type": "boolean"
          },
          "reserved": {
            "type": "boolean"
          },
          "startsAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "endsAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "active",
          "target",
          "code",
          "position",
          "discountType",
          "discountValue",
          "limitUsageGlobal",
          "limitUsageCustomer",
          "maxUsesGlobal",
          "maxUsesPerCustomer",
          "minOrderAmount",
          "exclusive",
          "reserved",
          "startsAt",
          "endsAt",
          "createdAt",
          "updatedAt"
        ],
        "title": "Promotion Item",
        "description": "Complete data of a single promotion"
      },
      "CreatePromotionInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "type": "string"
          },
          "active": {
            "default": false,
            "type": "boolean"
          },
          "code": {
            "type": "string",
            "maxLength": 255
          },
          "stripeCouponId": {
            "type": "string"
          },
          "target": {
            "type": "string",
            "enum": [
              "catalog",
              "order"
            ]
          },
          "discountType": {
            "type": "string",
            "enum": [
              "percentage",
              "fixed"
            ]
          },
          "discountValue": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "base": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100,
                    "multipleOf": 0.01
                  }
                },
                "required": [
                  "base"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "base": {
                      "type": "string",
                      "pattern": "^\\d+(\\.\\d{1,8})?$"
                    }
                  },
                  "required": [
                    "base"
                  ],
                  "additionalProperties": false
                }
              }
            ]
          },
          "minOrderAmount": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "base": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                }
              },
              "required": [
                "base"
              ],
              "additionalProperties": false
            }
          },
          "startsAt": {
            "default": "2026-08-15T09:16:51.817Z",
            "type": "string",
            "format": "date-time"
          },
          "endsAt": {
            "type": "string",
            "format": "date-time"
          },
          "limitUsageGlobal": {
            "type": "boolean"
          },
          "limitUsageCustomer": {
            "type": "boolean"
          },
          "maxUsesGlobal": {
            "type": "integer",
            "minimum": 0
          },
          "maxUsesPerCustomer": {
            "type": "integer",
            "minimum": 0
          },
          "rounding": {
            "type": "string",
            "enum": [
              "none",
              "00",
              "49",
              "90",
              "95",
              "99",
              "ceil",
              "floor"
            ]
          },
          "exclusive": {
            "type": "boolean"
          },
          "reserved": {
            "type": "boolean"
          },
          "position": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "name",
          "target",
          "discountType"
        ],
        "additionalProperties": false,
        "title": "Create Promotion",
        "description": "Defines a new discount or marketing campaign."
      },
      "CreateManyPromotionsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "description": {
                  "type": "string"
                },
                "active": {
                  "default": false,
                  "type": "boolean"
                },
                "code": {
                  "type": "string",
                  "maxLength": 255
                },
                "stripeCouponId": {
                  "type": "string"
                },
                "target": {
                  "type": "string",
                  "enum": [
                    "catalog",
                    "order"
                  ]
                },
                "discountType": {
                  "type": "string",
                  "enum": [
                    "percentage",
                    "fixed"
                  ]
                },
                "discountValue": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "base": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 100,
                          "multipleOf": 0.01
                        }
                      },
                      "required": [
                        "base"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "base": {
                            "type": "string",
                            "pattern": "^\\d+(\\.\\d{1,8})?$"
                          }
                        },
                        "required": [
                          "base"
                        ],
                        "additionalProperties": false
                      }
                    }
                  ]
                },
                "minOrderAmount": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "base": {
                        "type": "string",
                        "pattern": "^\\d+(\\.\\d{1,8})?$"
                      }
                    },
                    "required": [
                      "base"
                    ],
                    "additionalProperties": false
                  }
                },
                "startsAt": {
                  "default": "2026-08-15T09:16:51.818Z",
                  "type": "string",
                  "format": "date-time"
                },
                "endsAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "limitUsageGlobal": {
                  "type": "boolean"
                },
                "limitUsageCustomer": {
                  "type": "boolean"
                },
                "maxUsesGlobal": {
                  "type": "integer",
                  "minimum": 0
                },
                "maxUsesPerCustomer": {
                  "type": "integer",
                  "minimum": 0
                },
                "rounding": {
                  "type": "string",
                  "enum": [
                    "none",
                    "00",
                    "49",
                    "90",
                    "95",
                    "99",
                    "ceil",
                    "floor"
                  ]
                },
                "exclusive": {
                  "type": "boolean"
                },
                "reserved": {
                  "type": "boolean"
                },
                "position": {
                  "type": "integer",
                  "minimum": 0
                }
              },
              "required": [
                "name",
                "target",
                "discountType"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Create Promotions",
        "description": "Array of promotions for batch initialization."
      },
      "UpdateManyPromotionsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "description": {
                  "type": "string"
                },
                "active": {
                  "default": false,
                  "type": "boolean"
                },
                "code": {
                  "type": "string",
                  "maxLength": 255
                },
                "stripeCouponId": {
                  "type": "string"
                },
                "target": {
                  "type": "string",
                  "enum": [
                    "catalog",
                    "order"
                  ]
                },
                "discountType": {
                  "type": "string",
                  "enum": [
                    "percentage",
                    "fixed"
                  ]
                },
                "discountValue": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "base": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 100,
                          "multipleOf": 0.01
                        }
                      },
                      "required": [
                        "base"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "base": {
                            "type": "string",
                            "pattern": "^\\d+(\\.\\d{1,8})?$"
                          }
                        },
                        "required": [
                          "base"
                        ],
                        "additionalProperties": false
                      }
                    }
                  ]
                },
                "minOrderAmount": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "base": {
                        "type": "string",
                        "pattern": "^\\d+(\\.\\d{1,8})?$"
                      }
                    },
                    "required": [
                      "base"
                    ],
                    "additionalProperties": false
                  }
                },
                "startsAt": {
                  "default": "2026-08-15T09:16:51.818Z",
                  "type": "string",
                  "format": "date-time"
                },
                "endsAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "limitUsageGlobal": {
                  "type": "boolean"
                },
                "limitUsageCustomer": {
                  "type": "boolean"
                },
                "maxUsesGlobal": {
                  "type": "integer",
                  "minimum": 0
                },
                "maxUsesPerCustomer": {
                  "type": "integer",
                  "minimum": 0
                },
                "rounding": {
                  "type": "string",
                  "enum": [
                    "none",
                    "00",
                    "49",
                    "90",
                    "95",
                    "99",
                    "ceil",
                    "floor"
                  ]
                },
                "exclusive": {
                  "type": "boolean"
                },
                "reserved": {
                  "type": "boolean"
                },
                "position": {
                  "type": "integer",
                  "minimum": 0
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Update Promotions",
        "description": "Batch updates for multiple marketing campaigns."
      },
      "UpdatePromotionInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "type": "string"
          },
          "active": {
            "default": false,
            "type": "boolean"
          },
          "code": {
            "type": "string",
            "maxLength": 255
          },
          "stripeCouponId": {
            "type": "string"
          },
          "target": {
            "type": "string",
            "enum": [
              "catalog",
              "order"
            ]
          },
          "discountType": {
            "type": "string",
            "enum": [
              "percentage",
              "fixed"
            ]
          },
          "discountValue": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "base": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100,
                    "multipleOf": 0.01
                  }
                },
                "required": [
                  "base"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "base": {
                      "type": "string",
                      "pattern": "^\\d+(\\.\\d{1,8})?$"
                    }
                  },
                  "required": [
                    "base"
                  ],
                  "additionalProperties": false
                }
              }
            ]
          },
          "minOrderAmount": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "base": {
                  "type": "string",
                  "pattern": "^\\d+(\\.\\d{1,8})?$"
                }
              },
              "required": [
                "base"
              ],
              "additionalProperties": false
            }
          },
          "startsAt": {
            "default": "2026-08-15T09:16:51.818Z",
            "type": "string",
            "format": "date-time"
          },
          "endsAt": {
            "type": "string",
            "format": "date-time"
          },
          "limitUsageGlobal": {
            "type": "boolean"
          },
          "limitUsageCustomer": {
            "type": "boolean"
          },
          "maxUsesGlobal": {
            "type": "integer",
            "minimum": 0
          },
          "maxUsesPerCustomer": {
            "type": "integer",
            "minimum": 0
          },
          "rounding": {
            "type": "string",
            "enum": [
              "none",
              "00",
              "49",
              "90",
              "95",
              "99",
              "ceil",
              "floor"
            ]
          },
          "exclusive": {
            "type": "boolean"
          },
          "reserved": {
            "type": "boolean"
          },
          "position": {
            "type": "integer",
            "minimum": 0
          }
        },
        "additionalProperties": false,
        "title": "Update Promotion",
        "description": "Updates core logic or validity of a promotion."
      },
      "DeleteManyPromotionsInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Bulk Delete Promotions",
        "description": "List of promotion IDs to terminate."
      },
      "PromotionFiltersResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "filterId": {
                  "type": "string",
                  "format": "uuid"
                },
                "filterName": {
                  "type": "string"
                }
              },
              "required": [
                "filterId",
                "filterName"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Promotion Filters Response",
        "description": "List of filters linked to a specific promotion."
      },
      "ReplacePromotionFiltersInputDTO": {
        "type": "object",
        "properties": {
          "filterIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          }
        },
        "required": [
          "filterIds"
        ],
        "additionalProperties": false,
        "title": "Sync Promotion Filters",
        "description": "Updates the criteria (filters) that trigger this promotion."
      },
      "PromotionFiltersReplaceResponseDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "promotionId": {
              "type": "string",
              "format": "uuid"
            },
            "filterId": {
              "type": "string",
              "format": "uuid"
            },
            "storeId": {
              "type": "string",
              "format": "uuid"
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "required": [
            "promotionId",
            "filterId",
            "storeId",
            "createdAt",
            "updatedAt"
          ]
        },
        "title": "Promotion Filters Replace Response",
        "description": "The updated links between the promotion and the filters."
      },
      "PromotionActionResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "Promotion Action Response",
        "description": "Indicates if the promotion application or reset process was started successfully."
      },
      "ReturnRequestPaginatedResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "orderId": {
                  "type": "string",
                  "format": "uuid"
                },
                "orderReference": {
                  "type": "integer",
                  "minimum": 0,
                  "exclusiveMinimum": true,
                  "nullable": true
                },
                "customerId": {
                  "type": "string",
                  "format": "uuid"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "pending",
                    "accepted",
                    "rejected",
                    "refunded"
                  ]
                },
                "items": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "orderItemId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "variantId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "variantName": {
                        "type": "string"
                      },
                      "coverUrl": {
                        "type": "string",
                        "format": "uri",
                        "nullable": true
                      },
                      "quantity": {
                        "type": "integer"
                      },
                      "unitNet": {
                        "type": "string"
                      },
                      "unitGross": {
                        "type": "string"
                      },
                      "unitTax": {
                        "type": "string"
                      },
                      "totalNet": {
                        "type": "string"
                      },
                      "totalGross": {
                        "type": "string"
                      },
                      "totalTax": {
                        "type": "string"
                      },
                      "appliedTaxRate": {
                        "type": "integer"
                      },
                      "taxBehavior": {
                        "type": "string"
                      },
                      "skuCode": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "orderItemId",
                      "variantId",
                      "variantName",
                      "quantity",
                      "unitNet",
                      "unitGross",
                      "unitTax",
                      "totalNet",
                      "totalGross",
                      "totalTax",
                      "appliedTaxRate",
                      "taxBehavior",
                      "skuCode"
                    ]
                  }
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                },
                "shippingAddress": {},
                "billingAddress": {},
                "customerEmail": {
                  "type": "string",
                  "format": "email"
                },
                "submittedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "merchantNote": {
                  "type": "string",
                  "nullable": true
                },
                "processedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "storeId",
                "orderId",
                "orderReference",
                "customerId",
                "status",
                "items",
                "reason",
                "customerEmail",
                "submittedAt",
                "merchantNote",
                "processedAt",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Return Request Paginated Response",
        "description": "Paginated list of return requests."
      },
      "ReturnRequestResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "orderId": {
            "type": "string",
            "format": "uuid"
          },
          "orderReference": {
            "type": "integer",
            "minimum": 0,
            "exclusiveMinimum": true,
            "nullable": true
          },
          "customerId": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "accepted",
              "rejected",
              "refunded"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "orderItemId": {
                  "type": "string",
                  "format": "uuid"
                },
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "variantName": {
                  "type": "string"
                },
                "coverUrl": {
                  "type": "string",
                  "format": "uri",
                  "nullable": true
                },
                "quantity": {
                  "type": "integer"
                },
                "unitNet": {
                  "type": "string"
                },
                "unitGross": {
                  "type": "string"
                },
                "unitTax": {
                  "type": "string"
                },
                "totalNet": {
                  "type": "string"
                },
                "totalGross": {
                  "type": "string"
                },
                "totalTax": {
                  "type": "string"
                },
                "appliedTaxRate": {
                  "type": "integer"
                },
                "taxBehavior": {
                  "type": "string"
                },
                "skuCode": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "orderItemId",
                "variantId",
                "variantName",
                "quantity",
                "unitNet",
                "unitGross",
                "unitTax",
                "totalNet",
                "totalGross",
                "totalTax",
                "appliedTaxRate",
                "taxBehavior",
                "skuCode"
              ]
            }
          },
          "reason": {
            "type": "string",
            "nullable": true
          },
          "shippingAddress": {},
          "billingAddress": {},
          "customerEmail": {
            "type": "string",
            "format": "email"
          },
          "submittedAt": {
            "type": "string",
            "format": "date-time"
          },
          "merchantNote": {
            "type": "string",
            "nullable": true
          },
          "processedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "storeId",
          "orderId",
          "orderReference",
          "customerId",
          "status",
          "items",
          "reason",
          "customerEmail",
          "submittedAt",
          "merchantNote",
          "processedAt",
          "createdAt",
          "updatedAt"
        ],
        "title": "Return Request",
        "description": "A return request."
      },
      "CreateReturnRequestAdminDTO": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "accepted",
              "rejected",
              "refunded"
            ]
          },
          "orderId": {
            "type": "string",
            "format": "uuid"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "orderItemId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 10000
                }
              },
              "required": [
                "orderItemId",
                "quantity"
              ]
            },
            "minItems": 1,
            "maxItems": 100
          },
          "reason": {
            "type": "string",
            "maxLength": 2000
          },
          "shippingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "billingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "merchantNote": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "orderId",
          "items",
          "shippingAddress",
          "billingAddress"
        ],
        "additionalProperties": false,
        "title": "Create Return Request (Admin)",
        "description": "Creates a return request on behalf of a customer."
      },
      "UpdateReturnRequestAdminDTO": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "accepted",
              "rejected",
              "refunded"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "orderItemId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 10000
                }
              },
              "required": [
                "orderItemId",
                "quantity"
              ]
            },
            "minItems": 1,
            "maxItems": 100
          },
          "reason": {
            "type": "string",
            "maxLength": 2000
          },
          "merchantNote": {
            "type": "string",
            "maxLength": 2000
          },
          "shippingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "billingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          }
        },
        "additionalProperties": false,
        "title": "Update Return Request (Admin)",
        "description": "Updates status, items, reason or notes on an existing return request."
      },
      "CreateReturnRequestAuthDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "orderItemId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 10000
                }
              },
              "required": [
                "orderItemId",
                "quantity"
              ]
            },
            "minItems": 1,
            "maxItems": 100
          },
          "reason": {
            "type": "string",
            "maxLength": 2000
          },
          "shippingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "billingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "orderId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "items",
          "shippingAddress",
          "billingAddress",
          "orderId"
        ],
        "additionalProperties": false,
        "title": "Create Return Request (Authenticated)",
        "description": "Creates a return request for an authenticated customer."
      },
      "VerifyReturnRequestGuestDTO": {
        "type": "object",
        "properties": {
          "customerEmail": {
            "type": "string",
            "format": "email"
          },
          "orderId": {
            "type": "string",
            "format": "uuid"
          },
          "reference": {
            "type": "integer",
            "minimum": 0,
            "exclusiveMinimum": true,
            "nullable": true
          }
        },
        "required": [
          "customerEmail"
        ],
        "additionalProperties": false,
        "title": "Verify Guest Return Request",
        "description": "Verifies email + orderId/reference and sends a magic link via email."
      },
      "CreateReturnRequestGuestDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "orderItemId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 10000
                }
              },
              "required": [
                "orderItemId",
                "quantity"
              ]
            },
            "minItems": 1,
            "maxItems": 100
          },
          "reason": {
            "type": "string",
            "maxLength": 2000
          },
          "shippingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "billingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "items",
          "shippingAddress",
          "billingAddress",
          "token"
        ],
        "additionalProperties": false,
        "title": "Create Return Request (Guest)",
        "description": "Creates a return request for a guest. orderId and customerEmail come from the JWT."
      },
      "RolesListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "name",
                "storeId",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Roles List",
        "description": "Paginated list of roles."
      },
      "RoleResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "storeId",
          "createdAt",
          "updatedAt"
        ],
        "title": "Role Details",
        "description": "Full details of a specific role."
      },
      "CreateRoleInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "title": "Create Role",
        "description": "Input for creating a new store role with specific name and description."
      },
      "UpdateRoleInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          }
        },
        "additionalProperties": false,
        "title": "Update Role",
        "description": "Fields to update an existing role."
      },
      "RolePermissionsResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "entity": {
                  "type": "string"
                },
                "action": {
                  "type": "string"
                }
              },
              "required": [
                "entity",
                "action"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Role Permissions",
        "description": "List of entity-action permissions assigned to a role."
      },
      "AssignPermissionsInputDTO": {
        "type": "object",
        "properties": {
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          }
        },
        "required": [
          "permissions"
        ],
        "additionalProperties": false,
        "title": "Assign Permissions",
        "description": "List of permission IDs to be assigned to the role, replacing current ones."
      },
      "RolePermissionsAssignmentResponseDTO": {
        "type": "object",
        "properties": {
          "assigned": {
            "type": "number"
          },
          "roleId": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "assigned",
          "roleId",
          "storeId"
        ],
        "title": "Permissions Assignment Result",
        "description": "Confirmation of the number of permissions assigned."
      },
      "ShippingMethodsListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "label": {
                  "type": "string"
                },
                "provider": {
                  "type": "string",
                  "nullable": true
                },
                "availableCountries": {
                  "type": "string",
                  "enum": [
                    "AF",
                    "AX",
                    "AL",
                    "DZ",
                    "AS",
                    "AD",
                    "AO",
                    "AI",
                    "AQ",
                    "AG",
                    "AR",
                    "AM",
                    "AW",
                    "AU",
                    "AT",
                    "AZ",
                    "BS",
                    "BH",
                    "BD",
                    "BB",
                    "BY",
                    "BE",
                    "BZ",
                    "BJ",
                    "BM",
                    "BT",
                    "BO",
                    "BQ",
                    "BA",
                    "BW",
                    "BV",
                    "BR",
                    "IO",
                    "BN",
                    "BG",
                    "BF",
                    "BI",
                    "CV",
                    "KH",
                    "CM",
                    "CA",
                    "KY",
                    "CF",
                    "TD",
                    "CL",
                    "CN",
                    "CX",
                    "CC",
                    "CO",
                    "KM",
                    "CG",
                    "CD",
                    "CK",
                    "CR",
                    "CI",
                    "HR",
                    "CU",
                    "CW",
                    "CY",
                    "CZ",
                    "DK",
                    "DJ",
                    "DM",
                    "DO",
                    "EC",
                    "EG",
                    "SV",
                    "GQ",
                    "ER",
                    "EE",
                    "ET",
                    "FK",
                    "FO",
                    "FJ",
                    "FI",
                    "FR",
                    "GF",
                    "PF",
                    "TF",
                    "GA",
                    "GM",
                    "GE",
                    "DE",
                    "GH",
                    "GI",
                    "GR",
                    "GL",
                    "GD",
                    "GP",
                    "GU",
                    "GT",
                    "GG",
                    "GN",
                    "GW",
                    "GY",
                    "HT",
                    "HM",
                    "VA",
                    "HN",
                    "HK",
                    "HU",
                    "IS",
                    "IN",
                    "ID",
                    "IR",
                    "IQ",
                    "IE",
                    "IM",
                    "IL",
                    "IT",
                    "JM",
                    "JP",
                    "JE",
                    "JO",
                    "KZ",
                    "KE",
                    "KI",
                    "KP",
                    "KR",
                    "KW",
                    "KG",
                    "LA",
                    "LV",
                    "LB",
                    "LS",
                    "LR",
                    "LY",
                    "LI",
                    "LT",
                    "LU",
                    "MO",
                    "MK",
                    "MG",
                    "MW",
                    "MY",
                    "MV",
                    "ML",
                    "MT",
                    "MH",
                    "MQ",
                    "MR",
                    "MU",
                    "YT",
                    "MX",
                    "FM",
                    "MD",
                    "MC",
                    "MN",
                    "ME",
                    "MS",
                    "MA",
                    "MZ",
                    "MM",
                    "NA",
                    "NR",
                    "NP",
                    "NL",
                    "NC",
                    "NZ",
                    "NI",
                    "NE",
                    "NG",
                    "NU",
                    "NF",
                    "MP",
                    "NO",
                    "OM",
                    "PK",
                    "PW",
                    "PS",
                    "PA",
                    "PG",
                    "PY",
                    "PE",
                    "PH",
                    "PN",
                    "PL",
                    "PT",
                    "PR",
                    "QA",
                    "RE",
                    "RO",
                    "RU",
                    "RW",
                    "BL",
                    "SH",
                    "KN",
                    "LC",
                    "MF",
                    "PM",
                    "VC",
                    "WS",
                    "SM",
                    "ST",
                    "SA",
                    "SN",
                    "RS",
                    "SC",
                    "SL",
                    "SG",
                    "SX",
                    "SK",
                    "SI",
                    "SB",
                    "SO",
                    "ZA",
                    "GS",
                    "SS",
                    "ES",
                    "LK",
                    "SD",
                    "SR",
                    "SJ",
                    "SZ",
                    "SE",
                    "CH",
                    "SY",
                    "TW",
                    "TJ",
                    "TZ",
                    "TH",
                    "TL",
                    "TG",
                    "TK",
                    "TO",
                    "TT",
                    "TN",
                    "TR",
                    "TM",
                    "TC",
                    "TV",
                    "UG",
                    "UA",
                    "AE",
                    "GB",
                    "US",
                    "UM",
                    "UY",
                    "UZ",
                    "VU",
                    "VE",
                    "VN",
                    "VG",
                    "VI",
                    "WF",
                    "EH",
                    "YE",
                    "ZM",
                    "ZW"
                  ],
                  "nullable": true
                },
                "etaMin": {
                  "type": "number",
                  "nullable": true
                },
                "etaMax": {
                  "type": "number",
                  "nullable": true
                },
                "enabled": {
                  "type": "boolean"
                },
                "pricing": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "mode": {
                        "default": "bracket",
                        "type": "string",
                        "enum": [
                          "bracket",
                          "tiered"
                        ]
                      },
                      "overflowBehavior": {
                        "default": "block",
                        "type": "string",
                        "enum": [
                          "block",
                          "last_tier"
                        ]
                      },
                      "base": {
                        "type": "number",
                        "minimum": 0,
                        "multipleOf": 0.01
                      },
                      "enableFreeShipping": {
                        "type": "boolean"
                      },
                      "freeShippingThreshold": {
                        "type": "number",
                        "minimum": 0,
                        "multipleOf": 0.01
                      },
                      "tiers": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "perKg": {
                              "type": "number",
                              "minimum": 0,
                              "multipleOf": 0.01,
                              "nullable": true
                            },
                            "perVolume": {
                              "type": "number",
                              "minimum": 0,
                              "multipleOf": 0.01,
                              "nullable": true
                            },
                            "fromWeight": {
                              "type": "integer",
                              "minimum": 0,
                              "nullable": true
                            },
                            "toWeight": {
                              "type": "integer",
                              "minimum": 0,
                              "nullable": true
                            },
                            "fromVolume": {
                              "type": "integer",
                              "minimum": 0,
                              "nullable": true
                            },
                            "toVolume": {
                              "type": "integer",
                              "minimum": 0,
                              "nullable": true
                            }
                          },
                          "additionalProperties": false
                        },
                        "minItems": 1
                      }
                    },
                    "required": [
                      "base",
                      "freeShippingThreshold",
                      "tiers"
                    ],
                    "additionalProperties": false
                  }
                },
                "maxWeight": {
                  "type": "number",
                  "nullable": true
                },
                "maxVolume": {
                  "type": "number",
                  "nullable": true
                },
                "assetId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "label",
                "provider",
                "etaMin",
                "etaMax",
                "enabled",
                "pricing",
                "maxWeight",
                "maxVolume",
                "assetId"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Shipping Methods List",
        "description": "Paginated list of shipping methods for the store."
      },
      "ShippingMethodResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "label": {
            "type": "string"
          },
          "provider": {
            "type": "string",
            "nullable": true
          },
          "availableCountries": {
            "type": "string",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ],
            "nullable": true
          },
          "etaMin": {
            "type": "number",
            "nullable": true
          },
          "etaMax": {
            "type": "number",
            "nullable": true
          },
          "enabled": {
            "type": "boolean"
          },
          "pricing": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "mode": {
                  "default": "bracket",
                  "type": "string",
                  "enum": [
                    "bracket",
                    "tiered"
                  ]
                },
                "overflowBehavior": {
                  "default": "block",
                  "type": "string",
                  "enum": [
                    "block",
                    "last_tier"
                  ]
                },
                "base": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                },
                "enableFreeShipping": {
                  "type": "boolean"
                },
                "freeShippingThreshold": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                },
                "tiers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "perKg": {
                        "type": "number",
                        "minimum": 0,
                        "multipleOf": 0.01,
                        "nullable": true
                      },
                      "perVolume": {
                        "type": "number",
                        "minimum": 0,
                        "multipleOf": 0.01,
                        "nullable": true
                      },
                      "fromWeight": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      },
                      "toWeight": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      },
                      "fromVolume": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      },
                      "toVolume": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "minItems": 1
                }
              },
              "required": [
                "base",
                "freeShippingThreshold",
                "tiers"
              ],
              "additionalProperties": false
            }
          },
          "maxWeight": {
            "type": "number",
            "nullable": true
          },
          "maxVolume": {
            "type": "number",
            "nullable": true
          },
          "assetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "label",
          "provider",
          "etaMin",
          "etaMax",
          "enabled",
          "pricing",
          "maxWeight",
          "maxVolume",
          "assetId"
        ],
        "title": "Shipping Method Details",
        "description": "Complete data of the shipping method including translations and asset URL."
      },
      "CreateShippingMethodDTO": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "provider": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "availableCountries": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BQ",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "CV",
                "KH",
                "CM",
                "CA",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CW",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "KR",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "BL",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "SS",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "US",
                "UM",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "ZM",
                "ZW"
              ]
            },
            "maxItems": 250
          },
          "etaMin": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "etaMax": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "enabled": {
            "type": "boolean"
          },
          "assetId": {
            "type": "string",
            "format": "uuid"
          },
          "pricing": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "mode": {
                  "default": "bracket",
                  "type": "string",
                  "enum": [
                    "bracket",
                    "tiered"
                  ]
                },
                "overflowBehavior": {
                  "default": "block",
                  "type": "string",
                  "enum": [
                    "block",
                    "last_tier"
                  ]
                },
                "base": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                },
                "enableFreeShipping": {
                  "type": "boolean"
                },
                "freeShippingThreshold": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                },
                "tiers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "perKg": {
                        "type": "number",
                        "minimum": 0,
                        "multipleOf": 0.01,
                        "nullable": true
                      },
                      "perVolume": {
                        "type": "number",
                        "minimum": 0,
                        "multipleOf": 0.01,
                        "nullable": true
                      },
                      "fromWeight": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      },
                      "toWeight": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      },
                      "fromVolume": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      },
                      "toVolume": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "minItems": 1
                }
              },
              "required": [
                "base",
                "freeShippingThreshold",
                "tiers"
              ],
              "additionalProperties": false
            }
          },
          "maxWeight": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000
          },
          "maxVolume": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                }
              },
              "required": [
                "label"
              ]
            }
          }
        },
        "required": [
          "label",
          "pricing"
        ],
        "additionalProperties": false,
        "title": "Create Shipping Method",
        "description": "Defines a new shipping carrier or service with its base cost and logic."
      },
      "UpdateShippingMethodDTO": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "provider": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "availableCountries": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BQ",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "CV",
                "KH",
                "CM",
                "CA",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CW",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "KR",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "BL",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "SS",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "US",
                "UM",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "ZM",
                "ZW"
              ]
            },
            "maxItems": 250
          },
          "etaMin": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "etaMax": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "enabled": {
            "type": "boolean"
          },
          "assetId": {
            "type": "string",
            "format": "uuid"
          },
          "pricing": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "mode": {
                  "default": "bracket",
                  "type": "string",
                  "enum": [
                    "bracket",
                    "tiered"
                  ]
                },
                "overflowBehavior": {
                  "default": "block",
                  "type": "string",
                  "enum": [
                    "block",
                    "last_tier"
                  ]
                },
                "base": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                },
                "enableFreeShipping": {
                  "type": "boolean"
                },
                "freeShippingThreshold": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                },
                "tiers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "perKg": {
                        "type": "number",
                        "minimum": 0,
                        "multipleOf": 0.01,
                        "nullable": true
                      },
                      "perVolume": {
                        "type": "number",
                        "minimum": 0,
                        "multipleOf": 0.01,
                        "nullable": true
                      },
                      "fromWeight": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      },
                      "toWeight": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      },
                      "fromVolume": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      },
                      "toVolume": {
                        "type": "integer",
                        "minimum": 0,
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  },
                  "minItems": 1
                }
              },
              "required": [
                "base",
                "freeShippingThreshold",
                "tiers"
              ],
              "additionalProperties": false
            }
          },
          "maxWeight": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000
          },
          "maxVolume": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                }
              },
              "required": [
                "label"
              ]
            }
          }
        },
        "additionalProperties": false,
        "title": "Update Shipping Method",
        "description": "Updates configuration, pricing or metadata for an existing shipping method."
      },
      "ShippingZonesListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "label": {
                  "type": "string"
                },
                "countryCode": {
                  "type": "string"
                },
                "surchargePricing": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "base": {
                        "type": "number",
                        "minimum": 0,
                        "multipleOf": 0.01
                      },
                      "percentage": {
                        "type": "number",
                        "minimum": 0,
                        "multipleOf": 0.01
                      }
                    },
                    "required": [
                      "base",
                      "percentage"
                    ],
                    "additionalProperties": false
                  }
                },
                "taxRate": {
                  "type": "number"
                },
                "stripeTaxRateId": {
                  "type": "string",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "label",
                "countryCode",
                "surchargePricing",
                "taxRate",
                "stripeTaxRateId",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Shipping Zones List",
        "description": "A paginated list of all shipping zones configured for the current store."
      },
      "ShippingZoneResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "label": {
            "type": "string"
          },
          "countryCode": {
            "type": "string"
          },
          "surchargePricing": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "base": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                },
                "percentage": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                }
              },
              "required": [
                "base",
                "percentage"
              ],
              "additionalProperties": false
            }
          },
          "taxRate": {
            "type": "number"
          },
          "stripeTaxRateId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "label",
          "countryCode",
          "surchargePricing",
          "taxRate",
          "stripeTaxRateId",
          "createdAt",
          "updatedAt"
        ],
        "title": "Shipping Zone Details",
        "description": "Full details of a shipping zone, including the list of countries it covers."
      },
      "CreateShippingZoneDTO": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "surchargePricing": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "base": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                },
                "percentage": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                }
              },
              "required": [
                "base",
                "percentage"
              ],
              "additionalProperties": false
            }
          },
          "taxRate": {
            "default": 0,
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "stripeTaxRateId": {
            "type": "string"
          }
        },
        "required": [
          "countryCode",
          "label",
          "surchargePricing"
        ],
        "additionalProperties": false,
        "title": "Create Shipping Zone",
        "description": "Defines a new geographical area (e.g., Europe, Italy) where specific shipping methods will apply."
      },
      "UpdateShippingZoneDTO": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "surchargePricing": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "base": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                },
                "percentage": {
                  "type": "number",
                  "minimum": 0,
                  "multipleOf": 0.01
                }
              },
              "required": [
                "base",
                "percentage"
              ],
              "additionalProperties": false
            }
          },
          "taxRate": {
            "default": 0,
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "stripeTaxRateId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "title": "Update Shipping Zone",
        "description": "Updates the name or geographical configuration of an existing shipping zone."
      },
      "SignupWithPasswordDTO": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "password": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "confirmPassword": {
            "type": "string"
          },
          "deviceId": {
            "type": "string",
            "minLength": 5
          },
          "displayName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 64
          },
          "platform": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "phone": {
            "type": "string",
            "minLength": 3,
            "maxLength": 50,
            "nullable": true
          },
          "newsletter": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "email",
          "password",
          "confirmPassword",
          "deviceId",
          "displayName"
        ],
        "additionalProperties": false,
        "title": "Customer Signup",
        "description": "Creates a new account and issues initial tokens."
      },
      "AuthSessionResponseDTO": {
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "emailVerified": {
            "type": "boolean"
          },
          "provider": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "twoFactorEnabled": {
            "type": "boolean"
          },
          "vatExempt": {
            "type": "boolean"
          },
          "vatCode": {
            "type": "string"
          },
          "newsletter": {
            "type": "boolean"
          },
          "metadata": {},
          "token": {
            "type": "string"
          },
          "expiresIn": {
            "type": "number"
          }
        },
        "required": [
          "customerId",
          "email",
          "displayName",
          "emailVerified",
          "provider",
          "createdAt",
          "twoFactorEnabled",
          "vatExempt",
          "vatCode",
          "newsletter",
          "token",
          "expiresIn"
        ],
        "title": "Auth Session",
        "description": "Returned on login, signup, token refresh and TOTP verify."
      },
      "LoginWithPasswordDTO": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "password": {
            "type": "string",
            "minLength": 8
          },
          "deviceId": {
            "type": "string",
            "minLength": 5
          },
          "platform": {
            "type": "string"
          },
          "region": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "password",
          "deviceId"
        ],
        "additionalProperties": false,
        "title": "Customer Login",
        "description": "Authenticates user and sets HttpOnly cookies."
      },
      "RefreshTokenDTO": {
        "type": "object",
        "properties": {
          "deviceId": {
            "type": "string",
            "minLength": 5
          }
        },
        "required": [
          "deviceId"
        ],
        "additionalProperties": false,
        "title": "Refresh Token",
        "description": "Exchanges a valid refresh cookie + CSRF header for a new access token."
      },
      "LogoutDTO": {
        "type": "object",
        "properties": {
          "deviceId": {
            "type": "string",
            "minLength": 5
          }
        },
        "required": [
          "deviceId"
        ],
        "additionalProperties": false,
        "title": "Logout",
        "description": "Invalidates session and clears cookies."
      },
      "RequestResetDTO": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false,
        "title": "Request Reset",
        "description": "Starts the password recovery process."
      },
      "VerifyChallengeDTO": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "minLength": 10
          },
          "totpCode": {
            "type": "string"
          }
        },
        "required": [
          "token",
          "totpCode"
        ],
        "additionalProperties": false,
        "title": "Verify 2FA Challenge",
        "description": "Verifies OTP during sensitive operations (Reset/Delete)."
      },
      "ResetPasswordDTO": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "minLength": 10
          },
          "newPassword": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "confirmNewPassword": {
            "type": "string"
          }
        },
        "required": [
          "token",
          "newPassword",
          "confirmNewPassword"
        ],
        "additionalProperties": false,
        "title": "Reset Password",
        "description": "Finalizes password change using a reset token."
      },
      "TotpSetupDTO": {
        "type": "object",
        "properties": {
          "secret": {
            "type": "string",
            "description": "The TOTP secret key"
          },
          "otpauthUrl": {
            "type": "string",
            "description": "The URL to generate the QR code"
          }
        },
        "required": [
          "secret",
          "otpauthUrl"
        ],
        "title": "TOTP Setup Response"
      },
      "TotpConfirmDTO": {
        "type": "object",
        "properties": {
          "totpCode": {
            "type": "string"
          },
          "deviceId": {
            "type": "string",
            "minLength": 5
          },
          "platform": {
            "type": "string"
          },
          "region": {
            "type": "string"
          }
        },
        "required": [
          "totpCode",
          "deviceId"
        ],
        "additionalProperties": false,
        "title": "Confirm TOTP Setup",
        "description": "Activates 2FA after verifying the first code."
      },
      "TotpVerifyDTO": {
        "type": "object",
        "properties": {
          "challengeId": {
            "type": "string",
            "format": "uuid"
          },
          "totpCode": {
            "type": "string"
          },
          "deviceId": {
            "type": "string",
            "minLength": 5
          },
          "platform": {
            "type": "string"
          },
          "region": {
            "type": "string"
          }
        },
        "required": [
          "challengeId",
          "totpCode",
          "deviceId"
        ],
        "additionalProperties": false,
        "title": "Verify TOTP Login",
        "description": "Second step of login when 2FA is enabled."
      },
      "RequestDeleteAccountDTO": {
        "type": "object",
        "properties": {
          "deviceId": {
            "type": "string",
            "description": "Device ID to identify the source of the deletion request"
          }
        },
        "required": [
          "deviceId"
        ],
        "title": "Request Delete Account"
      },
      "DeleteAccountDTO": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "minLength": 10
          }
        },
        "required": [
          "token"
        ],
        "additionalProperties": false,
        "title": "Finalize Delete",
        "description": "Permanently removes the account via secure token."
      },
      "NewsletterSubscribeDTO": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false,
        "title": "Newsletter Subscribe",
        "description": "Subscribes an email address to the store newsletter. Works for both authenticated and guest customers."
      },
      "NewsletterResponseDTO": {
        "type": "object",
        "properties": {
          "direct": {
            "type": "boolean"
          }
        },
        "required": [
          "direct"
        ],
        "title": "Newsletter Response",
        "description": "Indicates if the action was applied directly or requires email confirmation."
      },
      "NewsletterUnsubscribeDTO": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false,
        "title": "Newsletter Unsubscribe",
        "description": "Unsubscribes an email address from the store newsletter. Works for both authenticated and guest customers."
      },
      "StoreCustomerListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "displayName": {
                  "type": "string"
                },
                "email": {
                  "type": "string",
                  "nullable": true
                },
                "phone": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "nullable": true
                },
                "metadata": {
                  "nullable": true
                },
                "vatExempt": {
                  "type": "boolean",
                  "nullable": true
                },
                "vatCode": {
                  "type": "string",
                  "nullable": true
                },
                "newsletter": {
                  "type": "boolean",
                  "nullable": true
                },
                "twoFactorEnabled": {
                  "type": "boolean",
                  "nullable": true
                },
                "lifetimeValue": {
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "deletedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "authMethods": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "provider": {
                        "type": "string"
                      },
                      "providerUserId": {
                        "type": "string"
                      },
                      "emailVerified": {
                        "type": "boolean",
                        "nullable": true
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "provider",
                      "providerUserId",
                      "emailVerified",
                      "createdAt"
                    ]
                  }
                },
                "shippingAddresses": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "storeId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "customerId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "fullName": {
                        "type": "string"
                      },
                      "company": {
                        "type": "string",
                        "nullable": true
                      },
                      "phone": {
                        "type": "string",
                        "nullable": true
                      },
                      "addressLine1": {
                        "type": "string"
                      },
                      "addressLine2": {
                        "type": "string",
                        "nullable": true
                      },
                      "city": {
                        "type": "string"
                      },
                      "postalCode": {
                        "type": "string"
                      },
                      "province": {
                        "type": "string",
                        "nullable": true
                      },
                      "countryCode": {
                        "type": "string"
                      },
                      "additionalInfo": {
                        "type": "string",
                        "nullable": true
                      },
                      "vatCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "isDefaultShipping": {
                        "type": "boolean"
                      },
                      "isDefaultBilling": {
                        "type": "boolean"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "storeId",
                      "customerId",
                      "fullName",
                      "company",
                      "phone",
                      "addressLine1",
                      "addressLine2",
                      "city",
                      "postalCode",
                      "province",
                      "countryCode",
                      "additionalInfo",
                      "vatCode",
                      "isDefaultShipping",
                      "isDefaultBilling",
                      "createdAt",
                      "updatedAt"
                    ]
                  }
                }
              },
              "required": [
                "id",
                "storeId",
                "displayName",
                "email",
                "phone",
                "vatExempt",
                "vatCode",
                "newsletter",
                "twoFactorEnabled",
                "createdAt",
                "updatedAt",
                "deletedAt",
                "authMethods",
                "shippingAddresses"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Customer List",
        "description": "Paginated customer list."
      },
      "StoreCustomerDetailDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "displayName": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "nullable": true
          },
          "metadata": {
            "nullable": true
          },
          "vatExempt": {
            "type": "boolean",
            "nullable": true
          },
          "vatCode": {
            "type": "string",
            "nullable": true
          },
          "newsletter": {
            "type": "boolean",
            "nullable": true
          },
          "twoFactorEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "lifetimeValue": {
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "authMethods": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "provider": {
                  "type": "string"
                },
                "providerUserId": {
                  "type": "string"
                },
                "emailVerified": {
                  "type": "boolean",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "provider",
                "providerUserId",
                "emailVerified",
                "createdAt"
              ]
            }
          }
        },
        "required": [
          "id",
          "storeId",
          "displayName",
          "email",
          "phone",
          "vatExempt",
          "vatCode",
          "newsletter",
          "twoFactorEnabled",
          "createdAt",
          "updatedAt",
          "deletedAt",
          "authMethods"
        ],
        "title": "Customer Detail",
        "description": "Full customer profile with auth methods."
      },
      "SendResetPasswordInputDTO": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false,
        "title": "Reset Password Request",
        "description": "Triggers a recovery email for the customer."
      },
      "SendVerifyEmailInputDTO": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false,
        "title": "Verify Email Request",
        "description": "Triggers an email verification link."
      },
      "CreateStoreCustomerInputDTO": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "minLength": 2
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "minLength": 3,
            "maxLength": 50
          },
          "address": {
            "type": "string",
            "minLength": 3,
            "maxLength": 255
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {}
          },
          "vatExempt": {
            "type": "boolean"
          },
          "vatCode": {
            "type": "string"
          },
          "newsletter": {
            "type": "boolean"
          }
        },
        "required": [
          "displayName"
        ],
        "additionalProperties": false,
        "title": "Create Customer",
        "description": "Input for manual customer registration."
      },
      "CreateManyStoreCustomersInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "displayName": {
                  "type": "string",
                  "minLength": 2
                },
                "email": {
                  "type": "string",
                  "format": "email"
                },
                "phone": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 50
                },
                "address": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 255
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "vatExempt": {
                  "type": "boolean"
                },
                "vatCode": {
                  "type": "string"
                },
                "newsletter": {
                  "type": "boolean"
                }
              },
              "required": [
                "displayName"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Create Customers",
        "description": "Batch import for customer records."
      },
      "DeleteManyStoreCustomersInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Bulk Delete Customers",
        "description": "List of customer IDs to remove."
      },
      "UpdateManyStoreCustomersInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "displayName": {
                  "type": "string",
                  "minLength": 2
                },
                "email": {
                  "type": "string",
                  "format": "email"
                },
                "phone": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 50
                },
                "address": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 255
                },
                "metadata": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "vatExempt": {
                  "type": "boolean"
                },
                "vatCode": {
                  "type": "string"
                },
                "newsletter": {
                  "type": "boolean"
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Bulk Update Customers",
        "description": "Batch updates for customer segments."
      },
      "UpdateStoreCustomerInputDTO": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "minLength": 2
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "minLength": 3,
            "maxLength": 50
          },
          "address": {
            "type": "string",
            "minLength": 3,
            "maxLength": 255
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {}
          },
          "vatExempt": {
            "type": "boolean"
          },
          "vatCode": {
            "type": "string"
          },
          "newsletter": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "title": "Update Customer",
        "description": "Modify customer profile or status."
      },
      "CustomerPromotionsResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "promotionId": {
                  "type": "string",
                  "format": "uuid"
                },
                "promotionName": {
                  "type": "string"
                },
                "promotionCode": {
                  "type": "string",
                  "nullable": true
                },
                "timesUsed": {
                  "type": "number"
                }
              },
              "required": [
                "promotionId",
                "promotionName",
                "promotionCode",
                "timesUsed"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Customer Promotions",
        "description": "Promotions assigned to the customer."
      },
      "ReplaceCustomerPromotionsInputDTO": {
        "type": "object",
        "properties": {
          "promotionIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 0
          }
        },
        "required": [
          "promotionIds"
        ],
        "title": "Sync Customer Promotions",
        "description": "Updates individual discount eligibility for the customer."
      },
      "CustomerPromotionsReplaceResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "promotionId": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "promotionId"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Customer Promotions Replaced",
        "description": "Updated promotion assignments."
      },
      "CustomerAddressListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "customerId": {
                  "type": "string",
                  "format": "uuid"
                },
                "fullName": {
                  "type": "string"
                },
                "company": {
                  "type": "string",
                  "nullable": true
                },
                "phone": {
                  "type": "string",
                  "nullable": true
                },
                "addressLine1": {
                  "type": "string"
                },
                "addressLine2": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string"
                },
                "postalCode": {
                  "type": "string"
                },
                "province": {
                  "type": "string",
                  "nullable": true
                },
                "countryCode": {
                  "type": "string"
                },
                "additionalInfo": {
                  "type": "string",
                  "nullable": true
                },
                "vatCode": {
                  "type": "string",
                  "nullable": true
                },
                "isDefaultShipping": {
                  "type": "boolean"
                },
                "isDefaultBilling": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "customerId",
                "fullName",
                "company",
                "phone",
                "addressLine1",
                "addressLine2",
                "city",
                "postalCode",
                "province",
                "countryCode",
                "additionalInfo",
                "vatCode",
                "isDefaultShipping",
                "isDefaultBilling",
                "createdAt",
                "updatedAt"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Address List",
        "description": "All addresses for the customer."
      },
      "CreateCustomerAddressDTO": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "minLength": 2
          },
          "company": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "addressLine1": {
            "type": "string",
            "minLength": 3
          },
          "addressLine2": {
            "type": "string"
          },
          "city": {
            "type": "string",
            "minLength": 2
          },
          "province": {
            "type": "string"
          },
          "postalCode": {
            "type": "string",
            "minLength": 3
          },
          "countryCode": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "isDefaultShipping": {
            "default": false,
            "type": "boolean"
          },
          "isDefaultBilling": {
            "default": false,
            "type": "boolean"
          },
          "vatCode": {
            "type": "string",
            "maxLength": 32,
            "nullable": true
          },
          "additionalInfo": {
            "type": "string",
            "minLength": 0,
            "maxLength": 255
          }
        },
        "required": [
          "fullName",
          "addressLine1",
          "city",
          "postalCode",
          "countryCode"
        ],
        "additionalProperties": false,
        "title": "Create Address",
        "description": "Shipping or billing address details for the customer."
      },
      "CustomerAddressDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "customerId": {
            "type": "string",
            "format": "uuid"
          },
          "fullName": {
            "type": "string"
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "addressLine1": {
            "type": "string"
          },
          "addressLine2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "province": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string"
          },
          "additionalInfo": {
            "type": "string",
            "nullable": true
          },
          "vatCode": {
            "type": "string",
            "nullable": true
          },
          "isDefaultShipping": {
            "type": "boolean"
          },
          "isDefaultBilling": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "storeId",
          "customerId",
          "fullName",
          "company",
          "phone",
          "addressLine1",
          "addressLine2",
          "city",
          "postalCode",
          "province",
          "countryCode",
          "additionalInfo",
          "vatCode",
          "isDefaultShipping",
          "isDefaultBilling",
          "createdAt",
          "updatedAt"
        ],
        "title": "Customer Address",
        "description": "A single address entry."
      },
      "UpdateCustomerAddressDTO": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "minLength": 2
          },
          "company": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "addressLine1": {
            "type": "string",
            "minLength": 3
          },
          "addressLine2": {
            "type": "string"
          },
          "city": {
            "type": "string",
            "minLength": 2
          },
          "province": {
            "type": "string"
          },
          "postalCode": {
            "type": "string",
            "minLength": 3
          },
          "countryCode": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "isDefaultShipping": {
            "default": false,
            "type": "boolean"
          },
          "isDefaultBilling": {
            "default": false,
            "type": "boolean"
          },
          "vatCode": {
            "type": "string",
            "maxLength": 32,
            "nullable": true
          },
          "additionalInfo": {
            "type": "string",
            "minLength": 0,
            "maxLength": 255
          }
        },
        "additionalProperties": false,
        "title": "Update Address",
        "description": "Partial update for an existing address entry."
      },
      "WishlistListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "product": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "variants": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "name": {
                            "type": "string"
                          },
                          "assets": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "url": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "url"
                              ]
                            }
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ]
                      }
                    }
                  },
                  "required": [
                    "id",
                    "variants"
                  ]
                }
              },
              "required": [
                "product"
              ]
            }
          },
          "total": {
            "type": "number"
          }
        },
        "required": [
          "data",
          "total"
        ],
        "title": "Wishlist",
        "description": "Customer wishlist items."
      },
      "ToggleWishlistDTO": {
        "type": "object",
        "properties": {
          "variantId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "variantId"
        ],
        "additionalProperties": false,
        "title": "Toggle Wishlist Item",
        "description": "The product variant ID to add or remove from the customer wishlist."
      },
      "WishlistToggleResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "wasAdded": {
            "type": "boolean"
          },
          "item": {
            "type": "object",
            "properties": {
              "product": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "name": {
                          "type": "string"
                        },
                        "assets": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "url"
                            ]
                          }
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ]
                    }
                  }
                },
                "required": [
                  "id",
                  "variants"
                ]
              }
            },
            "required": [
              "product"
            ]
          }
        },
        "required": [
          "success",
          "wasAdded"
        ],
        "title": "Wishlist Toggle",
        "description": "Result of adding or removing a variant from the wishlist."
      },
      "CustomerOrderListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "customerId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "reference": {
                  "type": "integer",
                  "nullable": true
                },
                "amount": {
                  "type": "string",
                  "nullable": true
                },
                "currencyCode": {
                  "type": "string"
                },
                "paymentStatus": {
                  "type": "string"
                },
                "shippingStatus": {
                  "type": "string",
                  "nullable": true
                },
                "stripeInvoiceUrl": {
                  "type": "string",
                  "nullable": true
                },
                "shippingTrackingUrl": {
                  "type": "string",
                  "nullable": true
                },
                "shippingAddress": {
                  "type": "object",
                  "properties": {
                    "fullName": {
                      "type": "string",
                      "minLength": 2
                    },
                    "company": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "addressLine1": {
                      "type": "string",
                      "minLength": 3
                    },
                    "addressLine2": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string",
                      "minLength": 2
                    },
                    "province": {
                      "type": "string"
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 3
                    },
                    "countryCode": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "vatCode": {
                      "type": "string",
                      "maxLength": 32,
                      "nullable": true
                    },
                    "additionalInfo": {
                      "type": "string",
                      "minLength": 0,
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "fullName",
                    "addressLine1",
                    "city",
                    "postalCode",
                    "countryCode"
                  ],
                  "additionalProperties": false
                },
                "billingAddress": {
                  "type": "object",
                  "properties": {
                    "fullName": {
                      "type": "string",
                      "minLength": 2
                    },
                    "company": {
                      "type": "string"
                    },
                    "phone": {
                      "type": "string"
                    },
                    "addressLine1": {
                      "type": "string",
                      "minLength": 3
                    },
                    "addressLine2": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string",
                      "minLength": 2
                    },
                    "province": {
                      "type": "string"
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 3
                    },
                    "countryCode": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 2
                    },
                    "vatCode": {
                      "type": "string",
                      "maxLength": 32,
                      "nullable": true
                    },
                    "additionalInfo": {
                      "type": "string",
                      "minLength": 0,
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "fullName",
                    "addressLine1",
                    "city",
                    "postalCode",
                    "countryCode"
                  ],
                  "additionalProperties": false
                },
                "promotionSnapshot": {
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "items": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "productId": {
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "variantId": {
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "variantName": {
                        "type": "string",
                        "nullable": true
                      },
                      "coverUrl": {
                        "type": "string",
                        "nullable": true
                      },
                      "quantity": {
                        "type": "number",
                        "nullable": true
                      },
                      "deliveryMethod": {
                        "type": "string",
                        "nullable": true
                      },
                      "appliedTaxRate": {
                        "type": "number",
                        "nullable": true
                      },
                      "unitNet": {
                        "type": "string",
                        "nullable": true
                      },
                      "unitGross": {
                        "type": "string",
                        "nullable": true
                      },
                      "unitTax": {
                        "type": "string",
                        "nullable": true
                      },
                      "totalNet": {
                        "type": "string",
                        "nullable": true
                      },
                      "totalGross": {
                        "type": "string",
                        "nullable": true
                      },
                      "totalTax": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "productId",
                      "variantId",
                      "variantName",
                      "coverUrl",
                      "quantity",
                      "deliveryMethod",
                      "appliedTaxRate",
                      "unitNet",
                      "unitGross",
                      "unitTax",
                      "totalNet",
                      "totalGross",
                      "totalTax"
                    ]
                  }
                }
              },
              "required": [
                "id",
                "storeId",
                "customerId",
                "reference",
                "amount",
                "currencyCode",
                "paymentStatus",
                "shippingStatus",
                "stripeInvoiceUrl",
                "shippingTrackingUrl",
                "shippingAddress",
                "billingAddress",
                "createdAt",
                "updatedAt",
                "items"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Customer Orders",
        "description": "Paginated list of customer orders."
      },
      "CustomerSubscriptionListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "stripeId": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "activeSince": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "currentPeriodEnd": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "cancelAtPeriodEnd": {
                  "type": "boolean",
                  "nullable": true
                },
                "latestInvoiceId": {
                  "type": "string",
                  "nullable": true
                },
                "latestInvoiceUrl": {
                  "type": "string",
                  "nullable": true
                },
                "trialStart": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "trialEnd": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "order": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "storeId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "customerId": {
                      "type": "string",
                      "format": "uuid",
                      "nullable": true
                    },
                    "reference": {
                      "type": "integer",
                      "nullable": true
                    },
                    "amount": {
                      "type": "string",
                      "nullable": true
                    },
                    "currencyCode": {
                      "type": "string"
                    },
                    "paymentStatus": {
                      "type": "string"
                    },
                    "shippingStatus": {
                      "type": "string",
                      "nullable": true
                    },
                    "stripeInvoiceUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "shippingTrackingUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "shippingAddress": {
                      "type": "object",
                      "properties": {
                        "fullName": {
                          "type": "string",
                          "minLength": 2
                        },
                        "company": {
                          "type": "string"
                        },
                        "phone": {
                          "type": "string"
                        },
                        "addressLine1": {
                          "type": "string",
                          "minLength": 3
                        },
                        "addressLine2": {
                          "type": "string"
                        },
                        "city": {
                          "type": "string",
                          "minLength": 2
                        },
                        "province": {
                          "type": "string"
                        },
                        "postalCode": {
                          "type": "string",
                          "minLength": 3
                        },
                        "countryCode": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 2
                        },
                        "vatCode": {
                          "type": "string",
                          "maxLength": 32,
                          "nullable": true
                        },
                        "additionalInfo": {
                          "type": "string",
                          "minLength": 0,
                          "maxLength": 255
                        }
                      },
                      "required": [
                        "fullName",
                        "addressLine1",
                        "city",
                        "postalCode",
                        "countryCode"
                      ],
                      "additionalProperties": false
                    },
                    "billingAddress": {
                      "type": "object",
                      "properties": {
                        "fullName": {
                          "type": "string",
                          "minLength": 2
                        },
                        "company": {
                          "type": "string"
                        },
                        "phone": {
                          "type": "string"
                        },
                        "addressLine1": {
                          "type": "string",
                          "minLength": 3
                        },
                        "addressLine2": {
                          "type": "string"
                        },
                        "city": {
                          "type": "string",
                          "minLength": 2
                        },
                        "province": {
                          "type": "string"
                        },
                        "postalCode": {
                          "type": "string",
                          "minLength": 3
                        },
                        "countryCode": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 2
                        },
                        "vatCode": {
                          "type": "string",
                          "maxLength": 32,
                          "nullable": true
                        },
                        "additionalInfo": {
                          "type": "string",
                          "minLength": 0,
                          "maxLength": 255
                        }
                      },
                      "required": [
                        "fullName",
                        "addressLine1",
                        "city",
                        "postalCode",
                        "countryCode"
                      ],
                      "additionalProperties": false
                    },
                    "promotionSnapshot": {
                      "nullable": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "productId": {
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "variantId": {
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "variantName": {
                            "type": "string",
                            "nullable": true
                          },
                          "coverUrl": {
                            "type": "string",
                            "nullable": true
                          },
                          "quantity": {
                            "type": "number",
                            "nullable": true
                          },
                          "deliveryMethod": {
                            "type": "string",
                            "nullable": true
                          },
                          "appliedTaxRate": {
                            "type": "number",
                            "nullable": true
                          },
                          "unitNet": {
                            "type": "string",
                            "nullable": true
                          },
                          "unitGross": {
                            "type": "string",
                            "nullable": true
                          },
                          "unitTax": {
                            "type": "string",
                            "nullable": true
                          },
                          "totalNet": {
                            "type": "string",
                            "nullable": true
                          },
                          "totalGross": {
                            "type": "string",
                            "nullable": true
                          },
                          "totalTax": {
                            "type": "string",
                            "nullable": true
                          }
                        },
                        "required": [
                          "productId",
                          "variantId",
                          "variantName",
                          "coverUrl",
                          "quantity",
                          "deliveryMethod",
                          "appliedTaxRate",
                          "unitNet",
                          "unitGross",
                          "unitTax",
                          "totalNet",
                          "totalGross",
                          "totalTax"
                        ]
                      }
                    }
                  },
                  "required": [
                    "id",
                    "storeId",
                    "customerId",
                    "reference",
                    "amount",
                    "currencyCode",
                    "paymentStatus",
                    "shippingStatus",
                    "stripeInvoiceUrl",
                    "shippingTrackingUrl",
                    "shippingAddress",
                    "billingAddress",
                    "createdAt",
                    "updatedAt",
                    "items"
                  ],
                  "nullable": true
                }
              },
              "required": [
                "id",
                "stripeId",
                "status",
                "activeSince",
                "currentPeriodEnd",
                "cancelAtPeriodEnd",
                "latestInvoiceId",
                "latestInvoiceUrl",
                "trialStart",
                "trialEnd",
                "createdAt",
                "updatedAt",
                "order"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Customer Subscriptions",
        "description": "Paginated list of customer subscriptions."
      },
      "CustomerSubscriptionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "stripeId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "activeSince": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "currentPeriodEnd": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "cancelAtPeriodEnd": {
            "type": "boolean",
            "nullable": true
          },
          "latestInvoiceId": {
            "type": "string",
            "nullable": true
          },
          "latestInvoiceUrl": {
            "type": "string",
            "nullable": true
          },
          "trialStart": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "trialEnd": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "order": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "storeId": {
                "type": "string",
                "format": "uuid"
              },
              "customerId": {
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "reference": {
                "type": "integer",
                "nullable": true
              },
              "amount": {
                "type": "string",
                "nullable": true
              },
              "currencyCode": {
                "type": "string"
              },
              "paymentStatus": {
                "type": "string"
              },
              "shippingStatus": {
                "type": "string",
                "nullable": true
              },
              "stripeInvoiceUrl": {
                "type": "string",
                "nullable": true
              },
              "shippingTrackingUrl": {
                "type": "string",
                "nullable": true
              },
              "shippingAddress": {
                "type": "object",
                "properties": {
                  "fullName": {
                    "type": "string",
                    "minLength": 2
                  },
                  "company": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "addressLine1": {
                    "type": "string",
                    "minLength": 3
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string",
                    "minLength": 2
                  },
                  "province": {
                    "type": "string"
                  },
                  "postalCode": {
                    "type": "string",
                    "minLength": 3
                  },
                  "countryCode": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 2
                  },
                  "vatCode": {
                    "type": "string",
                    "maxLength": 32,
                    "nullable": true
                  },
                  "additionalInfo": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 255
                  }
                },
                "required": [
                  "fullName",
                  "addressLine1",
                  "city",
                  "postalCode",
                  "countryCode"
                ],
                "additionalProperties": false
              },
              "billingAddress": {
                "type": "object",
                "properties": {
                  "fullName": {
                    "type": "string",
                    "minLength": 2
                  },
                  "company": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "addressLine1": {
                    "type": "string",
                    "minLength": 3
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string",
                    "minLength": 2
                  },
                  "province": {
                    "type": "string"
                  },
                  "postalCode": {
                    "type": "string",
                    "minLength": 3
                  },
                  "countryCode": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 2
                  },
                  "vatCode": {
                    "type": "string",
                    "maxLength": 32,
                    "nullable": true
                  },
                  "additionalInfo": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 255
                  }
                },
                "required": [
                  "fullName",
                  "addressLine1",
                  "city",
                  "postalCode",
                  "countryCode"
                ],
                "additionalProperties": false
              },
              "promotionSnapshot": {
                "nullable": true
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "productId": {
                      "type": "string",
                      "format": "uuid",
                      "nullable": true
                    },
                    "variantId": {
                      "type": "string",
                      "format": "uuid",
                      "nullable": true
                    },
                    "variantName": {
                      "type": "string",
                      "nullable": true
                    },
                    "coverUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "quantity": {
                      "type": "number",
                      "nullable": true
                    },
                    "deliveryMethod": {
                      "type": "string",
                      "nullable": true
                    },
                    "appliedTaxRate": {
                      "type": "number",
                      "nullable": true
                    },
                    "unitNet": {
                      "type": "string",
                      "nullable": true
                    },
                    "unitGross": {
                      "type": "string",
                      "nullable": true
                    },
                    "unitTax": {
                      "type": "string",
                      "nullable": true
                    },
                    "totalNet": {
                      "type": "string",
                      "nullable": true
                    },
                    "totalGross": {
                      "type": "string",
                      "nullable": true
                    },
                    "totalTax": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "productId",
                    "variantId",
                    "variantName",
                    "coverUrl",
                    "quantity",
                    "deliveryMethod",
                    "appliedTaxRate",
                    "unitNet",
                    "unitGross",
                    "unitTax",
                    "totalNet",
                    "totalGross",
                    "totalTax"
                  ]
                }
              }
            },
            "required": [
              "id",
              "storeId",
              "customerId",
              "reference",
              "amount",
              "currencyCode",
              "paymentStatus",
              "shippingStatus",
              "stripeInvoiceUrl",
              "shippingTrackingUrl",
              "shippingAddress",
              "billingAddress",
              "createdAt",
              "updatedAt",
              "items"
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "stripeId",
          "status",
          "activeSince",
          "currentPeriodEnd",
          "cancelAtPeriodEnd",
          "latestInvoiceId",
          "latestInvoiceUrl",
          "trialStart",
          "trialEnd",
          "createdAt",
          "updatedAt",
          "order"
        ],
        "title": "Customer Subscription",
        "description": "A single customer subscription."
      },
      "CustomerOrderResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "customerId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "reference": {
            "type": "integer",
            "nullable": true
          },
          "amount": {
            "type": "string",
            "nullable": true
          },
          "currencyCode": {
            "type": "string"
          },
          "paymentStatus": {
            "type": "string"
          },
          "shippingStatus": {
            "type": "string",
            "nullable": true
          },
          "stripeInvoiceUrl": {
            "type": "string",
            "nullable": true
          },
          "shippingTrackingUrl": {
            "type": "string",
            "nullable": true
          },
          "shippingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "billingAddress": {
            "type": "object",
            "properties": {
              "fullName": {
                "type": "string",
                "minLength": 2
              },
              "company": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string",
                "minLength": 3
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string",
                "minLength": 2
              },
              "province": {
                "type": "string"
              },
              "postalCode": {
                "type": "string",
                "minLength": 3
              },
              "countryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "vatCode": {
                "type": "string",
                "maxLength": 32,
                "nullable": true
              },
              "additionalInfo": {
                "type": "string",
                "minLength": 0,
                "maxLength": 255
              }
            },
            "required": [
              "fullName",
              "addressLine1",
              "city",
              "postalCode",
              "countryCode"
            ],
            "additionalProperties": false
          },
          "promotionSnapshot": {
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "variantId": {
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "variantName": {
                  "type": "string",
                  "nullable": true
                },
                "coverUrl": {
                  "type": "string",
                  "nullable": true
                },
                "quantity": {
                  "type": "number",
                  "nullable": true
                },
                "deliveryMethod": {
                  "type": "string",
                  "nullable": true
                },
                "appliedTaxRate": {
                  "type": "number",
                  "nullable": true
                },
                "unitNet": {
                  "type": "string",
                  "nullable": true
                },
                "unitGross": {
                  "type": "string",
                  "nullable": true
                },
                "unitTax": {
                  "type": "string",
                  "nullable": true
                },
                "totalNet": {
                  "type": "string",
                  "nullable": true
                },
                "totalGross": {
                  "type": "string",
                  "nullable": true
                },
                "totalTax": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "productId",
                "variantId",
                "variantName",
                "coverUrl",
                "quantity",
                "deliveryMethod",
                "appliedTaxRate",
                "unitNet",
                "unitGross",
                "unitTax",
                "totalNet",
                "totalGross",
                "totalTax"
              ]
            }
          }
        },
        "required": [
          "id",
          "storeId",
          "customerId",
          "reference",
          "amount",
          "currencyCode",
          "paymentStatus",
          "shippingStatus",
          "stripeInvoiceUrl",
          "shippingTrackingUrl",
          "shippingAddress",
          "billingAddress",
          "createdAt",
          "updatedAt",
          "items"
        ],
        "title": "Customer Order",
        "description": "A single customer order."
      },
      "SubscriptionListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "customerId": {
                  "type": "string",
                  "format": "uuid"
                },
                "stripeId": {
                  "type": "string",
                  "nullable": true
                },
                "stripeCustomerId": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string"
                },
                "activeSince": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "currentPeriodEnd": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "cancelAtPeriodEnd": {
                  "type": "boolean"
                },
                "latestInvoiceId": {
                  "type": "string",
                  "nullable": true
                },
                "latestInvoiceUrl": {
                  "type": "string",
                  "nullable": true
                },
                "trialStart": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "trialEnd": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "customerEmail": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "storeId",
                "customerId",
                "stripeId",
                "stripeCustomerId",
                "status",
                "activeSince",
                "currentPeriodEnd",
                "cancelAtPeriodEnd",
                "latestInvoiceId",
                "latestInvoiceUrl",
                "trialStart",
                "trialEnd",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Subscription List Response"
      },
      "SubscriptionResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "customerId": {
            "type": "string",
            "format": "uuid"
          },
          "stripeId": {
            "type": "string",
            "nullable": true
          },
          "stripeCustomerId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "activeSince": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "currentPeriodEnd": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "cancelAtPeriodEnd": {
            "type": "boolean"
          },
          "latestInvoiceId": {
            "type": "string",
            "nullable": true
          },
          "latestInvoiceUrl": {
            "type": "string",
            "nullable": true
          },
          "trialStart": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "trialEnd": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "customerEmail": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "storeId",
          "customerId",
          "stripeId",
          "stripeCustomerId",
          "status",
          "activeSince",
          "currentPeriodEnd",
          "cancelAtPeriodEnd",
          "latestInvoiceId",
          "latestInvoiceUrl",
          "trialStart",
          "trialEnd",
          "createdAt",
          "updatedAt"
        ],
        "title": "Subscription Response"
      },
      "TagListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "label": {
                  "type": "string",
                  "nullable": true
                },
                "position": {
                  "type": "number"
                },
                "filterable": {
                  "type": "boolean"
                },
                "sortable": {
                  "type": "boolean"
                },
                "relevant": {
                  "type": "boolean"
                },
                "icon": {
                  "type": "string",
                  "nullable": true
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "brand",
                    "color",
                    "size",
                    "material",
                    "pattern",
                    "gender",
                    "age_group",
                    "condition",
                    "energy_class",
                    "manufacturer",
                    "model",
                    "product_type"
                  ]
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "string",
                    "number",
                    "date"
                  ]
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "year",
                    "month-year",
                    "date",
                    "datetime",
                    "datetime+tz"
                  ]
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "nullable": true
                      },
                      "label": {
                        "type": "string",
                        "nullable": true
                      }
                    }
                  }
                }
              },
              "required": [
                "id",
                "storeId",
                "name",
                "position",
                "filterable",
                "sortable",
                "relevant",
                "role",
                "type",
                "format"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Tag List Response"
      },
      "TagResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "position": {
            "type": "number"
          },
          "filterable": {
            "type": "boolean"
          },
          "sortable": {
            "type": "boolean"
          },
          "relevant": {
            "type": "boolean"
          },
          "icon": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "enum": [
              "brand",
              "color",
              "size",
              "material",
              "pattern",
              "gender",
              "age_group",
              "condition",
              "energy_class",
              "manufacturer",
              "model",
              "product_type"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "string",
              "number",
              "date"
            ]
          },
          "format": {
            "type": "string",
            "enum": [
              "year",
              "month-year",
              "date",
              "datetime",
              "datetime+tz"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "label": {
                  "type": "string",
                  "nullable": true
                }
              }
            }
          }
        },
        "required": [
          "id",
          "storeId",
          "name",
          "position",
          "filterable",
          "sortable",
          "relevant",
          "role",
          "type",
          "format"
        ],
        "title": "Tag Response"
      },
      "CreateManyTagsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                },
                "label": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100
                },
                "filterable": {
                  "default": false,
                  "type": "boolean"
                },
                "sortable": {
                  "default": false,
                  "type": "boolean"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "string",
                    "number",
                    "date"
                  ]
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "year",
                    "month-year",
                    "date",
                    "datetime",
                    "datetime+tz"
                  ]
                },
                "position": {
                  "default": 0,
                  "type": "number"
                },
                "relevant": {
                  "default": false,
                  "type": "boolean"
                },
                "icon": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "brand",
                    "color",
                    "size",
                    "material",
                    "pattern",
                    "gender",
                    "age_group",
                    "condition",
                    "energy_class",
                    "manufacturer",
                    "model",
                    "product_type"
                  ],
                  "nullable": true
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      },
                      "label": {
                        "type": "string",
                        "minLength": 0,
                        "maxLength": 100
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                }
              },
              "required": [
                "name",
                "type"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Batch Create Tags"
      },
      "DeleteManyTagInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Batch Delete Tags"
      },
      "CreateTagInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "label": {
            "type": "string",
            "minLength": 0,
            "maxLength": 100
          },
          "filterable": {
            "default": false,
            "type": "boolean"
          },
          "sortable": {
            "default": false,
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "string",
              "number",
              "date"
            ]
          },
          "format": {
            "type": "string",
            "enum": [
              "year",
              "month-year",
              "date",
              "datetime",
              "datetime+tz"
            ]
          },
          "position": {
            "default": 0,
            "type": "number"
          },
          "relevant": {
            "default": false,
            "type": "boolean"
          },
          "icon": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "role": {
            "type": "string",
            "enum": [
              "brand",
              "color",
              "size",
              "material",
              "pattern",
              "gender",
              "age_group",
              "condition",
              "energy_class",
              "manufacturer",
              "model",
              "product_type"
            ],
            "nullable": true
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "label": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "required": [
          "name",
          "type"
        ],
        "additionalProperties": false,
        "title": "Create Tag"
      },
      "UpdateManyTagsInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                },
                "label": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100
                },
                "filterable": {
                  "default": false,
                  "type": "boolean"
                },
                "sortable": {
                  "default": false,
                  "type": "boolean"
                },
                "format": {
                  "type": "string",
                  "enum": [
                    "year",
                    "month-year",
                    "date",
                    "datetime",
                    "datetime+tz"
                  ]
                },
                "position": {
                  "default": 0,
                  "type": "number"
                },
                "relevant": {
                  "default": false,
                  "type": "boolean"
                },
                "icon": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "brand",
                    "color",
                    "size",
                    "material",
                    "pattern",
                    "gender",
                    "age_group",
                    "condition",
                    "energy_class",
                    "manufacturer",
                    "model",
                    "product_type"
                  ],
                  "nullable": true
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      },
                      "label": {
                        "type": "string",
                        "minLength": 0,
                        "maxLength": 100
                      }
                    },
                    "required": [
                      "name"
                    ]
                  }
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Batch Update Tags"
      },
      "UpdateTagInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "label": {
            "type": "string",
            "minLength": 0,
            "maxLength": 100
          },
          "filterable": {
            "default": false,
            "type": "boolean"
          },
          "sortable": {
            "default": false,
            "type": "boolean"
          },
          "format": {
            "type": "string",
            "enum": [
              "year",
              "month-year",
              "date",
              "datetime",
              "datetime+tz"
            ]
          },
          "position": {
            "default": 0,
            "type": "number"
          },
          "relevant": {
            "default": false,
            "type": "boolean"
          },
          "icon": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "role": {
            "type": "string",
            "enum": [
              "brand",
              "color",
              "size",
              "material",
              "pattern",
              "gender",
              "age_group",
              "condition",
              "energy_class",
              "manufacturer",
              "model",
              "product_type"
            ],
            "nullable": true
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "label": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "additionalProperties": false,
        "title": "Update Tag"
      },
      "TagValueListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "tagId": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "value": {
                  "type": "string"
                },
                "alias": {
                  "type": "string",
                  "nullable": true
                },
                "visible": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "value": {
                        "type": "string"
                      },
                      "alias": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "value",
                      "alias"
                    ]
                  }
                }
              },
              "required": [
                "id",
                "tagId",
                "storeId",
                "value",
                "alias",
                "visible",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "TagValue List Response"
      },
      "TagValueResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "tagId": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "value": {
            "type": "string"
          },
          "alias": {
            "type": "string",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "alias": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "value",
                "alias"
              ]
            }
          }
        },
        "required": [
          "id",
          "tagId",
          "storeId",
          "value",
          "alias",
          "visible",
          "createdAt",
          "updatedAt"
        ],
        "title": "TagValue Response"
      },
      "CreateManyTagValuesInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tagId": {
                  "type": "string",
                  "format": "uuid"
                },
                "value": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "alias": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "visible": {
                  "default": false,
                  "type": "boolean"
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "value": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64
                      },
                      "alias": {
                        "type": "string",
                        "minLength": 0,
                        "maxLength": 64
                      }
                    },
                    "required": [
                      "value"
                    ]
                  }
                }
              },
              "required": [
                "tagId",
                "value"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Batch Create Tag Values"
      },
      "DeleteManyTagValueInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "title": "Batch Delete Tag Values"
      },
      "CreateTagValueInputDTO": {
        "type": "object",
        "properties": {
          "tagId": {
            "type": "string",
            "format": "uuid"
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "alias": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "visible": {
            "default": false,
            "type": "boolean"
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "alias": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 64
                }
              },
              "required": [
                "value"
              ]
            }
          }
        },
        "required": [
          "tagId",
          "value"
        ],
        "additionalProperties": false,
        "title": "Create Tag Value"
      },
      "UpdateManyTagValuesInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "alias": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "visible": {
                  "default": false,
                  "type": "boolean"
                },
                "translations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "value": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64
                      },
                      "alias": {
                        "type": "string",
                        "minLength": 0,
                        "maxLength": 64
                      }
                    },
                    "required": [
                      "value"
                    ]
                  }
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Batch Update Tag Values"
      },
      "UpdateTagValueInputDTO": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "alias": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "visible": {
            "default": false,
            "type": "boolean"
          },
          "translations": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "alias": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 64
                }
              },
              "required": [
                "value"
              ]
            }
          }
        },
        "additionalProperties": false,
        "title": "Update Tag Value"
      },
      "TaxZoneListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "label": {
                  "type": "string"
                },
                "rate": {
                  "type": "number"
                },
                "countryCode": {
                  "type": "string",
                  "enum": [
                    "AF",
                    "AX",
                    "AL",
                    "DZ",
                    "AS",
                    "AD",
                    "AO",
                    "AI",
                    "AQ",
                    "AG",
                    "AR",
                    "AM",
                    "AW",
                    "AU",
                    "AT",
                    "AZ",
                    "BS",
                    "BH",
                    "BD",
                    "BB",
                    "BY",
                    "BE",
                    "BZ",
                    "BJ",
                    "BM",
                    "BT",
                    "BO",
                    "BQ",
                    "BA",
                    "BW",
                    "BV",
                    "BR",
                    "IO",
                    "BN",
                    "BG",
                    "BF",
                    "BI",
                    "CV",
                    "KH",
                    "CM",
                    "CA",
                    "KY",
                    "CF",
                    "TD",
                    "CL",
                    "CN",
                    "CX",
                    "CC",
                    "CO",
                    "KM",
                    "CG",
                    "CD",
                    "CK",
                    "CR",
                    "CI",
                    "HR",
                    "CU",
                    "CW",
                    "CY",
                    "CZ",
                    "DK",
                    "DJ",
                    "DM",
                    "DO",
                    "EC",
                    "EG",
                    "SV",
                    "GQ",
                    "ER",
                    "EE",
                    "ET",
                    "FK",
                    "FO",
                    "FJ",
                    "FI",
                    "FR",
                    "GF",
                    "PF",
                    "TF",
                    "GA",
                    "GM",
                    "GE",
                    "DE",
                    "GH",
                    "GI",
                    "GR",
                    "GL",
                    "GD",
                    "GP",
                    "GU",
                    "GT",
                    "GG",
                    "GN",
                    "GW",
                    "GY",
                    "HT",
                    "HM",
                    "VA",
                    "HN",
                    "HK",
                    "HU",
                    "IS",
                    "IN",
                    "ID",
                    "IR",
                    "IQ",
                    "IE",
                    "IM",
                    "IL",
                    "IT",
                    "JM",
                    "JP",
                    "JE",
                    "JO",
                    "KZ",
                    "KE",
                    "KI",
                    "KP",
                    "KR",
                    "KW",
                    "KG",
                    "LA",
                    "LV",
                    "LB",
                    "LS",
                    "LR",
                    "LY",
                    "LI",
                    "LT",
                    "LU",
                    "MO",
                    "MK",
                    "MG",
                    "MW",
                    "MY",
                    "MV",
                    "ML",
                    "MT",
                    "MH",
                    "MQ",
                    "MR",
                    "MU",
                    "YT",
                    "MX",
                    "FM",
                    "MD",
                    "MC",
                    "MN",
                    "ME",
                    "MS",
                    "MA",
                    "MZ",
                    "MM",
                    "NA",
                    "NR",
                    "NP",
                    "NL",
                    "NC",
                    "NZ",
                    "NI",
                    "NE",
                    "NG",
                    "NU",
                    "NF",
                    "MP",
                    "NO",
                    "OM",
                    "PK",
                    "PW",
                    "PS",
                    "PA",
                    "PG",
                    "PY",
                    "PE",
                    "PH",
                    "PN",
                    "PL",
                    "PT",
                    "PR",
                    "QA",
                    "RE",
                    "RO",
                    "RU",
                    "RW",
                    "BL",
                    "SH",
                    "KN",
                    "LC",
                    "MF",
                    "PM",
                    "VC",
                    "WS",
                    "SM",
                    "ST",
                    "SA",
                    "SN",
                    "RS",
                    "SC",
                    "SL",
                    "SG",
                    "SX",
                    "SK",
                    "SI",
                    "SB",
                    "SO",
                    "ZA",
                    "GS",
                    "SS",
                    "ES",
                    "LK",
                    "SD",
                    "SR",
                    "SJ",
                    "SZ",
                    "SE",
                    "CH",
                    "SY",
                    "TW",
                    "TJ",
                    "TZ",
                    "TH",
                    "TL",
                    "TG",
                    "TK",
                    "TO",
                    "TT",
                    "TN",
                    "TR",
                    "TM",
                    "TC",
                    "TV",
                    "UG",
                    "UA",
                    "AE",
                    "GB",
                    "US",
                    "UM",
                    "UY",
                    "UZ",
                    "VU",
                    "VE",
                    "VN",
                    "VG",
                    "VI",
                    "WF",
                    "EH",
                    "YE",
                    "ZM",
                    "ZW"
                  ]
                },
                "isDefault": {
                  "type": "boolean"
                },
                "stripeTaxRateId": {
                  "type": "string",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "label",
                "rate",
                "countryCode",
                "isDefault"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Tax Zone List Response"
      },
      "TaxZoneResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "label": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "countryCode": {
            "type": "string",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "isDefault": {
            "type": "boolean"
          },
          "stripeTaxRateId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "id",
          "label",
          "rate",
          "countryCode",
          "isDefault"
        ],
        "title": "Tax Zone Response"
      },
      "CreateManyTaxZonesInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 100
                },
                "rate": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "stripeId": {
                  "type": "string"
                },
                "countryCode": {
                  "type": "string",
                  "enum": [
                    "AF",
                    "AX",
                    "AL",
                    "DZ",
                    "AS",
                    "AD",
                    "AO",
                    "AI",
                    "AQ",
                    "AG",
                    "AR",
                    "AM",
                    "AW",
                    "AU",
                    "AT",
                    "AZ",
                    "BS",
                    "BH",
                    "BD",
                    "BB",
                    "BY",
                    "BE",
                    "BZ",
                    "BJ",
                    "BM",
                    "BT",
                    "BO",
                    "BQ",
                    "BA",
                    "BW",
                    "BV",
                    "BR",
                    "IO",
                    "BN",
                    "BG",
                    "BF",
                    "BI",
                    "CV",
                    "KH",
                    "CM",
                    "CA",
                    "KY",
                    "CF",
                    "TD",
                    "CL",
                    "CN",
                    "CX",
                    "CC",
                    "CO",
                    "KM",
                    "CG",
                    "CD",
                    "CK",
                    "CR",
                    "CI",
                    "HR",
                    "CU",
                    "CW",
                    "CY",
                    "CZ",
                    "DK",
                    "DJ",
                    "DM",
                    "DO",
                    "EC",
                    "EG",
                    "SV",
                    "GQ",
                    "ER",
                    "EE",
                    "ET",
                    "FK",
                    "FO",
                    "FJ",
                    "FI",
                    "FR",
                    "GF",
                    "PF",
                    "TF",
                    "GA",
                    "GM",
                    "GE",
                    "DE",
                    "GH",
                    "GI",
                    "GR",
                    "GL",
                    "GD",
                    "GP",
                    "GU",
                    "GT",
                    "GG",
                    "GN",
                    "GW",
                    "GY",
                    "HT",
                    "HM",
                    "VA",
                    "HN",
                    "HK",
                    "HU",
                    "IS",
                    "IN",
                    "ID",
                    "IR",
                    "IQ",
                    "IE",
                    "IM",
                    "IL",
                    "IT",
                    "JM",
                    "JP",
                    "JE",
                    "JO",
                    "KZ",
                    "KE",
                    "KI",
                    "KP",
                    "KR",
                    "KW",
                    "KG",
                    "LA",
                    "LV",
                    "LB",
                    "LS",
                    "LR",
                    "LY",
                    "LI",
                    "LT",
                    "LU",
                    "MO",
                    "MK",
                    "MG",
                    "MW",
                    "MY",
                    "MV",
                    "ML",
                    "MT",
                    "MH",
                    "MQ",
                    "MR",
                    "MU",
                    "YT",
                    "MX",
                    "FM",
                    "MD",
                    "MC",
                    "MN",
                    "ME",
                    "MS",
                    "MA",
                    "MZ",
                    "MM",
                    "NA",
                    "NR",
                    "NP",
                    "NL",
                    "NC",
                    "NZ",
                    "NI",
                    "NE",
                    "NG",
                    "NU",
                    "NF",
                    "MP",
                    "NO",
                    "OM",
                    "PK",
                    "PW",
                    "PS",
                    "PA",
                    "PG",
                    "PY",
                    "PE",
                    "PH",
                    "PN",
                    "PL",
                    "PT",
                    "PR",
                    "QA",
                    "RE",
                    "RO",
                    "RU",
                    "RW",
                    "BL",
                    "SH",
                    "KN",
                    "LC",
                    "MF",
                    "PM",
                    "VC",
                    "WS",
                    "SM",
                    "ST",
                    "SA",
                    "SN",
                    "RS",
                    "SC",
                    "SL",
                    "SG",
                    "SX",
                    "SK",
                    "SI",
                    "SB",
                    "SO",
                    "ZA",
                    "GS",
                    "SS",
                    "ES",
                    "LK",
                    "SD",
                    "SR",
                    "SJ",
                    "SZ",
                    "SE",
                    "CH",
                    "SY",
                    "TW",
                    "TJ",
                    "TZ",
                    "TH",
                    "TL",
                    "TG",
                    "TK",
                    "TO",
                    "TT",
                    "TN",
                    "TR",
                    "TM",
                    "TC",
                    "TV",
                    "UG",
                    "UA",
                    "AE",
                    "GB",
                    "US",
                    "UM",
                    "UY",
                    "UZ",
                    "VU",
                    "VE",
                    "VN",
                    "VG",
                    "VI",
                    "WF",
                    "EH",
                    "YE",
                    "ZM",
                    "ZW"
                  ]
                },
                "isDefault": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "label",
                "rate"
              ],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Batch Create Tax Zones"
      },
      "TaxZoneBulkResponseDTO": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid"
            },
            "label": {
              "type": "string"
            },
            "rate": {
              "type": "number"
            },
            "countryCode": {
              "type": "string",
              "enum": [
                "AF",
                "AX",
                "AL",
                "DZ",
                "AS",
                "AD",
                "AO",
                "AI",
                "AQ",
                "AG",
                "AR",
                "AM",
                "AW",
                "AU",
                "AT",
                "AZ",
                "BS",
                "BH",
                "BD",
                "BB",
                "BY",
                "BE",
                "BZ",
                "BJ",
                "BM",
                "BT",
                "BO",
                "BQ",
                "BA",
                "BW",
                "BV",
                "BR",
                "IO",
                "BN",
                "BG",
                "BF",
                "BI",
                "CV",
                "KH",
                "CM",
                "CA",
                "KY",
                "CF",
                "TD",
                "CL",
                "CN",
                "CX",
                "CC",
                "CO",
                "KM",
                "CG",
                "CD",
                "CK",
                "CR",
                "CI",
                "HR",
                "CU",
                "CW",
                "CY",
                "CZ",
                "DK",
                "DJ",
                "DM",
                "DO",
                "EC",
                "EG",
                "SV",
                "GQ",
                "ER",
                "EE",
                "ET",
                "FK",
                "FO",
                "FJ",
                "FI",
                "FR",
                "GF",
                "PF",
                "TF",
                "GA",
                "GM",
                "GE",
                "DE",
                "GH",
                "GI",
                "GR",
                "GL",
                "GD",
                "GP",
                "GU",
                "GT",
                "GG",
                "GN",
                "GW",
                "GY",
                "HT",
                "HM",
                "VA",
                "HN",
                "HK",
                "HU",
                "IS",
                "IN",
                "ID",
                "IR",
                "IQ",
                "IE",
                "IM",
                "IL",
                "IT",
                "JM",
                "JP",
                "JE",
                "JO",
                "KZ",
                "KE",
                "KI",
                "KP",
                "KR",
                "KW",
                "KG",
                "LA",
                "LV",
                "LB",
                "LS",
                "LR",
                "LY",
                "LI",
                "LT",
                "LU",
                "MO",
                "MK",
                "MG",
                "MW",
                "MY",
                "MV",
                "ML",
                "MT",
                "MH",
                "MQ",
                "MR",
                "MU",
                "YT",
                "MX",
                "FM",
                "MD",
                "MC",
                "MN",
                "ME",
                "MS",
                "MA",
                "MZ",
                "MM",
                "NA",
                "NR",
                "NP",
                "NL",
                "NC",
                "NZ",
                "NI",
                "NE",
                "NG",
                "NU",
                "NF",
                "MP",
                "NO",
                "OM",
                "PK",
                "PW",
                "PS",
                "PA",
                "PG",
                "PY",
                "PE",
                "PH",
                "PN",
                "PL",
                "PT",
                "PR",
                "QA",
                "RE",
                "RO",
                "RU",
                "RW",
                "BL",
                "SH",
                "KN",
                "LC",
                "MF",
                "PM",
                "VC",
                "WS",
                "SM",
                "ST",
                "SA",
                "SN",
                "RS",
                "SC",
                "SL",
                "SG",
                "SX",
                "SK",
                "SI",
                "SB",
                "SO",
                "ZA",
                "GS",
                "SS",
                "ES",
                "LK",
                "SD",
                "SR",
                "SJ",
                "SZ",
                "SE",
                "CH",
                "SY",
                "TW",
                "TJ",
                "TZ",
                "TH",
                "TL",
                "TG",
                "TK",
                "TO",
                "TT",
                "TN",
                "TR",
                "TM",
                "TC",
                "TV",
                "UG",
                "UA",
                "AE",
                "GB",
                "US",
                "UM",
                "UY",
                "UZ",
                "VU",
                "VE",
                "VN",
                "VG",
                "VI",
                "WF",
                "EH",
                "YE",
                "ZM",
                "ZW"
              ]
            },
            "isDefault": {
              "type": "boolean"
            },
            "stripeTaxRateId": {
              "type": "string",
              "nullable": true
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            }
          },
          "required": [
            "id",
            "label",
            "rate",
            "countryCode",
            "isDefault"
          ]
        },
        "title": "Tax Zone Bulk Response"
      },
      "DeleteManyTaxZonesInputDTO": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "minItems": 1
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false,
        "title": "Batch Delete Tax Zones"
      },
      "CreateTaxZoneInputDTO": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "minLength": 3,
            "maxLength": 100
          },
          "rate": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "stripeId": {
            "type": "string"
          },
          "countryCode": {
            "type": "string",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "isDefault": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "label",
          "rate"
        ],
        "additionalProperties": false,
        "title": "Create Tax Zone"
      },
      "UpdateManyTaxZonesInputDTO": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 100
                },
                "rate": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "stripeId": {
                  "type": "string"
                },
                "countryCode": {
                  "type": "string",
                  "enum": [
                    "AF",
                    "AX",
                    "AL",
                    "DZ",
                    "AS",
                    "AD",
                    "AO",
                    "AI",
                    "AQ",
                    "AG",
                    "AR",
                    "AM",
                    "AW",
                    "AU",
                    "AT",
                    "AZ",
                    "BS",
                    "BH",
                    "BD",
                    "BB",
                    "BY",
                    "BE",
                    "BZ",
                    "BJ",
                    "BM",
                    "BT",
                    "BO",
                    "BQ",
                    "BA",
                    "BW",
                    "BV",
                    "BR",
                    "IO",
                    "BN",
                    "BG",
                    "BF",
                    "BI",
                    "CV",
                    "KH",
                    "CM",
                    "CA",
                    "KY",
                    "CF",
                    "TD",
                    "CL",
                    "CN",
                    "CX",
                    "CC",
                    "CO",
                    "KM",
                    "CG",
                    "CD",
                    "CK",
                    "CR",
                    "CI",
                    "HR",
                    "CU",
                    "CW",
                    "CY",
                    "CZ",
                    "DK",
                    "DJ",
                    "DM",
                    "DO",
                    "EC",
                    "EG",
                    "SV",
                    "GQ",
                    "ER",
                    "EE",
                    "ET",
                    "FK",
                    "FO",
                    "FJ",
                    "FI",
                    "FR",
                    "GF",
                    "PF",
                    "TF",
                    "GA",
                    "GM",
                    "GE",
                    "DE",
                    "GH",
                    "GI",
                    "GR",
                    "GL",
                    "GD",
                    "GP",
                    "GU",
                    "GT",
                    "GG",
                    "GN",
                    "GW",
                    "GY",
                    "HT",
                    "HM",
                    "VA",
                    "HN",
                    "HK",
                    "HU",
                    "IS",
                    "IN",
                    "ID",
                    "IR",
                    "IQ",
                    "IE",
                    "IM",
                    "IL",
                    "IT",
                    "JM",
                    "JP",
                    "JE",
                    "JO",
                    "KZ",
                    "KE",
                    "KI",
                    "KP",
                    "KR",
                    "KW",
                    "KG",
                    "LA",
                    "LV",
                    "LB",
                    "LS",
                    "LR",
                    "LY",
                    "LI",
                    "LT",
                    "LU",
                    "MO",
                    "MK",
                    "MG",
                    "MW",
                    "MY",
                    "MV",
                    "ML",
                    "MT",
                    "MH",
                    "MQ",
                    "MR",
                    "MU",
                    "YT",
                    "MX",
                    "FM",
                    "MD",
                    "MC",
                    "MN",
                    "ME",
                    "MS",
                    "MA",
                    "MZ",
                    "MM",
                    "NA",
                    "NR",
                    "NP",
                    "NL",
                    "NC",
                    "NZ",
                    "NI",
                    "NE",
                    "NG",
                    "NU",
                    "NF",
                    "MP",
                    "NO",
                    "OM",
                    "PK",
                    "PW",
                    "PS",
                    "PA",
                    "PG",
                    "PY",
                    "PE",
                    "PH",
                    "PN",
                    "PL",
                    "PT",
                    "PR",
                    "QA",
                    "RE",
                    "RO",
                    "RU",
                    "RW",
                    "BL",
                    "SH",
                    "KN",
                    "LC",
                    "MF",
                    "PM",
                    "VC",
                    "WS",
                    "SM",
                    "ST",
                    "SA",
                    "SN",
                    "RS",
                    "SC",
                    "SL",
                    "SG",
                    "SX",
                    "SK",
                    "SI",
                    "SB",
                    "SO",
                    "ZA",
                    "GS",
                    "SS",
                    "ES",
                    "LK",
                    "SD",
                    "SR",
                    "SJ",
                    "SZ",
                    "SE",
                    "CH",
                    "SY",
                    "TW",
                    "TJ",
                    "TZ",
                    "TH",
                    "TL",
                    "TG",
                    "TK",
                    "TO",
                    "TT",
                    "TN",
                    "TR",
                    "TM",
                    "TC",
                    "TV",
                    "UG",
                    "UA",
                    "AE",
                    "GB",
                    "US",
                    "UM",
                    "UY",
                    "UZ",
                    "VU",
                    "VE",
                    "VN",
                    "VG",
                    "VI",
                    "WF",
                    "EH",
                    "YE",
                    "ZM",
                    "ZW"
                  ]
                },
                "isDefault": {
                  "default": false,
                  "type": "boolean"
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false,
        "title": "Batch Update Tax Zones"
      },
      "UpdateTaxZoneInputDTO": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "minLength": 3,
            "maxLength": 100
          },
          "rate": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "stripeId": {
            "type": "string"
          },
          "countryCode": {
            "type": "string",
            "enum": [
              "AF",
              "AX",
              "AL",
              "DZ",
              "AS",
              "AD",
              "AO",
              "AI",
              "AQ",
              "AG",
              "AR",
              "AM",
              "AW",
              "AU",
              "AT",
              "AZ",
              "BS",
              "BH",
              "BD",
              "BB",
              "BY",
              "BE",
              "BZ",
              "BJ",
              "BM",
              "BT",
              "BO",
              "BQ",
              "BA",
              "BW",
              "BV",
              "BR",
              "IO",
              "BN",
              "BG",
              "BF",
              "BI",
              "CV",
              "KH",
              "CM",
              "CA",
              "KY",
              "CF",
              "TD",
              "CL",
              "CN",
              "CX",
              "CC",
              "CO",
              "KM",
              "CG",
              "CD",
              "CK",
              "CR",
              "CI",
              "HR",
              "CU",
              "CW",
              "CY",
              "CZ",
              "DK",
              "DJ",
              "DM",
              "DO",
              "EC",
              "EG",
              "SV",
              "GQ",
              "ER",
              "EE",
              "ET",
              "FK",
              "FO",
              "FJ",
              "FI",
              "FR",
              "GF",
              "PF",
              "TF",
              "GA",
              "GM",
              "GE",
              "DE",
              "GH",
              "GI",
              "GR",
              "GL",
              "GD",
              "GP",
              "GU",
              "GT",
              "GG",
              "GN",
              "GW",
              "GY",
              "HT",
              "HM",
              "VA",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IR",
              "IQ",
              "IE",
              "IM",
              "IL",
              "IT",
              "JM",
              "JP",
              "JE",
              "JO",
              "KZ",
              "KE",
              "KI",
              "KP",
              "KR",
              "KW",
              "KG",
              "LA",
              "LV",
              "LB",
              "LS",
              "LR",
              "LY",
              "LI",
              "LT",
              "LU",
              "MO",
              "MK",
              "MG",
              "MW",
              "MY",
              "MV",
              "ML",
              "MT",
              "MH",
              "MQ",
              "MR",
              "MU",
              "YT",
              "MX",
              "FM",
              "MD",
              "MC",
              "MN",
              "ME",
              "MS",
              "MA",
              "MZ",
              "MM",
              "NA",
              "NR",
              "NP",
              "NL",
              "NC",
              "NZ",
              "NI",
              "NE",
              "NG",
              "NU",
              "NF",
              "MP",
              "NO",
              "OM",
              "PK",
              "PW",
              "PS",
              "PA",
              "PG",
              "PY",
              "PE",
              "PH",
              "PN",
              "PL",
              "PT",
              "PR",
              "QA",
              "RE",
              "RO",
              "RU",
              "RW",
              "BL",
              "SH",
              "KN",
              "LC",
              "MF",
              "PM",
              "VC",
              "WS",
              "SM",
              "ST",
              "SA",
              "SN",
              "RS",
              "SC",
              "SL",
              "SG",
              "SX",
              "SK",
              "SI",
              "SB",
              "SO",
              "ZA",
              "GS",
              "SS",
              "ES",
              "LK",
              "SD",
              "SR",
              "SJ",
              "SZ",
              "SE",
              "CH",
              "SY",
              "TW",
              "TJ",
              "TZ",
              "TH",
              "TL",
              "TG",
              "TK",
              "TO",
              "TT",
              "TN",
              "TR",
              "TM",
              "TC",
              "TV",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UM",
              "UY",
              "UZ",
              "VU",
              "VE",
              "VN",
              "VG",
              "VI",
              "WF",
              "EH",
              "YE",
              "ZM",
              "ZW"
            ]
          },
          "isDefault": {
            "default": false,
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "title": "Update Tax Zone"
      },
      "WarehouseListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "location": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "type": "string",
                  "nullable": true
                },
                "postalCode": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "province": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "contactPhone": {
                  "type": "string",
                  "nullable": true
                },
                "contactEmail": {
                  "type": "string",
                  "nullable": true
                },
                "note": {
                  "type": "string",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "id",
                "storeId",
                "name",
                "location",
                "address",
                "postalCode",
                "city",
                "province",
                "country",
                "contactPhone",
                "contactEmail",
                "note",
                "createdAt",
                "updatedAt"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Warehouse List Response"
      },
      "WarehouseResponseDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "storeId": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "province": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "contactPhone": {
            "type": "string",
            "nullable": true
          },
          "contactEmail": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "storeId",
          "name",
          "location",
          "address",
          "postalCode",
          "city",
          "province",
          "country",
          "contactPhone",
          "contactEmail",
          "note",
          "createdAt",
          "updatedAt"
        ],
        "title": "Warehouse Response"
      },
      "CreateWarehouseInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "location": {
            "type": "string",
            "maxLength": 256
          },
          "address": {
            "type": "string",
            "maxLength": 256
          },
          "postalCode": {
            "type": "string",
            "maxLength": 32
          },
          "city": {
            "type": "string",
            "maxLength": 64
          },
          "province": {
            "type": "string",
            "maxLength": 64
          },
          "country": {
            "type": "string",
            "maxLength": 64
          },
          "contactPhone": {
            "type": "string",
            "maxLength": 32
          },
          "contactEmail": {
            "type": "string",
            "format": "email",
            "maxLength": 128
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "title": "Create Warehouse"
      },
      "UpdateaVariantStockInputDTO": {
        "type": "object",
        "properties": {
          "updates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "warehouseId": {
                  "type": "string",
                  "format": "uuid"
                },
                "quantity": {
                  "type": "integer"
                },
                "increment": {
                  "type": "boolean"
                }
              },
              "required": [
                "variantId",
                "warehouseId",
                "quantity"
              ]
            },
            "minItems": 1
          }
        },
        "required": [
          "updates"
        ],
        "additionalProperties": false,
        "title": "Update Variant Stock",
        "description": "Update inventory levels for a specific variant within a warehouse."
      },
      "WarehouseStockUpdateResponseDTO": {
        "type": "object",
        "properties": {
          "updated": {
            "type": "number"
          }
        },
        "required": [
          "updated"
        ],
        "title": "Warehouse Stock Update Result"
      },
      "UpdateWarehouseInputDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "location": {
            "type": "string",
            "maxLength": 256
          },
          "address": {
            "type": "string",
            "maxLength": 256
          },
          "postalCode": {
            "type": "string",
            "maxLength": 32
          },
          "city": {
            "type": "string",
            "maxLength": 64
          },
          "province": {
            "type": "string",
            "maxLength": 64
          },
          "country": {
            "type": "string",
            "maxLength": 64
          },
          "contactPhone": {
            "type": "string",
            "maxLength": 32
          },
          "contactEmail": {
            "type": "string",
            "format": "email",
            "maxLength": 128
          },
          "note": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "title": "Update Warehouse"
      },
      "WarehouseVariantListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "variantId": {
                  "type": "string",
                  "format": "uuid"
                },
                "sku": {
                  "type": "string"
                },
                "isFavourite": {
                  "type": "boolean"
                },
                "quantity": {
                  "type": "number"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "productId": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "variantId",
                "sku",
                "isFavourite",
                "quantity",
                "createdAt",
                "updatedAt",
                "productId",
                "storeId"
              ]
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "total": {
                "type": "integer"
              },
              "totalPages": {
                "type": "integer"
              }
            },
            "required": [
              "page",
              "limit",
              "total",
              "totalPages"
            ]
          }
        },
        "required": [
          "data",
          "pagination"
        ],
        "title": "Warehouse Variant Stock List Response"
      },
      "WebhookConfigListResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "storeId": {
                  "type": "string",
                  "format": "uuid"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "events": {
                  "type": "string",
                  "enum": [
                    "store.customer.created",
                    "store.customer.updated",
                    "store.customer.deleted",
                    "store.customer.reset-password.request",
                    "store.customer.verify-email.request",
                    "store.customer.delete.request",
                    "store.customer.email.verified",
                    "store.customer.promotions.replaced",
                    "store.customer.lifetime-value.updated",
                    "store.customer.address.created",
                    "store.customer.address.updated",
                    "store.customer.address.deleted",
                    "store.customer.newsletter.subscribe.request",
                    "store.customer.newsletter.unsubscribe.request",
                    "store.customer.newsletter.subscribed",
                    "store.customer.newsletter.unsubscribed",
                    "product.created",
                    "product.updated",
                    "product.deleted",
                    "product.assets.replaced",
                    "product.attributes.replaced",
                    "product.tags.replaced",
                    "product.option-values.replaced",
                    "product.shipping-methods.replaced",
                    "product.shipping-zones.replaced",
                    "product.tax-zones.replaced",
                    "product-variant.created",
                    "product-variant.updated",
                    "product-variant.deleted",
                    "product-variant.assets.replaced",
                    "product-variant.attributes.replaced",
                    "product-variant.tags.replaced",
                    "product-variant.option-values.replaced",
                    "product-variant.shipping-methods.replaced",
                    "product-variant.shipping-zones.replaced",
                    "product-variant.tax-zones.replaced",
                    "product-variant.prices.replaced",
                    "product-variant.stock.updated",
                    "order.created",
                    "order.updated",
                    "order.canceled",
                    "order.deleted",
                    "order.dispute.updated",
                    "order.refund.updated",
                    "order.paid",
                    "order.payment-failed",
                    "order.payment-canceled",
                    "order.payment-partially-funded",
                    "order.payment-authorized",
                    "order-item.created",
                    "order-item.updated",
                    "order-item.deleted",
                    "order.promotion-usage.replaced",
                    "return-request.created",
                    "return-request.updated",
                    "return-request.deleted",
                    "return-request.guest-verify-requested"
                  ]
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "isActive": {
                  "type": "boolean"
                },
                "createdAt": {
                  "type": "string"
                },
                "updatedAt": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "storeId",
                "url",
                "events",
                "description",
                "isActive",
                "createdAt",
                "updatedAt"
              ]
            }
          }
        },
        "required": [
          "data"
        ],
        "title": "Webhook Config List"
      },
      "WebhookSuccessResponseDTO": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "Webhook Action Success"
      },
      "CreateWebhookInputDTO": {
        "type": "object",
        "properties": {
          "endpoint": {
            "type": "string"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "store.customer.created",
                "store.customer.updated",
                "store.customer.deleted",
                "store.customer.reset-password.request",
                "store.customer.verify-email.request",
                "store.customer.delete.request",
                "store.customer.email.verified",
                "store.customer.promotions.replaced",
                "store.customer.lifetime-value.updated",
                "store.customer.address.created",
                "store.customer.address.updated",
                "store.customer.address.deleted",
                "store.customer.newsletter.subscribe.request",
                "store.customer.newsletter.unsubscribe.request",
                "store.customer.newsletter.subscribed",
                "store.customer.newsletter.unsubscribed",
                "product.created",
                "product.updated",
                "product.deleted",
                "product.assets.replaced",
                "product.attributes.replaced",
                "product.tags.replaced",
                "product.option-values.replaced",
                "product.shipping-methods.replaced",
                "product.shipping-zones.replaced",
                "product.tax-zones.replaced",
                "product-variant.created",
                "product-variant.updated",
                "product-variant.deleted",
                "product-variant.assets.replaced",
                "product-variant.attributes.replaced",
                "product-variant.tags.replaced",
                "product-variant.option-values.replaced",
                "product-variant.shipping-methods.replaced",
                "product-variant.shipping-zones.replaced",
                "product-variant.tax-zones.replaced",
                "product-variant.prices.replaced",
                "product-variant.stock.updated",
                "order.created",
                "order.updated",
                "order.canceled",
                "order.deleted",
                "order.dispute.updated",
                "order.refund.updated",
                "order.paid",
                "order.payment-failed",
                "order.payment-canceled",
                "order.payment-partially-funded",
                "order.payment-authorized",
                "order-item.created",
                "order-item.updated",
                "order-item.deleted",
                "order.promotion-usage.replaced",
                "return-request.created",
                "return-request.updated",
                "return-request.deleted",
                "return-request.guest-verify-requested"
              ]
            }
          },
          "enabled": {
            "default": false,
            "type": "boolean"
          },
          "listenAllEvents": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "endpoint"
        ],
        "additionalProperties": false,
        "title": "Create Webhook"
      },
      "WebhookSecretResponseDTO": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "secret": {
                "type": "string"
              }
            },
            "required": [
              "secret"
            ]
          }
        },
        "required": [
          "data"
        ],
        "title": "Webhook Secret Response"
      },
      "UpdateWebhookInputDTO": {
        "type": "object",
        "properties": {
          "endpoint": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "listenAllEvents": {
            "type": "boolean"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "store.customer.created",
                "store.customer.updated",
                "store.customer.deleted",
                "store.customer.reset-password.request",
                "store.customer.verify-email.request",
                "store.customer.delete.request",
                "store.customer.email.verified",
                "store.customer.promotions.replaced",
                "store.customer.lifetime-value.updated",
                "store.customer.address.created",
                "store.customer.address.updated",
                "store.customer.address.deleted",
                "store.customer.newsletter.subscribe.request",
                "store.customer.newsletter.unsubscribe.request",
                "store.customer.newsletter.subscribed",
                "store.customer.newsletter.unsubscribed",
                "product.created",
                "product.updated",
                "product.deleted",
                "product.assets.replaced",
                "product.attributes.replaced",
                "product.tags.replaced",
                "product.option-values.replaced",
                "product.shipping-methods.replaced",
                "product.shipping-zones.replaced",
                "product.tax-zones.replaced",
                "product-variant.created",
                "product-variant.updated",
                "product-variant.deleted",
                "product-variant.assets.replaced",
                "product-variant.attributes.replaced",
                "product-variant.tags.replaced",
                "product-variant.option-values.replaced",
                "product-variant.shipping-methods.replaced",
                "product-variant.shipping-zones.replaced",
                "product-variant.tax-zones.replaced",
                "product-variant.prices.replaced",
                "product-variant.stock.updated",
                "order.created",
                "order.updated",
                "order.canceled",
                "order.deleted",
                "order.dispute.updated",
                "order.refund.updated",
                "order.paid",
                "order.payment-failed",
                "order.payment-canceled",
                "order.payment-partially-funded",
                "order.payment-authorized",
                "order-item.created",
                "order-item.updated",
                "order-item.deleted",
                "order.promotion-usage.replaced",
                "return-request.created",
                "return-request.updated",
                "return-request.deleted",
                "return-request.guest-verify-requested"
              ]
            }
          }
        },
        "required": [
          "endpoint",
          "enabled",
          "listenAllEvents",
          "events"
        ],
        "additionalProperties": false,
        "title": "Update Webhook"
      }
    }
  }
}